<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="/static/rss.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>61</id>
  <title>SemiAnalysis</title>
  <updated>2026-10-28T00:05:41+00:00</updated>
  <author>
    <name>Dylan Patel</name>
  </author>
  <link href="https://newsletter.semianalysis.com" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Bridging the gap between the world's most important industry, semiconductors, and business.</subtitle>
  <entry>
    <id>https://newsletter.semianalysis.com/p/amazons-trainium-takes-a-strike-at</id>
    <title>Amazon’s Trainium Takes a Strike at the Training King</title>
    <updated>2026-10-23T11:06:44+00:00</updated>
    <author>
      <name>Kimbo Chen</name>
    </author>
    <content type="html">&lt;p&gt;Trainium has already proven itself in the realm of inference. Anthropic is running production inference and RL rollouts on Trainium2 and Trainium3. Historically, Trainium has been great for inference but not the best fit for research training. In inference, the model architecture changes at a much slower pace compared to training, where researchers iterate on many different experiments and ablations of model architecture and need a stack that covers a broad API surface. In the past, that is where Trainium fell short.&lt;/p&gt;&lt;p&gt;The AWS Neuron team is aggressively working to change this pitfall with the biggest shift being moving towards a first-class, native PyTorch training experience. Gone are the days of sprinkling xm.step() through your training loop and wrestling with a bespoke XLA-style execution model. Trainium now runs PyTorch the way PyTorch users expect, in eager mode, with torch.compile and the standard APIs.&lt;/p&gt;&lt;p&gt;The SemiAnalysis engineering team has been trying out the Trainium3 racks for the past couple of weeks and has found the experience to be great &amp;#8211; we love the overall direction of where it is heading. To be clear, it isn&amp;#8217;t perfect yet, and we have personally run into a couple of bugs ourselves. It&amp;#8217;s nowhere close to the maturity of the CUDA ecosystem, but the direction is right. Their team is making rapid progress with the help of agentic coding.&lt;/p&gt;&lt;p&gt;Furthermore, unlike other accelerator companies, where we had to fight tooth and nail to get their engineers a reasonably stable CI fleet, Trainium uses up to 80,000 physical cores allocated towards automated quality control.&lt;/p&gt;&lt;p&gt;In this article, we walk through our experience on the Trainium3 TorchTitan and TorchNeuron stack, along with our experience of Trainium&amp;#8217;s Neuron Explorer profiler, which is way better than both Nvidia&amp;#8217;s and AMD&amp;#8217;s profilers. We created a bunch of demos to show how Trainium&amp;#8217;s profiler is &amp;#8220;GPU Impossible.&amp;#8221; &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hGVA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cf6ed-4bdd-4d53-9c2c-569ac56bb93c_1452x790.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="790" src="https://substackcdn.com/image/fetch/$s_!hGVA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cf6ed-4bdd-4d53-9c2c-569ac56bb93c_1452x790.png" title="" width="1452" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Nafea Bshara, VP at AWS In Trainium Profiler Showcasing Trainium&amp;#8217;s Finegrain Profiler. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;In an upcoming article, we will go deep on writing speed-of-light NKI kernels and microbenchmarking on Trainium3.&lt;/strong&gt; For our deep dive into the Trainium hardware, check out our previous article where we do a complete hardware breakdown.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kRLZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66643b53-8390-4e90-a3a2-e4d46fe6bf6f_1426x1367.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1367" src="https://substackcdn.com/image/fetch/$s_!kRLZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66643b53-8390-4e90-a3a2-e4d46fe6bf6f_1426x1367.png" width="1426" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;We Are Hiring&lt;/h1&gt;&lt;p&gt;SemiAnalysis is hiring for various Member of Technical Staff roles. If you find this type of analysis interesting, apply below:&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://app.dover.com/apply/SemiAnalysis/2a9c8da5-6d59-4ac8-8302-3877345dbce1?rs=55634680"&gt;&lt;span&gt;Apply Here&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What we&amp;#8217;re looking for:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Highly motivated &amp;amp; skilled Member of Technical Staff to join our growing engineering team.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Member of Technical Staff will play a crucial role in developing inference benchmarks &amp;amp; system modeling&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;You will also play a role in writing and preparing our newsletter articles for publishing, with the opportunity for direct authorship recognition.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;We are hiring individual contributors at all experience levels. Compensation will be competitive&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;As part of the interview process, you&amp;#8217;ll complete a paid coding challenge designed to reflect typical daily tasks at SemiAnalysis&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Competitive Compensation depending on experience, skillset, location &amp;amp; business needs&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Qualifications&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Proactive, self-motivated, and capable of working independently in a global team.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Demonstrated experience in ML frameworks such as PyTorch or JAX through professional experience, personal projects, or personal Substack blogs&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Solid understanding of at least 1 of the following: transformer architecture, LLM parallelism strategies, and/or CUDA parallel programming&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Strong research skills and the ability to synthesize information from various sources to draw insights.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;English language proficiency required, Chinese language proficiency preferred&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;Moving Towards a First-Class PyTorch Experience&lt;/h1&gt;&lt;p&gt;Amazon has made a major course correction to its software strategy, and we believe it will meaningfully broaden Trainium3 adoption. TorchNeuron represents a native PyTorch experience instead of duct-taping Trainium onto PyTorch through the PyTorch/XLA project. The new backend is aimed at everyone who isn&amp;#8217;t a frontier-lab kernel engineer. AWS has even hired the lead of Google&amp;#8217;s native Torch on TPU effort to work on native Torch for Trainium. He was the TPU SW lead from the start of the program at Google, including XLA, xprof, Cloud TPU, etc.&lt;/p&gt;&lt;p&gt;The old approach made Trainium feel foreign to anyone coming from CUDA. PyTorch/XLA relied on lazy tensor graph capture and had no first-class eager mode. It also didn&amp;#8217;t support PyTorch&amp;#8217;s native distributed APIs (torch.distributed.*) or its native parallelism APIs (DTensor, SimpleFSDP, DDP). Users had to rely on out-of-tree XLA SPMD APIs such as torch_xla.experimental.spmd_fsdp and torch_xla.distributed.spmd. For researchers who are used to native PyTorch on CUDA, switching to Trainium meant relearning how to write a training loop.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NSYi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb846e38-260b-4211-9146-390bebf520bc_1446x1012.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1012" src="https://substackcdn.com/image/fetch/$s_!NSYi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb846e38-260b-4211-9146-390bebf520bc_1446x1012.png" width="1446" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The pain of converting GPU research codebases by adding XLA markers everywhere was a massive turnoff to anyone who used PyTorch/XLA before.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IzTF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ccd20a-b8b7-435f-8802-4960c36062d9_1126x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!IzTF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ccd20a-b8b7-435f-8802-4960c36062d9_1126x668.png" width="1126" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;At a high level, the only change needed is replacing .to(&amp;#8221;cuda&amp;#8221;) with .to(&amp;#8221;neuron&amp;#8221;), and in theory the vast majority of the PyTorch ATen operators will work decently well out of the box.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OoTS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a8b8ec-1992-4b58-bb84-dc655d291eaf_526x329.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="329" src="https://substackcdn.com/image/fetch/$s_!OoTS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a8b8ec-1992-4b58-bb84-dc655d291eaf_526x329.png" width="526" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In theory, with PyTorch&amp;#8217;s torch.accelerator hardware-agnostic API, lines of code like bf16 autocast won&amp;#8217;t even need to be changed, though some APIs in PyTorch and some research codebases still haven&amp;#8217;t migrated to the torch.accelerator namespace and still directly call the torch.cuda.* namespace.&lt;/p&gt;&lt;p&gt;As most academics and researchers across robotics, biotech, world models, and self-driving mainly use BF16, Trainium Torch will not support TorchAO MXFP8 on day 0 until they have made the BF16 training experience great. We don&amp;#8217;t disagree with this sequence, as most people doing MXFP8 training are big Tier 1 labs that have enough kernel engineers to write custom kernels for the big training run.&lt;/p&gt;&lt;h1&gt;Trainium Torch Ecosystem&lt;/h1&gt;&lt;p&gt;PyTorch is popular not only because of core PyTorch but also because of the entire ecosystem of libraries, including Hugging Face Transformers, PEFT, diffusers, TRL, Accelerate, TorchTitan, etc. We are amazed to see that Trainium Torch already supports a ton of these libraries in the ecosystem, including Hugging Face Accelerate, which an insane number of layers of indirection. Trainium supports one of the most popular clean open-source training codebases called TorchTitan with many Tier 2 labs forking it to serve as the foundation of their internal training codebase. Trainium&amp;#8217;s new PyTorch experience fully supports that too.&lt;/p&gt;&lt;p&gt;We saw how Google was able to successfully partner with Inferact/RadixArk to bring TPUs into the vLLM/SGLang ecosystem, and also land Meta as a production TPU customer. Furthermore, by bringing TPUs into the vLLM/SGLang ecosystem, &lt;a href="https://www.lmsys.org/blog/2026-10-15-meta-muse-spark-open#multi-platform-support"&gt;TPUs were already able to automatically get day 0 support for Muse Spark Open&lt;/a&gt; and commitments for day 0 TPU support for popular upcoming models.&lt;/p&gt;&lt;p&gt;While it is true that the increase in agentic coding has made the engine code itself less important, what vLLM/SGLang brings to the table is the ecosystem. No matter the open source model, on day 0, the global ML community trusts vLLM/SGLang as the go-to engine for inference. No vibe-coded engine has that reach.&lt;/p&gt;&lt;p&gt;&lt;a href="https://x.com/sgl_project/status/2113299489394205121"&gt;We are starting to see Trainium rapidly invest in the vLLM/SGLang community with hardware access and early access to Trainium on SGLang built on native PyTorch (TorchNeuron), similar to the TorchTPU approach.&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iP2W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23423dd8-6352-4943-af4d-c303ca5ad2af_1492x1384.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1351" src="https://substackcdn.com/image/fetch/$s_!iP2W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23423dd8-6352-4943-af4d-c303ca5ad2af_1492x1384.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;TorchTitan Experience&lt;/h1&gt;&lt;p&gt;TorchTitan is one of the most popular open-source pre-training frameworks, and we tested Neuron&amp;#8217;s support to gauge the user experience of a researcher training a non-trivial model with Trainium. Specifically, we trained a Qwen3-32B on 16 Trainium2 chips, 64 LNC=2 logical cores in total, and we also tried doing it on a rack-scale Trainium3 UltraServer with 64 physical chips.&lt;/p&gt;&lt;p&gt;Overall, we liked the user experience, though there were some rough edges that the Amazon team already has on its roadmap to fix.&lt;/p&gt;&lt;p&gt;While we will provide the Trainium2 MFU below for completeness, the part to focus on is that for ML research ablations, what matters most isn&amp;#8217;t a speed-of-light-optimized stack but decent performance and broad support across model architecture modifications, so researchers can iterate without fighting the stack.&lt;/p&gt;&lt;p&gt;With Neuron&amp;#8217;s official TorchTitan image, we were able to launch the run without any issues. We measured &lt;strong&gt;11,099 tokens per second in average training throughput on eager mode, at 23.89% MFU&lt;/strong&gt;. For compiled mode, we saw &lt;strong&gt;14,156 tokens per second and 30.47% MFU, a 1.28x throughput improvement over eager mode.&lt;/strong&gt; We tried changing the model architecture slightly in the modeling code and it worked great also.&lt;/p&gt;&lt;p&gt;Neuron also offers training recipes for more modern model architectures, so we tested its gpt-oss 20B training recipe. Neuron supports gpt-oss training through integration with &lt;a href="https://github.com/pytorch/torchtitan/blob/main/torchtitan/experiments/graph_trainer/README.md"&gt;GraphTrainer&lt;/a&gt;, TorchTitan&amp;#8217;s experimental trainer module. Specifically, Neuron adds Trainium-compatible configurations of SimpleFSDP, a compilation backend for PyTorch computation graph capture, and custom NKI kernels for attention and MoE operations. In terms of user experience, the recipe worked out of the box, and everything went well.&lt;/p&gt;&lt;p&gt;One thing that was not yet implemented using the upstream APIs was TokenSwitch. In the age of MoE, for inference and training, MoE combine and MoE dispatch are among the most important comms ops and take anywhere from 60-70% of the communication volume, and TokenSwitch is PyTorch&amp;#8217;s first-class API for them. Trainium doesn&amp;#8217;t support it yet and instead relies on a custom TorchTitan class called NeuronEPTokenDispatcher. Moving it onto the TokenSwitch API looks like a simple fix, and the AWS team has committed to collaborating with the Meta PyTorch team to modify the TokenSwitch ABC such that it can support Trainium too.&lt;/p&gt;&lt;p&gt;The part where it was slightly disappointing was the Neuron compiler took a long time to compile, leading to a long wait in the first step. Concretely, the first step took 184.6 seconds for eager mode (255.7 seconds for compiled mode), which is 30-55x longer than the average step time, excluding the first step. For gpt-oss, this training run came at a ridiculously high compilation time of 27 minutes and 17 seconds, which leads to a terrible user experience, especially for researchers who experiment with new model architectures. The reason for this is that historically the Trainium compiler stack has mainly been focused on inference, where compile time doesn&amp;#8217;t matter because compilation is done offline and cached once per image and doesn&amp;#8217;t affect production inference, whereas in training it does. While this is the right call for inference at the time, for researchers iterating on model architecture, that&amp;#8217;s a meaningful friction point.&lt;/p&gt;&lt;p&gt;The Neuron team is already addressing this directly. Upcoming TorchNeuron releases introduce a new compiler backend with a broad set of precompiled NKI kernels and a compile stack re-architected for fast compilation, targeting up to a 2 orders of magnitude reduction in time-to-first-step for both eager and compiled modes, with minimal or no performance regression. If they deliver on that, compilation time stops being a conversation.&lt;/p&gt;&lt;h1&gt;Training MatMul Performance&lt;/h1&gt;&lt;p&gt;One of the most important things for experimental training is to have decent performance across a broad range of shapes as ML researchers try lots of different things. We benchmarked a single Trainium3 logical core (LNC=2) on the PyTorch nn.functional.linear API to understand its matrix multiplication performance, and we compared it with GB300 and B200 for reference. We swept through the matrix shapes of projection operations in major open weight models, and we set the M dimension to 1, 128, and 2048 to represent different batch size scenarios.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bRyu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b02cad9-f642-4bae-be70-4b2141f6a983_1980x1260.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="927" src="https://substackcdn.com/image/fetch/$s_!bRyu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b02cad9-f642-4bae-be70-4b2141f6a983_1980x1260.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In our benchmark, Trainium3 achieved a visibly higher MFU than GB300, starting from the mid-range, where the matrix multiplication performs 1 GFLOP of computation. It was only after 100 GFLOP that GB300 and B200 started outperforming Trainium3, and Trainium3 won again after 1 TFLOP.&lt;/p&gt;&lt;h1&gt;FlexAttention API&lt;/h1&gt;&lt;p&gt;FlexAttention is a high-level API that allows implementing different attention variants using PyTorch, while offering backward pass auto-generation and reasonable performance. Good FlexAttention support shows a hardware&amp;#8217;s flexibility and ease-of-use to researchers. We ran the &lt;a href="https://github.com/meta-pytorch/attention-gym/blob/main/benchmarks/flex_perf.py"&gt;FlexAttention benchmark suite&lt;/a&gt; on Trainium3 to see its FlexAttention support.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GgbZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd03ecc2c-c3cf-4424-a366-5a9d2bd037a6_1600x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="619" src="https://substackcdn.com/image/fetch/$s_!GgbZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd03ecc2c-c3cf-4424-a366-5a9d2bd037a6_1600x680.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Overall, Trainium3 passed 89 out of 96 test cases, a 93% pass rate. All 7 failed cases were at large batch size (4) and sequence length (8192), and &lt;strong&gt;all failed due to compilation exceeding the time budget rather than numerical errors&lt;/strong&gt;. These issues will be fixed in later versions of TorchNeuron.&lt;/p&gt;&lt;p&gt;Additionally, we tried implementing custom attention variants not in the FlexAttention benchmark suite for Trainium3, and it matched the numerics of Nvidia GPUs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BJnh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8cb4895-1a44-461d-838a-f13de37d3a8e_1600x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="619" src="https://substackcdn.com/image/fetch/$s_!BJnh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8cb4895-1a44-461d-838a-f13de37d3a8e_1600x680.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Automated Quality Assurance&lt;/h1&gt;&lt;p&gt;SemiAnalysis is known in the global ML community to be the &amp;#8220;CI Karen,&amp;#8221; setting a high bar across all hardware vendors and doing whatever it takes to get senior leadership of AI chip companies to actually provide their engineers with enough resources and CI fleet to maintain a high bar of automated quality control.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aaSF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ece87e1-1fd3-4bae-bd17-9fe9e28190e1_1040x598.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!aaSF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ece87e1-1fd3-4bae-bd17-9fe9e28190e1_1040x598.png" width="1040" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;One recent achievement, which took over 9 months of fighting with AMD senior leadership, was getting their engineers enough stable nodes to achieve 93% parity on gating test groups. &lt;br /&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jjqT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c1bfee-bc21-46e5-bb7f-1abfe8ac31fe_2048x1065.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="757" src="https://substackcdn.com/image/fetch/$s_!jjqT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c1bfee-bc21-46e5-bb7f-1abfe8ac31fe_2048x1065.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: vLLM Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Inference is a narrow problem. A lab serving a handful of production models needs a forward pass, mostly fixed architectures, and a small set of hot kernels.&lt;/p&gt;&lt;p&gt;Training is a generality problem. Each of the thousands of operators needs a backward pass, and research codebases sometimes accidentally run operators in higher precision, which must also be supported. To ensure that Trainium works across a wide range of model architectures and can do eager mode and compile mode well, AWS collected a giant list of top 100k+ Hugging Face models that spread across a whole range of different normalization, MLP, MoE layouts and attention types. Not only do they test that it doesn&amp;#8217;t crash, but they also test performance, which ops use CPU fallbacks and don&amp;#8217;t have native support yet, where graph breaks are and most importantly, they test numerics against CPU and Nvidia baselines. They test tensor level parity and loss curve divergence also. It is easy to finish an exam within 10 minutes, but it doesn&amp;#8217;t matter how fast you finish an exam if you get a 0% on it. Same thing with training stacks. It is easy to get decent MFU%, but it is hard to get decent MFU% while not introducing numeric issues.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4yzy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb0a6c55-273d-4f78-9819-694f30224206_717x649.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="649" src="https://substackcdn.com/image/fetch/$s_!4yzy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb0a6c55-273d-4f78-9819-694f30224206_717x649.png" width="717" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Although the pass rates aren&amp;#8217;t at 100% yet, what matters is the trajectory. AWS is climbing rapidly, with agent swarms systematically fixing the remaining failures. We think it&amp;#8217;s a strength that AWS&amp;#8217;s internal summary table, the one senior leadership sees, shows gaps transparently rather than hiding them.&lt;/p&gt;&lt;p&gt;We say this from experience. When SemiAnalysis and upstream maintainers have tried to fix quality control culture at other hardware vendors, we&amp;#8217;ve found that senior leadership is genuinely shocked when shown the real parity pass rates. At one vendor in particular, there was so much middle management filtering that by the time CI numbers reached senior leadership, they showed 99.99%, while the actual gating parity pass rate at the time was below 5%.&lt;/p&gt;&lt;h1&gt;Neuron Explorer - Better than Nvidia and AMD Profilers&lt;/h1&gt;&lt;p&gt;Trainium&amp;#8217;s profiler is by far leading the industry and is SOTA status. Here we share our initial impressions and plan on sharing our full user experience in a future Trainium kernel article.&lt;/p&gt;&lt;p&gt;Trainium&amp;#8217;s profiler is loved by all the performance engineers at Anthropic. Anthropic&amp;#8217;s head of performance (who is ex-Jane and Finch Street) has publicly said that performance analysis on Trainium is way better than performance analysis on Nvidia GPUs (and obviously better than on AMD GPUs).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qA-i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea535417-4c21-49ed-b9f9-c3c80eb222af_2048x822.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="584" src="https://substackcdn.com/image/fetch/$s_!qA-i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea535417-4c21-49ed-b9f9-c3c80eb222af_2048x822.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tristan Hume on Twitter&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We agree with Tristan Hume. In our experience, the profiling experience was amazing, after getting over the initial hump of the profiling setup being slightly confusing (but not impossible). There are multiple environment variables to set, different file types to save, and various commands to capture and view the profile traces. This is only the kernel profiling setup, and the PyTorch profiling setup is similar but with slight differences, making things even more confusing. With the help of Codex (&lt;a href="https://x.com/jakehalloran1/status/2102480535369208157"&gt;since Claude refuses to write Trainium kernels&lt;/a&gt;), our best effort working setup is as follows:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Launch a persistent Neuron Explorer server&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Profile the kernel with neuron-explorer capture command&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Upload the profile trace as an artifact to the Neuron Explorer server as a web request&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We shared feedback with AWS that we wished the documentation could be clearer on the workflow, explaining what environment variables need to be set for what reasons, and what purpose each file type serves.&lt;/p&gt;&lt;p&gt;Once the setup is done, the profiler user experience is great. Neuron Explorer is co-designed with the hardware. We particularly like the timeline separating hardware units in different rows, so that bubbles are visible at a glance. In contrast, GPU programmers have to roll their own setup for intra-SM profiling as the official Nsight tools don&amp;#8217;t support that.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Fvcw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b780b6a-3587-41be-ac01-c268c4624261_1001x609.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="609" src="https://substackcdn.com/image/fetch/$s_!Fvcw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b780b6a-3587-41be-ac01-c268c4624261_1001x609.png" width="1001" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We also like how the viewer visualizes dependencies. When a block is selected, its dependencies and dependents light up in different colors, which helps us reason about work overlapping, e.g. whether computation sufficiently overlaps with memory loading. The image below shows that the selected white block is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Flow-dependent on the red block&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Order-dependent on the orange block&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;A flow dependency of the blue block&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;An output dependency of the purple block&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="166" src="https://substackcdn.com/image/fetch/$s_!lX4e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c749837-cde0-4015-8def-23186b72fc97_647x166.png" width="647" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer dependency visualization. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MAqa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd333f32c-4e37-489c-8281-b741310499d3_2048x924.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="657" src="https://substackcdn.com/image/fetch/$s_!MAqa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd333f32c-4e37-489c-8281-b741310499d3_2048x924.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer code editor mapping. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aTZQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19ace2d-f4ea-4fa5-8dcb-14dc63db54cf_1172x486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="486" src="https://substackcdn.com/image/fetch/$s_!aTZQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19ace2d-f4ea-4fa5-8dcb-14dc63db54cf_1172x486.png" width="1172" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer: Event information when hovering on an event. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KtJu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F178ccf7f-c5f1-4763-8cea-921827276215_656x538.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="538" src="https://substackcdn.com/image/fetch/$s_!KtJu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F178ccf7f-c5f1-4763-8cea-921827276215_656x538.png" width="656" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer memory bank utilization visualization. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VY_y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75e0579-f42c-49ba-96f5-336140a1fa4e_604x292.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="292" src="https://substackcdn.com/image/fetch/$s_!VY_y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75e0579-f42c-49ba-96f5-336140a1fa4e_604x292.png" width="604" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer microsecond-level memory throughput visualization. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Trainium Profiler Demo - Pixel Art&lt;/h2&gt;&lt;p&gt;Neuron Explorer has many more features, including code editor mapping, MFU estimation, memory usage, and even creating pixel art due to how precise the profiler is. The images below are all from profiler traces of running on actual Trainium hardware, not fake profile reports. We were mainly inspired by the Bad Apple post from Daniel Liu (Anthropic Performance Engineer) and have created our own agentic coding &lt;a href="http://skill.md"&gt;SKILL.md&lt;/a&gt; for creating images. We did not have the time yet to create one to automatically generate videos frame by frame but will in the future and open source this &lt;a href="http://skill.md"&gt;SKILL.md&lt;/a&gt; for everyone to use. We mainly generate this pixel art by using the 16 DMA engines per physical core by &amp;#8220;coloring in&amp;#8221; regions by turning the DMA engines active, and the width of the shaded area is determined by how much data we have each DMA engine move.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ea-N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc62b77ad-11c6-4250-96d4-7e269fb46dff_2048x886.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="630" src="https://substackcdn.com/image/fetch/$s_!ea-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc62b77ad-11c6-4250-96d4-7e269fb46dff_2048x886.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Bad Apple on Neuron Explorer. Source: &lt;a href="https://x.com/daniel_c0deb0t/status/2096008740306874716"&gt;Daniel Liu&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qsps!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99913b4-6db5-45df-b4e8-4e1db122f915_2048x929.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="660" src="https://substackcdn.com/image/fetch/$s_!qsps!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99913b4-6db5-45df-b4e8-4e1db122f915_2048x929.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing the SemiAnalysis logo. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OgDQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1da3ef-a722-4275-9249-897009a7470a_1258x802.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="802" src="https://substackcdn.com/image/fetch/$s_!OgDQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1da3ef-a722-4275-9249-897009a7470a_1258x802.png" width="1258" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Jeff Bezos (pre looksmaxxing). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nRxA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5811851d-661c-400e-85cf-ce78ca4f93aa_2064x1118.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!nRxA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5811851d-661c-400e-85cf-ce78ca4f93aa_2064x1118.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Dylan Patel (pre looksmaxxing). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Since AWS is a partner of Nvidia, Jensen should tell his engineers to book a meeting with the AWS Trainium team on the hardware features needed to do accurate fine-grained profiling such that Nvidia can learn how to add this capability to Feynman or Feynman-Next GPUs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9bPt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45749adc-f952-40a7-a175-f4a5cd3e21d0_2048x1193.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="848" src="https://substackcdn.com/image/fetch/$s_!9bPt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45749adc-f952-40a7-a175-f4a5cd3e21d0_2048x1193.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Jensen on Trainium3. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Nvidia&amp;#8217;s intra-kernel profiler Nsight Compute employs a different design. It offers aggregate metrics and detailed information on performance properties, rather than an event-based timeline viewer. The closest thing we found was Tri Dao&amp;#8217;s QuACK intra-kernel profiler, which uses &lt;a href="https://docs.nvidia.com/cutlass/latest/media/docs/pythonDSL/guides/iket_profiling.html"&gt;Nvidia&amp;#8217;s In-Kernel Event Tracing API&lt;/a&gt;. While QuACK requires custom design to make Perfetto visualize accordingly, it&amp;#8217;s great to see that AWS made this a well-integrated, first-class experience in Neuron Explorer.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oHdF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922100d3-ea70-4104-99e9-f2e6e069e6e1_2048x795.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="565" src="https://substackcdn.com/image/fetch/$s_!oHdF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922100d3-ea70-4104-99e9-f2e6e069e6e1_2048x795.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;QuACK&amp;#8217;s intra-kernel profiler: Visualization of a QuACK GEMM kernel. Source: QuACK&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!24XK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cbed7a-998a-454c-a7ad-485c0e8bb312_2048x1280.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="910" src="https://substackcdn.com/image/fetch/$s_!24XK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cbed7a-998a-454c-a7ad-485c0e8bb312_2048x1280.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Nsight Compute view of FlashAttention 4 workload analysis. Source: Nvidia Nsight&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;This post has bonus content for paid subscribers. Upgrade to get full access.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Upgrade" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/amazons-trainium-takes-a-strike-at"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/amazons-trainium-takes-a-strike-at"/>
    <summary type="html">&lt;p&gt;Trainium has already proven itself in the realm of inference. Anthropic is running production inference and RL rollouts on Trainium2 and Trainium3. Historically, Trainium has been great for inference but not the best fit for research training. In inference, the model architecture changes at a much slower pace compared to training, where researchers iterate on many different experiments and ablations of model architecture and need a stack that covers a broad API surface. In the past, that is where Trainium fell short.&lt;/p&gt;&lt;p&gt;The AWS Neuron team is aggressively working to change this pitfall with the biggest shift being moving towards a first-class, native PyTorch training experience. Gone are the days of sprinkling xm.step() through your training loop and wrestling with a bespoke XLA-style execution model. Trainium now runs PyTorch the way PyTorch users expect, in eager mode, with torch.compile and the standard APIs.&lt;/p&gt;&lt;p&gt;The SemiAnalysis engineering team has been trying out the Trainium3 racks for the past couple of weeks and has found the experience to be great &amp;#8211; we love the overall direction of where it is heading. To be clear, it isn&amp;#8217;t perfect yet, and we have personally run into a couple of bugs ourselves. It&amp;#8217;s nowhere close to the maturity of the CUDA ecosystem, but the direction is right. Their team is making rapid progress with the help of agentic coding.&lt;/p&gt;&lt;p&gt;Furthermore, unlike other accelerator companies, where we had to fight tooth and nail to get their engineers a reasonably stable CI fleet, Trainium uses up to 80,000 physical cores allocated towards automated quality control.&lt;/p&gt;&lt;p&gt;In this article, we walk through our experience on the Trainium3 TorchTitan and TorchNeuron stack, along with our experience of Trainium&amp;#8217;s Neuron Explorer profiler, which is way better than both Nvidia&amp;#8217;s and AMD&amp;#8217;s profilers. We created a bunch of demos to show how Trainium&amp;#8217;s profiler is &amp;#8220;GPU Impossible.&amp;#8221; &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hGVA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cf6ed-4bdd-4d53-9c2c-569ac56bb93c_1452x790.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="790" src="https://substackcdn.com/image/fetch/$s_!hGVA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cf6ed-4bdd-4d53-9c2c-569ac56bb93c_1452x790.png" title="" width="1452" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Nafea Bshara, VP at AWS In Trainium Profiler Showcasing Trainium&amp;#8217;s Finegrain Profiler. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;In an upcoming article, we will go deep on writing speed-of-light NKI kernels and microbenchmarking on Trainium3.&lt;/strong&gt; For our deep dive into the Trainium hardware, check out our previous article where we do a complete hardware breakdown.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kRLZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66643b53-8390-4e90-a3a2-e4d46fe6bf6f_1426x1367.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1367" src="https://substackcdn.com/image/fetch/$s_!kRLZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66643b53-8390-4e90-a3a2-e4d46fe6bf6f_1426x1367.png" width="1426" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;We Are Hiring&lt;/h1&gt;&lt;p&gt;SemiAnalysis is hiring for various Member of Technical Staff roles. If you find this type of analysis interesting, apply below:&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://app.dover.com/apply/SemiAnalysis/2a9c8da5-6d59-4ac8-8302-3877345dbce1?rs=55634680"&gt;&lt;span&gt;Apply Here&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What we&amp;#8217;re looking for:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Highly motivated &amp;amp; skilled Member of Technical Staff to join our growing engineering team.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Member of Technical Staff will play a crucial role in developing inference benchmarks &amp;amp; system modeling&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;You will also play a role in writing and preparing our newsletter articles for publishing, with the opportunity for direct authorship recognition.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;We are hiring individual contributors at all experience levels. Compensation will be competitive&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;As part of the interview process, you&amp;#8217;ll complete a paid coding challenge designed to reflect typical daily tasks at SemiAnalysis&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Competitive Compensation depending on experience, skillset, location &amp;amp; business needs&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Qualifications&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Proactive, self-motivated, and capable of working independently in a global team.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Demonstrated experience in ML frameworks such as PyTorch or JAX through professional experience, personal projects, or personal Substack blogs&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Solid understanding of at least 1 of the following: transformer architecture, LLM parallelism strategies, and/or CUDA parallel programming&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Strong research skills and the ability to synthesize information from various sources to draw insights.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;English language proficiency required, Chinese language proficiency preferred&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;Moving Towards a First-Class PyTorch Experience&lt;/h1&gt;&lt;p&gt;Amazon has made a major course correction to its software strategy, and we believe it will meaningfully broaden Trainium3 adoption. TorchNeuron represents a native PyTorch experience instead of duct-taping Trainium onto PyTorch through the PyTorch/XLA project. The new backend is aimed at everyone who isn&amp;#8217;t a frontier-lab kernel engineer. AWS has even hired the lead of Google&amp;#8217;s native Torch on TPU effort to work on native Torch for Trainium. He was the TPU SW lead from the start of the program at Google, including XLA, xprof, Cloud TPU, etc.&lt;/p&gt;&lt;p&gt;The old approach made Trainium feel foreign to anyone coming from CUDA. PyTorch/XLA relied on lazy tensor graph capture and had no first-class eager mode. It also didn&amp;#8217;t support PyTorch&amp;#8217;s native distributed APIs (torch.distributed.*) or its native parallelism APIs (DTensor, SimpleFSDP, DDP). Users had to rely on out-of-tree XLA SPMD APIs such as torch_xla.experimental.spmd_fsdp and torch_xla.distributed.spmd. For researchers who are used to native PyTorch on CUDA, switching to Trainium meant relearning how to write a training loop.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NSYi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb846e38-260b-4211-9146-390bebf520bc_1446x1012.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1012" src="https://substackcdn.com/image/fetch/$s_!NSYi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb846e38-260b-4211-9146-390bebf520bc_1446x1012.png" width="1446" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The pain of converting GPU research codebases by adding XLA markers everywhere was a massive turnoff to anyone who used PyTorch/XLA before.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IzTF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ccd20a-b8b7-435f-8802-4960c36062d9_1126x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!IzTF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ccd20a-b8b7-435f-8802-4960c36062d9_1126x668.png" width="1126" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;At a high level, the only change needed is replacing .to(&amp;#8221;cuda&amp;#8221;) with .to(&amp;#8221;neuron&amp;#8221;), and in theory the vast majority of the PyTorch ATen operators will work decently well out of the box.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OoTS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a8b8ec-1992-4b58-bb84-dc655d291eaf_526x329.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="329" src="https://substackcdn.com/image/fetch/$s_!OoTS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a8b8ec-1992-4b58-bb84-dc655d291eaf_526x329.png" width="526" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In theory, with PyTorch&amp;#8217;s torch.accelerator hardware-agnostic API, lines of code like bf16 autocast won&amp;#8217;t even need to be changed, though some APIs in PyTorch and some research codebases still haven&amp;#8217;t migrated to the torch.accelerator namespace and still directly call the torch.cuda.* namespace.&lt;/p&gt;&lt;p&gt;As most academics and researchers across robotics, biotech, world models, and self-driving mainly use BF16, Trainium Torch will not support TorchAO MXFP8 on day 0 until they have made the BF16 training experience great. We don&amp;#8217;t disagree with this sequence, as most people doing MXFP8 training are big Tier 1 labs that have enough kernel engineers to write custom kernels for the big training run.&lt;/p&gt;&lt;h1&gt;Trainium Torch Ecosystem&lt;/h1&gt;&lt;p&gt;PyTorch is popular not only because of core PyTorch but also because of the entire ecosystem of libraries, including Hugging Face Transformers, PEFT, diffusers, TRL, Accelerate, TorchTitan, etc. We are amazed to see that Trainium Torch already supports a ton of these libraries in the ecosystem, including Hugging Face Accelerate, which an insane number of layers of indirection. Trainium supports one of the most popular clean open-source training codebases called TorchTitan with many Tier 2 labs forking it to serve as the foundation of their internal training codebase. Trainium&amp;#8217;s new PyTorch experience fully supports that too.&lt;/p&gt;&lt;p&gt;We saw how Google was able to successfully partner with Inferact/RadixArk to bring TPUs into the vLLM/SGLang ecosystem, and also land Meta as a production TPU customer. Furthermore, by bringing TPUs into the vLLM/SGLang ecosystem, &lt;a href="https://www.lmsys.org/blog/2026-10-15-meta-muse-spark-open#multi-platform-support"&gt;TPUs were already able to automatically get day 0 support for Muse Spark Open&lt;/a&gt; and commitments for day 0 TPU support for popular upcoming models.&lt;/p&gt;&lt;p&gt;While it is true that the increase in agentic coding has made the engine code itself less important, what vLLM/SGLang brings to the table is the ecosystem. No matter the open source model, on day 0, the global ML community trusts vLLM/SGLang as the go-to engine for inference. No vibe-coded engine has that reach.&lt;/p&gt;&lt;p&gt;&lt;a href="https://x.com/sgl_project/status/2113299489394205121"&gt;We are starting to see Trainium rapidly invest in the vLLM/SGLang community with hardware access and early access to Trainium on SGLang built on native PyTorch (TorchNeuron), similar to the TorchTPU approach.&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iP2W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23423dd8-6352-4943-af4d-c303ca5ad2af_1492x1384.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1351" src="https://substackcdn.com/image/fetch/$s_!iP2W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23423dd8-6352-4943-af4d-c303ca5ad2af_1492x1384.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;TorchTitan Experience&lt;/h1&gt;&lt;p&gt;TorchTitan is one of the most popular open-source pre-training frameworks, and we tested Neuron&amp;#8217;s support to gauge the user experience of a researcher training a non-trivial model with Trainium. Specifically, we trained a Qwen3-32B on 16 Trainium2 chips, 64 LNC=2 logical cores in total, and we also tried doing it on a rack-scale Trainium3 UltraServer with 64 physical chips.&lt;/p&gt;&lt;p&gt;Overall, we liked the user experience, though there were some rough edges that the Amazon team already has on its roadmap to fix.&lt;/p&gt;&lt;p&gt;While we will provide the Trainium2 MFU below for completeness, the part to focus on is that for ML research ablations, what matters most isn&amp;#8217;t a speed-of-light-optimized stack but decent performance and broad support across model architecture modifications, so researchers can iterate without fighting the stack.&lt;/p&gt;&lt;p&gt;With Neuron&amp;#8217;s official TorchTitan image, we were able to launch the run without any issues. We measured &lt;strong&gt;11,099 tokens per second in average training throughput on eager mode, at 23.89% MFU&lt;/strong&gt;. For compiled mode, we saw &lt;strong&gt;14,156 tokens per second and 30.47% MFU, a 1.28x throughput improvement over eager mode.&lt;/strong&gt; We tried changing the model architecture slightly in the modeling code and it worked great also.&lt;/p&gt;&lt;p&gt;Neuron also offers training recipes for more modern model architectures, so we tested its gpt-oss 20B training recipe. Neuron supports gpt-oss training through integration with &lt;a href="https://github.com/pytorch/torchtitan/blob/main/torchtitan/experiments/graph_trainer/README.md"&gt;GraphTrainer&lt;/a&gt;, TorchTitan&amp;#8217;s experimental trainer module. Specifically, Neuron adds Trainium-compatible configurations of SimpleFSDP, a compilation backend for PyTorch computation graph capture, and custom NKI kernels for attention and MoE operations. In terms of user experience, the recipe worked out of the box, and everything went well.&lt;/p&gt;&lt;p&gt;One thing that was not yet implemented using the upstream APIs was TokenSwitch. In the age of MoE, for inference and training, MoE combine and MoE dispatch are among the most important comms ops and take anywhere from 60-70% of the communication volume, and TokenSwitch is PyTorch&amp;#8217;s first-class API for them. Trainium doesn&amp;#8217;t support it yet and instead relies on a custom TorchTitan class called NeuronEPTokenDispatcher. Moving it onto the TokenSwitch API looks like a simple fix, and the AWS team has committed to collaborating with the Meta PyTorch team to modify the TokenSwitch ABC such that it can support Trainium too.&lt;/p&gt;&lt;p&gt;The part where it was slightly disappointing was the Neuron compiler took a long time to compile, leading to a long wait in the first step. Concretely, the first step took 184.6 seconds for eager mode (255.7 seconds for compiled mode), which is 30-55x longer than the average step time, excluding the first step. For gpt-oss, this training run came at a ridiculously high compilation time of 27 minutes and 17 seconds, which leads to a terrible user experience, especially for researchers who experiment with new model architectures. The reason for this is that historically the Trainium compiler stack has mainly been focused on inference, where compile time doesn&amp;#8217;t matter because compilation is done offline and cached once per image and doesn&amp;#8217;t affect production inference, whereas in training it does. While this is the right call for inference at the time, for researchers iterating on model architecture, that&amp;#8217;s a meaningful friction point.&lt;/p&gt;&lt;p&gt;The Neuron team is already addressing this directly. Upcoming TorchNeuron releases introduce a new compiler backend with a broad set of precompiled NKI kernels and a compile stack re-architected for fast compilation, targeting up to a 2 orders of magnitude reduction in time-to-first-step for both eager and compiled modes, with minimal or no performance regression. If they deliver on that, compilation time stops being a conversation.&lt;/p&gt;&lt;h1&gt;Training MatMul Performance&lt;/h1&gt;&lt;p&gt;One of the most important things for experimental training is to have decent performance across a broad range of shapes as ML researchers try lots of different things. We benchmarked a single Trainium3 logical core (LNC=2) on the PyTorch nn.functional.linear API to understand its matrix multiplication performance, and we compared it with GB300 and B200 for reference. We swept through the matrix shapes of projection operations in major open weight models, and we set the M dimension to 1, 128, and 2048 to represent different batch size scenarios.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bRyu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b02cad9-f642-4bae-be70-4b2141f6a983_1980x1260.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="927" src="https://substackcdn.com/image/fetch/$s_!bRyu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b02cad9-f642-4bae-be70-4b2141f6a983_1980x1260.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In our benchmark, Trainium3 achieved a visibly higher MFU than GB300, starting from the mid-range, where the matrix multiplication performs 1 GFLOP of computation. It was only after 100 GFLOP that GB300 and B200 started outperforming Trainium3, and Trainium3 won again after 1 TFLOP.&lt;/p&gt;&lt;h1&gt;FlexAttention API&lt;/h1&gt;&lt;p&gt;FlexAttention is a high-level API that allows implementing different attention variants using PyTorch, while offering backward pass auto-generation and reasonable performance. Good FlexAttention support shows a hardware&amp;#8217;s flexibility and ease-of-use to researchers. We ran the &lt;a href="https://github.com/meta-pytorch/attention-gym/blob/main/benchmarks/flex_perf.py"&gt;FlexAttention benchmark suite&lt;/a&gt; on Trainium3 to see its FlexAttention support.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GgbZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd03ecc2c-c3cf-4424-a366-5a9d2bd037a6_1600x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="619" src="https://substackcdn.com/image/fetch/$s_!GgbZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd03ecc2c-c3cf-4424-a366-5a9d2bd037a6_1600x680.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Overall, Trainium3 passed 89 out of 96 test cases, a 93% pass rate. All 7 failed cases were at large batch size (4) and sequence length (8192), and &lt;strong&gt;all failed due to compilation exceeding the time budget rather than numerical errors&lt;/strong&gt;. These issues will be fixed in later versions of TorchNeuron.&lt;/p&gt;&lt;p&gt;Additionally, we tried implementing custom attention variants not in the FlexAttention benchmark suite for Trainium3, and it matched the numerics of Nvidia GPUs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BJnh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8cb4895-1a44-461d-838a-f13de37d3a8e_1600x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="619" src="https://substackcdn.com/image/fetch/$s_!BJnh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8cb4895-1a44-461d-838a-f13de37d3a8e_1600x680.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Automated Quality Assurance&lt;/h1&gt;&lt;p&gt;SemiAnalysis is known in the global ML community to be the &amp;#8220;CI Karen,&amp;#8221; setting a high bar across all hardware vendors and doing whatever it takes to get senior leadership of AI chip companies to actually provide their engineers with enough resources and CI fleet to maintain a high bar of automated quality control.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aaSF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ece87e1-1fd3-4bae-bd17-9fe9e28190e1_1040x598.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!aaSF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ece87e1-1fd3-4bae-bd17-9fe9e28190e1_1040x598.png" width="1040" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;One recent achievement, which took over 9 months of fighting with AMD senior leadership, was getting their engineers enough stable nodes to achieve 93% parity on gating test groups. &lt;br /&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jjqT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c1bfee-bc21-46e5-bb7f-1abfe8ac31fe_2048x1065.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="757" src="https://substackcdn.com/image/fetch/$s_!jjqT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c1bfee-bc21-46e5-bb7f-1abfe8ac31fe_2048x1065.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: vLLM Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Inference is a narrow problem. A lab serving a handful of production models needs a forward pass, mostly fixed architectures, and a small set of hot kernels.&lt;/p&gt;&lt;p&gt;Training is a generality problem. Each of the thousands of operators needs a backward pass, and research codebases sometimes accidentally run operators in higher precision, which must also be supported. To ensure that Trainium works across a wide range of model architectures and can do eager mode and compile mode well, AWS collected a giant list of top 100k+ Hugging Face models that spread across a whole range of different normalization, MLP, MoE layouts and attention types. Not only do they test that it doesn&amp;#8217;t crash, but they also test performance, which ops use CPU fallbacks and don&amp;#8217;t have native support yet, where graph breaks are and most importantly, they test numerics against CPU and Nvidia baselines. They test tensor level parity and loss curve divergence also. It is easy to finish an exam within 10 minutes, but it doesn&amp;#8217;t matter how fast you finish an exam if you get a 0% on it. Same thing with training stacks. It is easy to get decent MFU%, but it is hard to get decent MFU% while not introducing numeric issues.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4yzy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb0a6c55-273d-4f78-9819-694f30224206_717x649.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="649" src="https://substackcdn.com/image/fetch/$s_!4yzy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb0a6c55-273d-4f78-9819-694f30224206_717x649.png" width="717" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Although the pass rates aren&amp;#8217;t at 100% yet, what matters is the trajectory. AWS is climbing rapidly, with agent swarms systematically fixing the remaining failures. We think it&amp;#8217;s a strength that AWS&amp;#8217;s internal summary table, the one senior leadership sees, shows gaps transparently rather than hiding them.&lt;/p&gt;&lt;p&gt;We say this from experience. When SemiAnalysis and upstream maintainers have tried to fix quality control culture at other hardware vendors, we&amp;#8217;ve found that senior leadership is genuinely shocked when shown the real parity pass rates. At one vendor in particular, there was so much middle management filtering that by the time CI numbers reached senior leadership, they showed 99.99%, while the actual gating parity pass rate at the time was below 5%.&lt;/p&gt;&lt;h1&gt;Neuron Explorer - Better than Nvidia and AMD Profilers&lt;/h1&gt;&lt;p&gt;Trainium&amp;#8217;s profiler is by far leading the industry and is SOTA status. Here we share our initial impressions and plan on sharing our full user experience in a future Trainium kernel article.&lt;/p&gt;&lt;p&gt;Trainium&amp;#8217;s profiler is loved by all the performance engineers at Anthropic. Anthropic&amp;#8217;s head of performance (who is ex-Jane and Finch Street) has publicly said that performance analysis on Trainium is way better than performance analysis on Nvidia GPUs (and obviously better than on AMD GPUs).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qA-i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea535417-4c21-49ed-b9f9-c3c80eb222af_2048x822.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="584" src="https://substackcdn.com/image/fetch/$s_!qA-i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea535417-4c21-49ed-b9f9-c3c80eb222af_2048x822.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tristan Hume on Twitter&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We agree with Tristan Hume. In our experience, the profiling experience was amazing, after getting over the initial hump of the profiling setup being slightly confusing (but not impossible). There are multiple environment variables to set, different file types to save, and various commands to capture and view the profile traces. This is only the kernel profiling setup, and the PyTorch profiling setup is similar but with slight differences, making things even more confusing. With the help of Codex (&lt;a href="https://x.com/jakehalloran1/status/2102480535369208157"&gt;since Claude refuses to write Trainium kernels&lt;/a&gt;), our best effort working setup is as follows:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Launch a persistent Neuron Explorer server&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Profile the kernel with neuron-explorer capture command&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Upload the profile trace as an artifact to the Neuron Explorer server as a web request&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We shared feedback with AWS that we wished the documentation could be clearer on the workflow, explaining what environment variables need to be set for what reasons, and what purpose each file type serves.&lt;/p&gt;&lt;p&gt;Once the setup is done, the profiler user experience is great. Neuron Explorer is co-designed with the hardware. We particularly like the timeline separating hardware units in different rows, so that bubbles are visible at a glance. In contrast, GPU programmers have to roll their own setup for intra-SM profiling as the official Nsight tools don&amp;#8217;t support that.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Fvcw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b780b6a-3587-41be-ac01-c268c4624261_1001x609.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="609" src="https://substackcdn.com/image/fetch/$s_!Fvcw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b780b6a-3587-41be-ac01-c268c4624261_1001x609.png" width="1001" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We also like how the viewer visualizes dependencies. When a block is selected, its dependencies and dependents light up in different colors, which helps us reason about work overlapping, e.g. whether computation sufficiently overlaps with memory loading. The image below shows that the selected white block is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Flow-dependent on the red block&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Order-dependent on the orange block&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;A flow dependency of the blue block&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;An output dependency of the purple block&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="166" src="https://substackcdn.com/image/fetch/$s_!lX4e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c749837-cde0-4015-8def-23186b72fc97_647x166.png" width="647" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer dependency visualization. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MAqa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd333f32c-4e37-489c-8281-b741310499d3_2048x924.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="657" src="https://substackcdn.com/image/fetch/$s_!MAqa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd333f32c-4e37-489c-8281-b741310499d3_2048x924.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer code editor mapping. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aTZQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19ace2d-f4ea-4fa5-8dcb-14dc63db54cf_1172x486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="486" src="https://substackcdn.com/image/fetch/$s_!aTZQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19ace2d-f4ea-4fa5-8dcb-14dc63db54cf_1172x486.png" width="1172" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer: Event information when hovering on an event. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KtJu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F178ccf7f-c5f1-4763-8cea-921827276215_656x538.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="538" src="https://substackcdn.com/image/fetch/$s_!KtJu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F178ccf7f-c5f1-4763-8cea-921827276215_656x538.png" width="656" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer memory bank utilization visualization. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VY_y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75e0579-f42c-49ba-96f5-336140a1fa4e_604x292.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="292" src="https://substackcdn.com/image/fetch/$s_!VY_y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75e0579-f42c-49ba-96f5-336140a1fa4e_604x292.png" width="604" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Neuron Explorer microsecond-level memory throughput visualization. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Trainium Profiler Demo - Pixel Art&lt;/h2&gt;&lt;p&gt;Neuron Explorer has many more features, including code editor mapping, MFU estimation, memory usage, and even creating pixel art due to how precise the profiler is. The images below are all from profiler traces of running on actual Trainium hardware, not fake profile reports. We were mainly inspired by the Bad Apple post from Daniel Liu (Anthropic Performance Engineer) and have created our own agentic coding &lt;a href="http://skill.md"&gt;SKILL.md&lt;/a&gt; for creating images. We did not have the time yet to create one to automatically generate videos frame by frame but will in the future and open source this &lt;a href="http://skill.md"&gt;SKILL.md&lt;/a&gt; for everyone to use. We mainly generate this pixel art by using the 16 DMA engines per physical core by &amp;#8220;coloring in&amp;#8221; regions by turning the DMA engines active, and the width of the shaded area is determined by how much data we have each DMA engine move.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ea-N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc62b77ad-11c6-4250-96d4-7e269fb46dff_2048x886.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="630" src="https://substackcdn.com/image/fetch/$s_!ea-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc62b77ad-11c6-4250-96d4-7e269fb46dff_2048x886.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Bad Apple on Neuron Explorer. Source: &lt;a href="https://x.com/daniel_c0deb0t/status/2096008740306874716"&gt;Daniel Liu&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qsps!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99913b4-6db5-45df-b4e8-4e1db122f915_2048x929.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="660" src="https://substackcdn.com/image/fetch/$s_!qsps!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99913b4-6db5-45df-b4e8-4e1db122f915_2048x929.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing the SemiAnalysis logo. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OgDQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1da3ef-a722-4275-9249-897009a7470a_1258x802.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="802" src="https://substackcdn.com/image/fetch/$s_!OgDQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1da3ef-a722-4275-9249-897009a7470a_1258x802.png" width="1258" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Jeff Bezos (pre looksmaxxing). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nRxA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5811851d-661c-400e-85cf-ce78ca4f93aa_2064x1118.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!nRxA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5811851d-661c-400e-85cf-ce78ca4f93aa_2064x1118.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Dylan Patel (pre looksmaxxing). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Since AWS is a partner of Nvidia, Jensen should tell his engineers to book a meeting with the AWS Trainium team on the hardware features needed to do accurate fine-grained profiling such that Nvidia can learn how to add this capability to Feynman or Feynman-Next GPUs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9bPt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45749adc-f952-40a7-a175-f4a5cd3e21d0_2048x1193.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="848" src="https://substackcdn.com/image/fetch/$s_!9bPt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45749adc-f952-40a7-a175-f4a5cd3e21d0_2048x1193.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Visualizing Jensen on Trainium3. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Nvidia&amp;#8217;s intra-kernel profiler Nsight Compute employs a different design. It offers aggregate metrics and detailed information on performance properties, rather than an event-based timeline viewer. The closest thing we found was Tri Dao&amp;#8217;s QuACK intra-kernel profiler, which uses &lt;a href="https://docs.nvidia.com/cutlass/latest/media/docs/pythonDSL/guides/iket_profiling.html"&gt;Nvidia&amp;#8217;s In-Kernel Event Tracing API&lt;/a&gt;. While QuACK requires custom design to make Perfetto visualize accordingly, it&amp;#8217;s great to see that AWS made this a well-integrated, first-class experience in Neuron Explorer.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oHdF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922100d3-ea70-4104-99e9-f2e6e069e6e1_2048x795.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="565" src="https://substackcdn.com/image/fetch/$s_!oHdF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922100d3-ea70-4104-99e9-f2e6e069e6e1_2048x795.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;QuACK&amp;#8217;s intra-kernel profiler: Visualization of a QuACK GEMM kernel. Source: QuACK&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!24XK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cbed7a-998a-454c-a7ad-485c0e8bb312_2048x1280.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="910" src="https://substackcdn.com/image/fetch/$s_!24XK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cbed7a-998a-454c-a7ad-485c0e8bb312_2048x1280.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Nsight Compute view of FlashAttention 4 workload analysis. Source: Nvidia Nsight&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;This post has bonus content for paid subscribers. Upgrade to get full access.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Upgrade" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/amazons-trainium-takes-a-strike-at"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-10-23T11:06:44+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/huawei-deepseek</id>
    <title>The Huawei-DeepSeek Symbiosis</title>
    <updated>2026-10-21T09:34:38+00:00</updated>
    <author>
      <name>Bryan Shan</name>
    </author>
    <content type="html">&lt;p&gt;Right before China&amp;#8217;s national day holidays, DeepSeek released Ascend support for &lt;a href="https://github.com/tile-ai/tilelang"&gt;TileLang&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepGEMM-Ascend"&gt;DeepGEMM&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepEP-Ascend"&gt;DeepEP&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/TileKernels"&gt;TileKernels&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/FlashMLA"&gt;FlashMLA&lt;/a&gt;, and &lt;a href="https://github.com/deepseek-ai/DeepSelect"&gt;DeepSelect&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Neither can do this alone. Although they have Pangu, Huawei has no frontier lab to prove their chip can train or infer models, DeepSeek has models but cannot buy the compute it needs. Each supplies exactly what the other lacks: Huawei provides the hardware and native software stack; DeepSeek brings the workloads and engineering needed to make that hardware useful for its models. September 30&amp;#8217;s release of Ascend support in DeepSeek repositories is an artifact of this trade, where the exchange runs through the kernel-authoring language.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bPeB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31b1b07c-129f-41be-a954-9806473f0d99_1764x1283.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1059" src="https://substackcdn.com/image/fetch/$s_!bPeB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31b1b07c-129f-41be-a954-9806473f0d99_1764x1283.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis - &lt;em&gt;Note that the diagram is a simulation.&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In 2028 or even 2027, DeepSeek will likely be primarily using Huawei&amp;#8217;s stack, especially with the external and internal pressure to build a fully domestic chinese ecosystem. As we show here and in future articles, the Huawei ecosystem is already mature and well developed, with strong foundations from the Ascend time and DeepSeek engineers building further ontop.&lt;/p&gt;&lt;p&gt;In this article, we&amp;#8217;ll first examine Ascend 950PR&amp;#8217;s architecture and benchmark its compute and memory performance. We then explore DeepSeek&amp;#8217;s software releases, from TileLang&amp;#8217;s compiler capabilities to hardware-specific kernel optimizations and rack-scale communication. Finally, we analyze DeepSeek-V4.1-Flash&amp;#8217;s execution profile.&lt;/p&gt;&lt;h1&gt;Ascend 950&lt;/h1&gt;&lt;p&gt;We deep-dived into CANN and the Ascend 950 architecture in our &lt;a href="https://newsletter.semianalysis.com/i/199671399/cann"&gt;DeepSeek V4 Pro article&lt;/a&gt;. Since then, more interesting details have been revealed.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yKZi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3363fa3-47b2-4528-bde4-0a86ba907d25_1456x926.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!yKZi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3363fa3-47b2-4528-bde4-0a86ba907d25_1456x926.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Starting from the chip, many variants of 950PR/DT have appeared with varying core counts, HBM stack height, and cache sizes. Some are likely either virtualised/simulated, or for testing only. This is because only a fraction of dies and HBM stacks meet the target spec, due to both outright defects and parametric shortfalls in power and performance, so Huawei bins both compute and memory into multiple SKUs and pairs weaker memory with weaker compute, rather than binning only compute as Nvidia does.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3Llo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97ec04e-772a-4f61-9984-c46af4e5720b_2047x917.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="652" src="https://substackcdn.com/image/fetch/$s_!3Llo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97ec04e-772a-4f61-9984-c46af4e5720b_2047x917.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="290" src="https://substackcdn.com/image/fetch/$s_!ntMN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670401d3-ae2b-44ce-8bfe-b87f7eebd4bb_2677x533.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This isn&amp;#8217;t new, 910B also has variants such as 910B1, 910B2, 910B3, 910B4. For the following microbenchmarks, we use an Ascend 950PR_9579, with 28 cube cores and 128 GiB HBM.&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-plaintext"&gt;root@cb3bb851f93f:/workspace# npu-smi info
+-------------------------------------------------------------------------------------------------+
| npu-smi 25.7.rc1.6                               Version: 25.7.rc1.6                            |
+--------+------------------+---------------+-----------------------------------------------------+
| NPU ID | Name             | Health        | Power(W)    Temp(C)           Hugepages-Usage(page) |
|        |                  | Bus-Id        | NPU Util(%) Memory-Usage(MB)  HBM-Usage(MB)         |
+========+==================+===============+=====================================================+
| 0      | Ascend950PR      | OK            | 203.3       56                0     / 0             |
|        |                  | 0000:12:00.0  | 0           0    / 0          5242  / 131072        |
+========+==================+===============+=====================================================+
+---------------------------+---------------+-----------------------------------------------------+
| NPU ID                    | Process id    | Process name             | Process memory(MB)       |
+===========================+===============+=====================================================+
| No running processes found in NPU 0                                                             |
+===========================+===============+=====================================================+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Running point chases reading 16 KiB of integer payload per launch, it stays near 134ns through 18 blocks, rises to 182ns at 56, then jumps to 391ns at 64. This is consistent with a second wave beyond 56 Vector cores.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!b4Kk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a315507-0998-4335-841e-994ed23ddd38_2048x754.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="536" src="https://substackcdn.com/image/fetch/$s_!b4Kk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a315507-0998-4335-841e-994ed23ddd38_2048x754.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Then by running a scalar pointer-chase probe separately on every Cube and Vector core, recording load timings at matching addresses throughout a 128 MiB chain, we get the following graph. Each cell&amp;#8217;s color represents the mean absolute difference between two cores' address profiles, producing two groups that match the decoded dies.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!k-Ny!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff757e4d-1075-4230-9834-30076b620067_2048x1766.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1256" src="https://substackcdn.com/image/fetch/$s_!k-Ny!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff757e4d-1075-4230-9834-30076b620067_2048x1766.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Going further, by timing a Vector core&amp;#8217;s pointer chase while another core runs either memory traffic or register-only work; the extra slowdown reveals which subsystems share resources, supporting groups such as {0,2,4} and {1,3,5}. Mixed Cube/Vector launches identify each subsystem&amp;#8217;s one Cube and two Vectors, which we draw together within those groups, with physical positions remaining schematic.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zDr8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a69dca-aa4a-493a-826c-5a553ab5b23c_2048x1156.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="822" src="https://substackcdn.com/image/fetch/$s_!zDr8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a69dca-aa4a-493a-826c-5a553ab5b23c_2048x1156.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;CPU within the NPU&lt;/h2&gt;&lt;p&gt;Each 950PR comes with a variable number of Linx816 AArch64 ELF AICPUs. The MIDR numbers imply these cores are likely the same as the middle cores in the Kirin 9000S/9010. These AICPU cores have instruction set:&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-plaintext"&gt;fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid
asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve
asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2
frint svei8mm svebf16 i8mm bf16 dgh rng ecv&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For this SKU, there are 7 configured, 6 visible, and 5 executing AICPU cores. Other than device control it can provide CPU-operator support, such as KV metadata. The AICPU helps out for short work where D2H overhead take up most of the time.&lt;/p&gt;&lt;p&gt;For DSA, a small scheduling step reads the current sequence lengths and assigns indexer work to accelerator cores. Cube/Vector cores then compute INT8 indexer scores and select the top 2,048 indices. These planning, index selection, and gather steps are ran on AICPUs in vLLM-ascend implementation, and we compare their performance to running on the host CPU.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Bp9u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff134f741-de67-4f8a-8ee2-e5c8b23f19f6_2048x933.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="663" src="https://substackcdn.com/image/fetch/$s_!Bp9u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff134f741-de67-4f8a-8ee2-e5c8b23f19f6_2048x933.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Due to their limited compute performance, AICPU is only good for short work where overhead dominates, and work where data starts and is consumed at the NPU.&lt;/p&gt;&lt;h1&gt;Microbenchmarks&lt;/h1&gt;&lt;p&gt;Ascend 950PR is designed for prefill and recommendation. It gets lower memory bandwidth and core than its bigger brother the 950DT.&lt;/p&gt;&lt;p&gt;The results below are not from DeepSeek&amp;#8217;s contributions but from stock &lt;code&gt;torch.matmul&lt;/code&gt; on ascend resolving to &lt;code&gt;aclnnMatmul_MatMulV3Common_MatMulV3&lt;/code&gt;. We compared 1,055 BF16 GEMM shapes from several open-sourced models. Huawei&amp;#8217;s best kernels hits 99.7% of the ceiling, showing &lt;a href="https://github.com/deepseek-ai/DeepGEMM-ascend#dense-gemm"&gt;DeepSeek&amp;#8217;s 99+% from DeepGEMM&lt;/a&gt; isn&amp;#8217;t the only way to maximize utilization. Huawei engineers did good work too.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MQ5M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5c0a0e-1d96-4cfa-82a1-4abc4e516e56_2048x729.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="518" src="https://substackcdn.com/image/fetch/$s_!MQ5M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5c0a0e-1d96-4cfa-82a1-4abc4e516e56_2048x729.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The advantage is concentrated in compute-bound work. On the shapes below Ascend&amp;#8217;s ridge, its median achieved/attainable fraction is 41.5% versus H100&amp;#8217;s 46.8%. Some of Nvidia&amp;#8217;s results were power-limited and did not hit maximum SM clock: median power around 690-698 W out of a 700 W limit, and median sampled SM clocks at 1335-1470 MHz, below the max of 1830 MHz. Huawei approximated 599-600 W, at 1500-1550 MHz against its 1650 MHz reference.&lt;/p&gt;&lt;p&gt;Ascend&amp;#8217;s MXU design may contribute to some of this high utilization, Ascend stages matrix operands in dedicated L0A/L0B buffers and accumulators in L0C, with overlapping movement, computation and result handling. Huawei associates the enlarged L0C with more flexible tiling and reuse.&lt;/p&gt;&lt;p&gt;But of course, 950PR&amp;#8217;s falls behind on absolute values, sitting somewhere between A100 and MI300X.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MYoo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c575fd-460d-478f-b8ca-13edcaa27da6_2048x729.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="518" src="https://substackcdn.com/image/fetch/$s_!MYoo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c575fd-460d-478f-b8ca-13edcaa27da6_2048x729.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;MemBW&lt;/h2&gt;&lt;p&gt;Measuring HBM memory bandwidth, we see 950PR&amp;#8217;s effective bandwidth and bandwidth utilization surpassing H100 at small message size per buffers, and nearly matching H100 in bandwidth utilization at large message sizes.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!li6c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1944c9-44f6-4d56-8a57-cf906335c952_2048x759.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="540" src="https://substackcdn.com/image/fetch/$s_!li6c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1944c9-44f6-4d56-8a57-cf906335c952_2048x759.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/i/174558480/hbm-memory-bandwidth-performance"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A dip appears in the curve as &lt;a href="https://gitcode.com/cann/ops-math/blob/master/conversion/tensor_move/op_api/tensor_move.cpp#L81"&gt;Ascend switches copy methods&lt;/a&gt; to a Vector-core TensorMove kernel that has more startup cost, so a slightly larger copy suddenly takes longer. For very large copies, that extra cost becomes relatively small, so bandwidth rises again.&lt;/p&gt;&lt;p&gt;Note that high FLOPs utilization and bandwidth utilization does not necessarily translate to high MFU/MBU. Training, especially with FSDP, requires collectives, checkpointing, and data moving that can be hard to overlap. &lt;/p&gt;&lt;p&gt;As we mentioned in our Jalepeno article, a &amp;#8220;chip&amp;#8221; in benchmarks is just a social construct. Multiple dies can be glue to form a bigger &amp;#8220;chip&amp;#8221;.  Thus performance per watt or TCO is the best comparison. But for China, watts are far cheaper. We&amp;#8217;ll analyze Ascend&amp;#8217;s perf per TCO in a future article.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Hardware raises the ceiling, but software lets you reach that ceiling. Although Huawei&amp;#8217;s hardware may be beyond ~5 years behind(compared to A100), the software is right at the frontier.&lt;/p&gt;&lt;h1&gt;DeepSeek Open Source&lt;/h1&gt;&lt;p&gt;For the 6 repos that received ascend support(&lt;a href="https://github.com/tile-ai/tilelang"&gt;TileLang&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepGEMM-Ascend"&gt;DeepGEMM&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepEP-Ascend"&gt;DeepEP&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/TileKernels"&gt;TileKernels&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/FlashMLA"&gt;FlashMLA&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepSelect"&gt;DeepSelect&lt;/a&gt;), only TileLang is usable as of writing, and CANN 9.2.0 has not been released. &lt;a href="https://github.com/deepseek-ai/DeepGEMM-Ascend#requirements"&gt;Deepseek requires CANN 9.2.0&lt;/a&gt; which was released after time of writing, and a C++20 compiler is required which CANN 9.2.0-beta.2 does not provide. &lt;a href="https://github.com/deepseek-ai/DeepEP-Ascend#recommended-hdk-and-firmware"&gt;The HDK will be released on Oct 15&lt;/a&gt;. This comes after DeepSeek&amp;#8217;s &lt;a href="https://github.com/deepseek-ai/open-infra-index/tree/main#202502-open-source-week"&gt;open source week&lt;/a&gt; in 2025, where some of these repositories were released with Nvidia support only.&lt;/p&gt;&lt;p&gt;From the results above, we can see Huawei can already execute operations well; the symbiosis is about making the rest of the application &amp;amp; the work required to support it more efficient and reusable.&lt;/p&gt;&lt;h2&gt;Engineering runs both ways&lt;/h2&gt;&lt;p&gt;Huawei&amp;#8217;s architecture is already influencing how DeepSeek&amp;#8217;s software organizes data. Earlier FlashMLA KV-cache layouts stored quantized values and their scaling factors in separate regions. On Ascend, fetching a token then required separate transfers for its values and scales. The &lt;a href="https://github.com/deepseek-ai/FlashMLA/blob/main/docs/20260930-ascend-prefill-deep-dive.md#decoding-kv-cache-layout-optimization"&gt;new implementation&lt;/a&gt; places them together, reducing the number of transfer requests by the memory transfer engine(MTE).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IPZn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f5a9ed8-ba46-4d20-9158-41641fb98a15_1850x1170.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="921" src="https://substackcdn.com/image/fetch/$s_!IPZn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f5a9ed8-ba46-4d20-9158-41641fb98a15_1850x1170.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;From fast kernels to reusable kernel engineering&lt;/h2&gt;&lt;p&gt;Ascend 950 backend is merged into the main TileLang repository, rather than existing only in a separate Huawei adapter. It adds native compilation, scheduling, synchronization and runtime integration for Ascend&amp;#8217;s execution model.&lt;/p&gt;&lt;p&gt;TileLang makes Ascend kernels easier to write, but developers still need to account for the hardware. They choose the calculations, tile sizes and where data is stored. The compiler handles much of the coordination between Cube cores, Vector cores and data transfers.&lt;/p&gt;&lt;p&gt;Digging below the implementation and looking at its performance against CANN and Triton-ascend, it can match and beat CANN at certain cases; the preferred implementation changes with size.  This is a warm-cache simple and naive benchmark.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nXcL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09daeb23-5133-4316-a95c-afa2205f3165_2048x2032.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1445" src="https://substackcdn.com/image/fetch/$s_!nXcL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09daeb23-5133-4316-a95c-afa2205f3165_2048x2032.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AutoSchedule uses data dependencies and estimated execution times to plan which operations can overlap. It also chooses how many buffer slots to use within the available on-chip memory, allowing upcoming data to load while the current tile is being processed. Developers can guide these decisions when the default schedule is not suitable.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BzCB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c33e708-9c7b-4a84-8cae-0eed766fcd77_1758x956.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="792" src="https://substackcdn.com/image/fetch/$s_!BzCB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c33e708-9c7b-4a84-8cae-0eed766fcd77_1758x956.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On 950PR, AutoSchedule helps especially for smaller sizes, reducing execution time by up to 40% for a single operation.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jUIg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7751b4a-8006-40e5-80f5-f877ccdd7edd_2048x793.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!jUIg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7751b4a-8006-40e5-80f5-f877ccdd7edd_2048x793.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The compiler also inserts synchronization so operations wait for the data they need, while removing waits that other dependencies make unnecessary. It checks conditional branches too, so it does not assume an operation has completed when that branch might never execute. This reduces the synchronization work programmers must manage themselves.&lt;/p&gt;&lt;h2&gt;DeepEP&lt;/h2&gt;&lt;p&gt;Huawei has joined NVIDIA in commercializing large scale-up AI systems, with its Ascend supernodes extending tightly coupled accelerator interconnects across multiple racks from the 910 CloudMatrix384 to the 950 SuperPod,enabling wideEP scale-out. In the 30th September release, Huawei also released EP16 dispatch/combine benchmarks over URMA in the 950DT superpod.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zQvM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b2f555-a8c0-45d8-b45d-fb31b5140b31_2048x767.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="545" src="https://substackcdn.com/image/fetch/$s_!zQvM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b2f555-a8c0-45d8-b45d-fb31b5140b31_2048x767.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://gitcode.com/cann/cann-recipes-infer/blob/master/docs/models/deepseek_v4_1/deepseek_v4.1_asc_comm_tech_report.md#%E6%80%A7%E8%83%BD%E6%95%B0%E6%8D%AE"&gt;Huawei&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepEP-ascend#performance"&gt;DeepSeek&lt;/a&gt;, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Huawei&amp;#8217;s dispatch is three sequential operators (pre/URMA/post) whereas GB300 is one fused call, and their post work includes receive completion, which our measurement includes, but also includes expansion by expert which GB300&amp;#8217;s results don&amp;#8217;t.&lt;/p&gt;&lt;p&gt;DeepEP-Ascend is a port of DeepEP V2.5, with the same python API but calls URMA and HCCL underneath. In July 2025, &lt;a href="https://github.com/deepseek-ai/DeepEP/issues/332"&gt;Huawei&amp;#8217;s Ascend team proposed DeepEP-Ascend under &lt;/a&gt;&lt;code&gt;deepseek-ai&lt;/code&gt;&lt;a href="https://github.com/deepseek-ai/DeepEP/issues/332"&gt;, but a DeepEP maintainer declined&lt;/a&gt;. Today, DeepEP-Ascend is distributed under DeepSeek&amp;#8217;s own organization.&lt;/p&gt;&lt;p&gt;Ascend&amp;#8217;s separate Cube and Vector execution paths create opportunities to overlap communication and computation, but do not make that overlap free. Expert computation can also require vector processing and data movement, while communication competes for shared memory bandwidth. Therefore there&amp;#8217;s a tradeoff on how much communication can be hidden without slowing the computation that runs alongside.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kZmE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ac9084-c2f0-4b72-bebc-3321ae01952c_1962x874.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="649" src="https://substackcdn.com/image/fetch/$s_!kZmE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ac9084-c2f0-4b72-bebc-3321ae01952c_1962x874.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://gitcode.com/cann/cann-recipes-infer/blob/d5859e6f4d5887661266bf22629b1f323c088ad8/docs/models/kimi_k3/kimi_k3_inference_guide.md#%E5%A4%9A%E6%B5%81%E7%BC%96%E6%8E%92%E4%B8%8E-npu-%E4%BA%B2%E5%92%8C%E4%BC%98%E5%8C%96"&gt;Huawei&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This resource-balancing problem is not unique to DeepSeek. Huawei&amp;#8217;s Kimi K3 recipe &lt;a href="https://gitcode.com/cann/cann-recipes-infer/blob/d5859e6f4d5887661266bf22629b1f323c088ad8/docs/models/kimi_k3/kimi_k3_inference_guide.md#%E5%A4%9A%E6%B5%81%E7%BC%96%E6%8E%92%E4%B8%8E-npu-%E4%BA%B2%E5%92%8C%E4%BC%98%E5%8C%96"&gt;explicitly restricts vector use&lt;/a&gt; to leave capacity for concurrent work, and chooses between dedicated CCU and Vector-based communication according to what must overlap. Faster individual operations are not enough: their resource demands must also fit together.&lt;/p&gt;&lt;p&gt;&lt;a href="http://deepep-ascend"&gt;DeepEP-Ascend&amp;#8217;s documentation&lt;/a&gt; identifies contention between combine processing and URMA communication for HBM resources, and says Huawei firmware improvements are planned to reduce it. This is the practical form of co-design: the model exposes a bottleneck, the implementation adapts, and the platform&amp;#8217;s development priorities respond to what remains.&lt;/p&gt;&lt;h2&gt;All planned&lt;/h2&gt;&lt;p&gt;In May&amp;#8217;s unverified DeepSeek investor meeting transcript, Liang Wenfeng said:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;#8220;So, when it comes to the chip gap between China and the US, I think the software ecosystem gap will eventually disappear. But on the hardware side, we face two separate disadvantages: it takes four Huawei accelerator cards to match one NVIDIA card, and Huawei is also roughly two years behind in bringing its hardware to market.&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;4 months later, the ecosystem gap did indeed narrow. The same transcript mentioned TileLang and helping Huawei get the ecosystem right.&lt;/p&gt;&lt;h1&gt;DSv4.1 Flash Optimizations&lt;/h1&gt;&lt;p&gt;Another part of the DeepSeek-Huawei symbiosis is that DeepSeek provides Huawei with weights, supporting Day-0 optimized releases, such as DeepSeek V4 and V4.1.&lt;/p&gt;&lt;p&gt;Ascend&amp;#8217;s accumulator design forces a different approach to attention. The Cube&amp;#8217;s L0C buffer cannot rescale accumulated outputs in place, while returning a rescaled output to L0C would require an expensive identity-matrix multiplication. &lt;a href="https://github.com/deepseek-ai/FlashMLA/blob/main/docs/20260930-ascend-prefill-deep-dive.md"&gt;DeepSeek instead keeps the running output accumulator in Vector UB&lt;/a&gt;, transferring partial sums from L0C when needed for rescaling and accumulation. Hopper holds its accumulator in registers, while Blackwell provides loads and stores between tensor memory and registers, avoiding this particular restriction&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!edJT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3741c14f-30e9-4883-950f-4a1e32af842d_2048x664.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="472" src="https://substackcdn.com/image/fetch/$s_!edJT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3741c14f-30e9-4883-950f-4a1e32af842d_2048x664.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Profile&lt;/h2&gt;&lt;p&gt;Huawei also released a profile of one rank of DeepSeek-V4.1-Flash on a Huawei Ascend 950DT deployment of 32 chips, together with its host threads. In June, we covered a similar profile, that of DeepSeek V4 Pro&amp;#8217;s. &lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Many components are similar, like the use of AICPU and separation of some layers to different streams.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Jyrn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F780f172c-a874-4a1d-b705-b439d10e1312_2048x759.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="540" src="https://substackcdn.com/image/fetch/$s_!Jyrn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F780f172c-a874-4a1d-b705-b439d10e1312_2048x759.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The execution order is 40 target-model layers, the target LM head, 3 DSpark drafter blocks, the draft LM head, and 5 sampling rounds. The main compute runs on Stream 19; the drafter&amp;#8217;s run on Stream 173. The V2 MC&amp;#178; kernels that fused computation and communication from the DSv4 Pro trace shows up again, as V3 this time. This is why only 4 AI CPU-launched HCCL operations appear per step, against 43 expert dispatches. These are the target and draft vocabulary heads&amp;#8217; &lt;code&gt;hcom_allGather&lt;/code&gt; and &lt;code&gt;hcom_alltoallv&lt;/code&gt;: gather hidden states, run the LM-head GEMM, then exchange logits.&lt;/p&gt;&lt;p&gt;The drafter blocks run once to produce base logits for the draft positions. The subsequent Markov head models token dependencies through sampling and embedding feedback. It does not rerun the transformer blocks for each proposal. The end of each step changes from MoE and attention to a serial chain of small projections and sampling operations.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xwin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3e578f-23de-4c3c-88b7-e625782f67ca_2048x831.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="591" src="https://substackcdn.com/image/fetch/$s_!Xwin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3e578f-23de-4c3c-88b7-e625782f67ca_2048x831.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!As98!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f8f988c-ff82-4a1f-b1b4-e5d6bba6b3ad_2048x843.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="599" src="https://substackcdn.com/image/fetch/$s_!As98!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f8f988c-ff82-4a1f-b1b4-e5d6bba6b3ad_2048x843.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As mentioned and explained in previous articles, speculative decoding is a lossless method to predict draft tokens and use a single pass to verify them, amortizing weight loading. In the decode step diagram above, we can see how much faster DSpark token drafting is compared to the verification step.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1b9M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F344fe07e-5770-415f-a19d-20302d364b1f_2048x831.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="591" src="https://substackcdn.com/image/fetch/$s_!1b9M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F344fe07e-5770-415f-a19d-20302d364b1f_2048x831.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;DSv4.1 Flash is also the first DeepSeek model to use Engram, but after &lt;a href="https://qwen.ai/blog?id=qwen3.8-flash-next"&gt;Qwen&lt;/a&gt; and &lt;a href="https://huggingface.co/meituan-longcat/LongCat-Flash-Lite"&gt;Meituan Longcat&lt;/a&gt;. &lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Because Engram takes token IDs as input, the fetch can be done async and overlapped with layer 0&amp;#8217;s compute. This allows offloading to DRAM without performance loss vis-a-vis HBM, but offloading to a PCIe 4.0 SSD degrades performance. Read more in our Engram analysis:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mglv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4941eee2-8e0e-4af5-a669-0c30d969f0a8_2048x688.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="489" src="https://substackcdn.com/image/fetch/$s_!Mglv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4941eee2-8e0e-4af5-a669-0c30d969f0a8_2048x688.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Summarizing kernel durations in the steady-state window, Stream 19 is occupied for 88.8% of the window but contributes 72.6% of summed device time because other streams overlap it. In the middle, the substantial &lt;code&gt;MIX_AIV&lt;/code&gt; and &lt;code&gt;AI_VECTOR_CORE &lt;/code&gt;bands contain dispatch/combine as well as quantization.&lt;/p&gt;&lt;p&gt;Ascend exposes separately scheduled cube and vector paths through &lt;code&gt;MIX_AIC&lt;/code&gt;, &lt;code&gt;MIX_AIV&lt;/code&gt;, &lt;code&gt;AI_CORE&lt;/code&gt;, and &lt;code&gt;AI_VECTOR_CORE&lt;/code&gt;. Each event has a task type, so the duration accounting is a partition. Mixed types still involve work beyond a single physical unit; their names do not turn elapsed kernel duration into measured cube-only or vector-only utilization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vK8L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F382a08c7-e8fa-4db1-9653-c8982c5ff491_2048x747.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="531" src="https://substackcdn.com/image/fetch/$s_!vK8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F382a08c7-e8fa-4db1-9653-c8982c5ff491_2048x747.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A first-order scenario doubling cube throughput while leaving other device work unchanged gives a 1.32&amp;#215; step improvement. It holds measured stream overlap constant and leaves idle unchanged. This is a composition scenario, not a prediction for new silicon: mixed task types are not exclusive utilization measurements, and bandwidth, dependencies, and scheduling can change the result.&lt;/p&gt;&lt;p&gt;Quantization fusion likewise remains an opportunity, its attraction is the repeated producer-to-consumer boundary and its large share of the vector bucket that also carries fused communication.&lt;/p&gt;&lt;h1&gt;Ecosystem gaps&lt;/h1&gt;&lt;p&gt;One issue however is the partnership could work extremely well for DeepSeek without making Ascend equally usable for everyone else. &lt;/p&gt;&lt;p&gt;For DeepSeek, building compilers, maintaining kernels and debugging vendor-specific behavior competes with model research and product development, albeit temporarily.&lt;/p&gt;&lt;p&gt;For everyone else, there may be issues when hardware configurations doesn&amp;#8217;t align with DeepSeek&amp;#8217;s. Most optimizations were on supernodes, and as of &lt;code&gt;vLLM-Ascend_0.26.0rc1&lt;/code&gt; many issues exist working with Ascend on x86 hosts:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;No DeepGEMM support on x86 hosts&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Dependency on &lt;code&gt;memfabric_hybrid&lt;/code&gt; containing hardcoded ARM headers for vLLM-Ascend, blocking startup; vLLM-Ascend doesn&amp;#8217;t work out of the box.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;CPU-binding skipped for non-ARM CPUs on vLLM-Ascend&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;No NPU + x86 CI, &lt;a href="https://github.com/hicann/cann-recipes-infer/blob/d5859e6f4d5887661266bf22629b1f323c088ad8/integration/vllm/dsv41-flash-single-npu-moe-offload/README.md"&gt;patches needed&lt;/a&gt; for some recipes&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/huawei-deepseek"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/huawei-deepseek"/>
    <summary type="html">&lt;p&gt;Right before China&amp;#8217;s national day holidays, DeepSeek released Ascend support for &lt;a href="https://github.com/tile-ai/tilelang"&gt;TileLang&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepGEMM-Ascend"&gt;DeepGEMM&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepEP-Ascend"&gt;DeepEP&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/TileKernels"&gt;TileKernels&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/FlashMLA"&gt;FlashMLA&lt;/a&gt;, and &lt;a href="https://github.com/deepseek-ai/DeepSelect"&gt;DeepSelect&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Neither can do this alone. Although they have Pangu, Huawei has no frontier lab to prove their chip can train or infer models, DeepSeek has models but cannot buy the compute it needs. Each supplies exactly what the other lacks: Huawei provides the hardware and native software stack; DeepSeek brings the workloads and engineering needed to make that hardware useful for its models. September 30&amp;#8217;s release of Ascend support in DeepSeek repositories is an artifact of this trade, where the exchange runs through the kernel-authoring language.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bPeB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31b1b07c-129f-41be-a954-9806473f0d99_1764x1283.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1059" src="https://substackcdn.com/image/fetch/$s_!bPeB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31b1b07c-129f-41be-a954-9806473f0d99_1764x1283.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis - &lt;em&gt;Note that the diagram is a simulation.&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In 2028 or even 2027, DeepSeek will likely be primarily using Huawei&amp;#8217;s stack, especially with the external and internal pressure to build a fully domestic chinese ecosystem. As we show here and in future articles, the Huawei ecosystem is already mature and well developed, with strong foundations from the Ascend time and DeepSeek engineers building further ontop.&lt;/p&gt;&lt;p&gt;In this article, we&amp;#8217;ll first examine Ascend 950PR&amp;#8217;s architecture and benchmark its compute and memory performance. We then explore DeepSeek&amp;#8217;s software releases, from TileLang&amp;#8217;s compiler capabilities to hardware-specific kernel optimizations and rack-scale communication. Finally, we analyze DeepSeek-V4.1-Flash&amp;#8217;s execution profile.&lt;/p&gt;&lt;h1&gt;Ascend 950&lt;/h1&gt;&lt;p&gt;We deep-dived into CANN and the Ascend 950 architecture in our &lt;a href="https://newsletter.semianalysis.com/i/199671399/cann"&gt;DeepSeek V4 Pro article&lt;/a&gt;. Since then, more interesting details have been revealed.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yKZi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3363fa3-47b2-4528-bde4-0a86ba907d25_1456x926.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!yKZi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3363fa3-47b2-4528-bde4-0a86ba907d25_1456x926.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Starting from the chip, many variants of 950PR/DT have appeared with varying core counts, HBM stack height, and cache sizes. Some are likely either virtualised/simulated, or for testing only. This is because only a fraction of dies and HBM stacks meet the target spec, due to both outright defects and parametric shortfalls in power and performance, so Huawei bins both compute and memory into multiple SKUs and pairs weaker memory with weaker compute, rather than binning only compute as Nvidia does.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3Llo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97ec04e-772a-4f61-9984-c46af4e5720b_2047x917.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="652" src="https://substackcdn.com/image/fetch/$s_!3Llo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97ec04e-772a-4f61-9984-c46af4e5720b_2047x917.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="290" src="https://substackcdn.com/image/fetch/$s_!ntMN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670401d3-ae2b-44ce-8bfe-b87f7eebd4bb_2677x533.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This isn&amp;#8217;t new, 910B also has variants such as 910B1, 910B2, 910B3, 910B4. For the following microbenchmarks, we use an Ascend 950PR_9579, with 28 cube cores and 128 GiB HBM.&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-plaintext"&gt;root@cb3bb851f93f:/workspace# npu-smi info
+-------------------------------------------------------------------------------------------------+
| npu-smi 25.7.rc1.6                               Version: 25.7.rc1.6                            |
+--------+------------------+---------------+-----------------------------------------------------+
| NPU ID | Name             | Health        | Power(W)    Temp(C)           Hugepages-Usage(page) |
|        |                  | Bus-Id        | NPU Util(%) Memory-Usage(MB)  HBM-Usage(MB)         |
+========+==================+===============+=====================================================+
| 0      | Ascend950PR      | OK            | 203.3       56                0     / 0             |
|        |                  | 0000:12:00.0  | 0           0    / 0          5242  / 131072        |
+========+==================+===============+=====================================================+
+---------------------------+---------------+-----------------------------------------------------+
| NPU ID                    | Process id    | Process name             | Process memory(MB)       |
+===========================+===============+=====================================================+
| No running processes found in NPU 0                                                             |
+===========================+===============+=====================================================+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Running point chases reading 16 KiB of integer payload per launch, it stays near 134ns through 18 blocks, rises to 182ns at 56, then jumps to 391ns at 64. This is consistent with a second wave beyond 56 Vector cores.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!b4Kk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a315507-0998-4335-841e-994ed23ddd38_2048x754.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="536" src="https://substackcdn.com/image/fetch/$s_!b4Kk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a315507-0998-4335-841e-994ed23ddd38_2048x754.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Then by running a scalar pointer-chase probe separately on every Cube and Vector core, recording load timings at matching addresses throughout a 128 MiB chain, we get the following graph. Each cell&amp;#8217;s color represents the mean absolute difference between two cores' address profiles, producing two groups that match the decoded dies.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!k-Ny!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff757e4d-1075-4230-9834-30076b620067_2048x1766.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1256" src="https://substackcdn.com/image/fetch/$s_!k-Ny!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff757e4d-1075-4230-9834-30076b620067_2048x1766.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Going further, by timing a Vector core&amp;#8217;s pointer chase while another core runs either memory traffic or register-only work; the extra slowdown reveals which subsystems share resources, supporting groups such as {0,2,4} and {1,3,5}. Mixed Cube/Vector launches identify each subsystem&amp;#8217;s one Cube and two Vectors, which we draw together within those groups, with physical positions remaining schematic.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zDr8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a69dca-aa4a-493a-826c-5a553ab5b23c_2048x1156.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="822" src="https://substackcdn.com/image/fetch/$s_!zDr8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a69dca-aa4a-493a-826c-5a553ab5b23c_2048x1156.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;CPU within the NPU&lt;/h2&gt;&lt;p&gt;Each 950PR comes with a variable number of Linx816 AArch64 ELF AICPUs. The MIDR numbers imply these cores are likely the same as the middle cores in the Kirin 9000S/9010. These AICPU cores have instruction set:&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-plaintext"&gt;fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid
asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve
asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2
frint svei8mm svebf16 i8mm bf16 dgh rng ecv&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For this SKU, there are 7 configured, 6 visible, and 5 executing AICPU cores. Other than device control it can provide CPU-operator support, such as KV metadata. The AICPU helps out for short work where D2H overhead take up most of the time.&lt;/p&gt;&lt;p&gt;For DSA, a small scheduling step reads the current sequence lengths and assigns indexer work to accelerator cores. Cube/Vector cores then compute INT8 indexer scores and select the top 2,048 indices. These planning, index selection, and gather steps are ran on AICPUs in vLLM-ascend implementation, and we compare their performance to running on the host CPU.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Bp9u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff134f741-de67-4f8a-8ee2-e5c8b23f19f6_2048x933.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="663" src="https://substackcdn.com/image/fetch/$s_!Bp9u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff134f741-de67-4f8a-8ee2-e5c8b23f19f6_2048x933.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Due to their limited compute performance, AICPU is only good for short work where overhead dominates, and work where data starts and is consumed at the NPU.&lt;/p&gt;&lt;h1&gt;Microbenchmarks&lt;/h1&gt;&lt;p&gt;Ascend 950PR is designed for prefill and recommendation. It gets lower memory bandwidth and core than its bigger brother the 950DT.&lt;/p&gt;&lt;p&gt;The results below are not from DeepSeek&amp;#8217;s contributions but from stock &lt;code&gt;torch.matmul&lt;/code&gt; on ascend resolving to &lt;code&gt;aclnnMatmul_MatMulV3Common_MatMulV3&lt;/code&gt;. We compared 1,055 BF16 GEMM shapes from several open-sourced models. Huawei&amp;#8217;s best kernels hits 99.7% of the ceiling, showing &lt;a href="https://github.com/deepseek-ai/DeepGEMM-ascend#dense-gemm"&gt;DeepSeek&amp;#8217;s 99+% from DeepGEMM&lt;/a&gt; isn&amp;#8217;t the only way to maximize utilization. Huawei engineers did good work too.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MQ5M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5c0a0e-1d96-4cfa-82a1-4abc4e516e56_2048x729.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="518" src="https://substackcdn.com/image/fetch/$s_!MQ5M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5c0a0e-1d96-4cfa-82a1-4abc4e516e56_2048x729.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The advantage is concentrated in compute-bound work. On the shapes below Ascend&amp;#8217;s ridge, its median achieved/attainable fraction is 41.5% versus H100&amp;#8217;s 46.8%. Some of Nvidia&amp;#8217;s results were power-limited and did not hit maximum SM clock: median power around 690-698 W out of a 700 W limit, and median sampled SM clocks at 1335-1470 MHz, below the max of 1830 MHz. Huawei approximated 599-600 W, at 1500-1550 MHz against its 1650 MHz reference.&lt;/p&gt;&lt;p&gt;Ascend&amp;#8217;s MXU design may contribute to some of this high utilization, Ascend stages matrix operands in dedicated L0A/L0B buffers and accumulators in L0C, with overlapping movement, computation and result handling. Huawei associates the enlarged L0C with more flexible tiling and reuse.&lt;/p&gt;&lt;p&gt;But of course, 950PR&amp;#8217;s falls behind on absolute values, sitting somewhere between A100 and MI300X.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MYoo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c575fd-460d-478f-b8ca-13edcaa27da6_2048x729.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="518" src="https://substackcdn.com/image/fetch/$s_!MYoo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c575fd-460d-478f-b8ca-13edcaa27da6_2048x729.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;MemBW&lt;/h2&gt;&lt;p&gt;Measuring HBM memory bandwidth, we see 950PR&amp;#8217;s effective bandwidth and bandwidth utilization surpassing H100 at small message size per buffers, and nearly matching H100 in bandwidth utilization at large message sizes.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!li6c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1944c9-44f6-4d56-8a57-cf906335c952_2048x759.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="540" src="https://substackcdn.com/image/fetch/$s_!li6c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1944c9-44f6-4d56-8a57-cf906335c952_2048x759.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/i/174558480/hbm-memory-bandwidth-performance"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A dip appears in the curve as &lt;a href="https://gitcode.com/cann/ops-math/blob/master/conversion/tensor_move/op_api/tensor_move.cpp#L81"&gt;Ascend switches copy methods&lt;/a&gt; to a Vector-core TensorMove kernel that has more startup cost, so a slightly larger copy suddenly takes longer. For very large copies, that extra cost becomes relatively small, so bandwidth rises again.&lt;/p&gt;&lt;p&gt;Note that high FLOPs utilization and bandwidth utilization does not necessarily translate to high MFU/MBU. Training, especially with FSDP, requires collectives, checkpointing, and data moving that can be hard to overlap. &lt;/p&gt;&lt;p&gt;As we mentioned in our Jalepeno article, a &amp;#8220;chip&amp;#8221; in benchmarks is just a social construct. Multiple dies can be glue to form a bigger &amp;#8220;chip&amp;#8221;.  Thus performance per watt or TCO is the best comparison. But for China, watts are far cheaper. We&amp;#8217;ll analyze Ascend&amp;#8217;s perf per TCO in a future article.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Hardware raises the ceiling, but software lets you reach that ceiling. Although Huawei&amp;#8217;s hardware may be beyond ~5 years behind(compared to A100), the software is right at the frontier.&lt;/p&gt;&lt;h1&gt;DeepSeek Open Source&lt;/h1&gt;&lt;p&gt;For the 6 repos that received ascend support(&lt;a href="https://github.com/tile-ai/tilelang"&gt;TileLang&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepGEMM-Ascend"&gt;DeepGEMM&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepEP-Ascend"&gt;DeepEP&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/TileKernels"&gt;TileKernels&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/FlashMLA"&gt;FlashMLA&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepSelect"&gt;DeepSelect&lt;/a&gt;), only TileLang is usable as of writing, and CANN 9.2.0 has not been released. &lt;a href="https://github.com/deepseek-ai/DeepGEMM-Ascend#requirements"&gt;Deepseek requires CANN 9.2.0&lt;/a&gt; which was released after time of writing, and a C++20 compiler is required which CANN 9.2.0-beta.2 does not provide. &lt;a href="https://github.com/deepseek-ai/DeepEP-Ascend#recommended-hdk-and-firmware"&gt;The HDK will be released on Oct 15&lt;/a&gt;. This comes after DeepSeek&amp;#8217;s &lt;a href="https://github.com/deepseek-ai/open-infra-index/tree/main#202502-open-source-week"&gt;open source week&lt;/a&gt; in 2025, where some of these repositories were released with Nvidia support only.&lt;/p&gt;&lt;p&gt;From the results above, we can see Huawei can already execute operations well; the symbiosis is about making the rest of the application &amp;amp; the work required to support it more efficient and reusable.&lt;/p&gt;&lt;h2&gt;Engineering runs both ways&lt;/h2&gt;&lt;p&gt;Huawei&amp;#8217;s architecture is already influencing how DeepSeek&amp;#8217;s software organizes data. Earlier FlashMLA KV-cache layouts stored quantized values and their scaling factors in separate regions. On Ascend, fetching a token then required separate transfers for its values and scales. The &lt;a href="https://github.com/deepseek-ai/FlashMLA/blob/main/docs/20260930-ascend-prefill-deep-dive.md#decoding-kv-cache-layout-optimization"&gt;new implementation&lt;/a&gt; places them together, reducing the number of transfer requests by the memory transfer engine(MTE).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IPZn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f5a9ed8-ba46-4d20-9158-41641fb98a15_1850x1170.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="921" src="https://substackcdn.com/image/fetch/$s_!IPZn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f5a9ed8-ba46-4d20-9158-41641fb98a15_1850x1170.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;From fast kernels to reusable kernel engineering&lt;/h2&gt;&lt;p&gt;Ascend 950 backend is merged into the main TileLang repository, rather than existing only in a separate Huawei adapter. It adds native compilation, scheduling, synchronization and runtime integration for Ascend&amp;#8217;s execution model.&lt;/p&gt;&lt;p&gt;TileLang makes Ascend kernels easier to write, but developers still need to account for the hardware. They choose the calculations, tile sizes and where data is stored. The compiler handles much of the coordination between Cube cores, Vector cores and data transfers.&lt;/p&gt;&lt;p&gt;Digging below the implementation and looking at its performance against CANN and Triton-ascend, it can match and beat CANN at certain cases; the preferred implementation changes with size.  This is a warm-cache simple and naive benchmark.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nXcL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09daeb23-5133-4316-a95c-afa2205f3165_2048x2032.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1445" src="https://substackcdn.com/image/fetch/$s_!nXcL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09daeb23-5133-4316-a95c-afa2205f3165_2048x2032.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AutoSchedule uses data dependencies and estimated execution times to plan which operations can overlap. It also chooses how many buffer slots to use within the available on-chip memory, allowing upcoming data to load while the current tile is being processed. Developers can guide these decisions when the default schedule is not suitable.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BzCB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c33e708-9c7b-4a84-8cae-0eed766fcd77_1758x956.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="792" src="https://substackcdn.com/image/fetch/$s_!BzCB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c33e708-9c7b-4a84-8cae-0eed766fcd77_1758x956.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On 950PR, AutoSchedule helps especially for smaller sizes, reducing execution time by up to 40% for a single operation.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jUIg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7751b4a-8006-40e5-80f5-f877ccdd7edd_2048x793.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!jUIg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7751b4a-8006-40e5-80f5-f877ccdd7edd_2048x793.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The compiler also inserts synchronization so operations wait for the data they need, while removing waits that other dependencies make unnecessary. It checks conditional branches too, so it does not assume an operation has completed when that branch might never execute. This reduces the synchronization work programmers must manage themselves.&lt;/p&gt;&lt;h2&gt;DeepEP&lt;/h2&gt;&lt;p&gt;Huawei has joined NVIDIA in commercializing large scale-up AI systems, with its Ascend supernodes extending tightly coupled accelerator interconnects across multiple racks from the 910 CloudMatrix384 to the 950 SuperPod,enabling wideEP scale-out. In the 30th September release, Huawei also released EP16 dispatch/combine benchmarks over URMA in the 950DT superpod.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zQvM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b2f555-a8c0-45d8-b45d-fb31b5140b31_2048x767.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="545" src="https://substackcdn.com/image/fetch/$s_!zQvM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3b2f555-a8c0-45d8-b45d-fb31b5140b31_2048x767.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://gitcode.com/cann/cann-recipes-infer/blob/master/docs/models/deepseek_v4_1/deepseek_v4.1_asc_comm_tech_report.md#%E6%80%A7%E8%83%BD%E6%95%B0%E6%8D%AE"&gt;Huawei&lt;/a&gt;, &lt;a href="https://github.com/deepseek-ai/DeepEP-ascend#performance"&gt;DeepSeek&lt;/a&gt;, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Huawei&amp;#8217;s dispatch is three sequential operators (pre/URMA/post) whereas GB300 is one fused call, and their post work includes receive completion, which our measurement includes, but also includes expansion by expert which GB300&amp;#8217;s results don&amp;#8217;t.&lt;/p&gt;&lt;p&gt;DeepEP-Ascend is a port of DeepEP V2.5, with the same python API but calls URMA and HCCL underneath. In July 2025, &lt;a href="https://github.com/deepseek-ai/DeepEP/issues/332"&gt;Huawei&amp;#8217;s Ascend team proposed DeepEP-Ascend under &lt;/a&gt;&lt;code&gt;deepseek-ai&lt;/code&gt;&lt;a href="https://github.com/deepseek-ai/DeepEP/issues/332"&gt;, but a DeepEP maintainer declined&lt;/a&gt;. Today, DeepEP-Ascend is distributed under DeepSeek&amp;#8217;s own organization.&lt;/p&gt;&lt;p&gt;Ascend&amp;#8217;s separate Cube and Vector execution paths create opportunities to overlap communication and computation, but do not make that overlap free. Expert computation can also require vector processing and data movement, while communication competes for shared memory bandwidth. Therefore there&amp;#8217;s a tradeoff on how much communication can be hidden without slowing the computation that runs alongside.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kZmE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ac9084-c2f0-4b72-bebc-3321ae01952c_1962x874.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="649" src="https://substackcdn.com/image/fetch/$s_!kZmE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ac9084-c2f0-4b72-bebc-3321ae01952c_1962x874.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://gitcode.com/cann/cann-recipes-infer/blob/d5859e6f4d5887661266bf22629b1f323c088ad8/docs/models/kimi_k3/kimi_k3_inference_guide.md#%E5%A4%9A%E6%B5%81%E7%BC%96%E6%8E%92%E4%B8%8E-npu-%E4%BA%B2%E5%92%8C%E4%BC%98%E5%8C%96"&gt;Huawei&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This resource-balancing problem is not unique to DeepSeek. Huawei&amp;#8217;s Kimi K3 recipe &lt;a href="https://gitcode.com/cann/cann-recipes-infer/blob/d5859e6f4d5887661266bf22629b1f323c088ad8/docs/models/kimi_k3/kimi_k3_inference_guide.md#%E5%A4%9A%E6%B5%81%E7%BC%96%E6%8E%92%E4%B8%8E-npu-%E4%BA%B2%E5%92%8C%E4%BC%98%E5%8C%96"&gt;explicitly restricts vector use&lt;/a&gt; to leave capacity for concurrent work, and chooses between dedicated CCU and Vector-based communication according to what must overlap. Faster individual operations are not enough: their resource demands must also fit together.&lt;/p&gt;&lt;p&gt;&lt;a href="http://deepep-ascend"&gt;DeepEP-Ascend&amp;#8217;s documentation&lt;/a&gt; identifies contention between combine processing and URMA communication for HBM resources, and says Huawei firmware improvements are planned to reduce it. This is the practical form of co-design: the model exposes a bottleneck, the implementation adapts, and the platform&amp;#8217;s development priorities respond to what remains.&lt;/p&gt;&lt;h2&gt;All planned&lt;/h2&gt;&lt;p&gt;In May&amp;#8217;s unverified DeepSeek investor meeting transcript, Liang Wenfeng said:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;#8220;So, when it comes to the chip gap between China and the US, I think the software ecosystem gap will eventually disappear. But on the hardware side, we face two separate disadvantages: it takes four Huawei accelerator cards to match one NVIDIA card, and Huawei is also roughly two years behind in bringing its hardware to market.&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;4 months later, the ecosystem gap did indeed narrow. The same transcript mentioned TileLang and helping Huawei get the ecosystem right.&lt;/p&gt;&lt;h1&gt;DSv4.1 Flash Optimizations&lt;/h1&gt;&lt;p&gt;Another part of the DeepSeek-Huawei symbiosis is that DeepSeek provides Huawei with weights, supporting Day-0 optimized releases, such as DeepSeek V4 and V4.1.&lt;/p&gt;&lt;p&gt;Ascend&amp;#8217;s accumulator design forces a different approach to attention. The Cube&amp;#8217;s L0C buffer cannot rescale accumulated outputs in place, while returning a rescaled output to L0C would require an expensive identity-matrix multiplication. &lt;a href="https://github.com/deepseek-ai/FlashMLA/blob/main/docs/20260930-ascend-prefill-deep-dive.md"&gt;DeepSeek instead keeps the running output accumulator in Vector UB&lt;/a&gt;, transferring partial sums from L0C when needed for rescaling and accumulation. Hopper holds its accumulator in registers, while Blackwell provides loads and stores between tensor memory and registers, avoiding this particular restriction&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!edJT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3741c14f-30e9-4883-950f-4a1e32af842d_2048x664.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="472" src="https://substackcdn.com/image/fetch/$s_!edJT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3741c14f-30e9-4883-950f-4a1e32af842d_2048x664.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Profile&lt;/h2&gt;&lt;p&gt;Huawei also released a profile of one rank of DeepSeek-V4.1-Flash on a Huawei Ascend 950DT deployment of 32 chips, together with its host threads. In June, we covered a similar profile, that of DeepSeek V4 Pro&amp;#8217;s. &lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Many components are similar, like the use of AICPU and separation of some layers to different streams.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Jyrn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F780f172c-a874-4a1d-b705-b439d10e1312_2048x759.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="540" src="https://substackcdn.com/image/fetch/$s_!Jyrn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F780f172c-a874-4a1d-b705-b439d10e1312_2048x759.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The execution order is 40 target-model layers, the target LM head, 3 DSpark drafter blocks, the draft LM head, and 5 sampling rounds. The main compute runs on Stream 19; the drafter&amp;#8217;s run on Stream 173. The V2 MC&amp;#178; kernels that fused computation and communication from the DSv4 Pro trace shows up again, as V3 this time. This is why only 4 AI CPU-launched HCCL operations appear per step, against 43 expert dispatches. These are the target and draft vocabulary heads&amp;#8217; &lt;code&gt;hcom_allGather&lt;/code&gt; and &lt;code&gt;hcom_alltoallv&lt;/code&gt;: gather hidden states, run the LM-head GEMM, then exchange logits.&lt;/p&gt;&lt;p&gt;The drafter blocks run once to produce base logits for the draft positions. The subsequent Markov head models token dependencies through sampling and embedding feedback. It does not rerun the transformer blocks for each proposal. The end of each step changes from MoE and attention to a serial chain of small projections and sampling operations.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xwin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3e578f-23de-4c3c-88b7-e625782f67ca_2048x831.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="591" src="https://substackcdn.com/image/fetch/$s_!Xwin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3e578f-23de-4c3c-88b7-e625782f67ca_2048x831.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!As98!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f8f988c-ff82-4a1f-b1b4-e5d6bba6b3ad_2048x843.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="599" src="https://substackcdn.com/image/fetch/$s_!As98!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f8f988c-ff82-4a1f-b1b4-e5d6bba6b3ad_2048x843.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As mentioned and explained in previous articles, speculative decoding is a lossless method to predict draft tokens and use a single pass to verify them, amortizing weight loading. In the decode step diagram above, we can see how much faster DSpark token drafting is compared to the verification step.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1b9M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F344fe07e-5770-415f-a19d-20302d364b1f_2048x831.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="591" src="https://substackcdn.com/image/fetch/$s_!1b9M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F344fe07e-5770-415f-a19d-20302d364b1f_2048x831.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;DSv4.1 Flash is also the first DeepSeek model to use Engram, but after &lt;a href="https://qwen.ai/blog?id=qwen3.8-flash-next"&gt;Qwen&lt;/a&gt; and &lt;a href="https://huggingface.co/meituan-longcat/LongCat-Flash-Lite"&gt;Meituan Longcat&lt;/a&gt;. &lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Because Engram takes token IDs as input, the fetch can be done async and overlapped with layer 0&amp;#8217;s compute. This allows offloading to DRAM without performance loss vis-a-vis HBM, but offloading to a PCIe 4.0 SSD degrades performance. Read more in our Engram analysis:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mglv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4941eee2-8e0e-4af5-a669-0c30d969f0a8_2048x688.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="489" src="https://substackcdn.com/image/fetch/$s_!Mglv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4941eee2-8e0e-4af5-a669-0c30d969f0a8_2048x688.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Summarizing kernel durations in the steady-state window, Stream 19 is occupied for 88.8% of the window but contributes 72.6% of summed device time because other streams overlap it. In the middle, the substantial &lt;code&gt;MIX_AIV&lt;/code&gt; and &lt;code&gt;AI_VECTOR_CORE &lt;/code&gt;bands contain dispatch/combine as well as quantization.&lt;/p&gt;&lt;p&gt;Ascend exposes separately scheduled cube and vector paths through &lt;code&gt;MIX_AIC&lt;/code&gt;, &lt;code&gt;MIX_AIV&lt;/code&gt;, &lt;code&gt;AI_CORE&lt;/code&gt;, and &lt;code&gt;AI_VECTOR_CORE&lt;/code&gt;. Each event has a task type, so the duration accounting is a partition. Mixed types still involve work beyond a single physical unit; their names do not turn elapsed kernel duration into measured cube-only or vector-only utilization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vK8L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F382a08c7-e8fa-4db1-9653-c8982c5ff491_2048x747.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="531" src="https://substackcdn.com/image/fetch/$s_!vK8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F382a08c7-e8fa-4db1-9653-c8982c5ff491_2048x747.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A first-order scenario doubling cube throughput while leaving other device work unchanged gives a 1.32&amp;#215; step improvement. It holds measured stream overlap constant and leaves idle unchanged. This is a composition scenario, not a prediction for new silicon: mixed task types are not exclusive utilization measurements, and bandwidth, dependencies, and scheduling can change the result.&lt;/p&gt;&lt;p&gt;Quantization fusion likewise remains an opportunity, its attraction is the repeated producer-to-consumer boundary and its large share of the vector bucket that also carries fused communication.&lt;/p&gt;&lt;h1&gt;Ecosystem gaps&lt;/h1&gt;&lt;p&gt;One issue however is the partnership could work extremely well for DeepSeek without making Ascend equally usable for everyone else. &lt;/p&gt;&lt;p&gt;For DeepSeek, building compilers, maintaining kernels and debugging vendor-specific behavior competes with model research and product development, albeit temporarily.&lt;/p&gt;&lt;p&gt;For everyone else, there may be issues when hardware configurations doesn&amp;#8217;t align with DeepSeek&amp;#8217;s. Most optimizations were on supernodes, and as of &lt;code&gt;vLLM-Ascend_0.26.0rc1&lt;/code&gt; many issues exist working with Ascend on x86 hosts:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;No DeepGEMM support on x86 hosts&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Dependency on &lt;code&gt;memfabric_hybrid&lt;/code&gt; containing hardcoded ARM headers for vLLM-Ascend, blocking startup; vLLM-Ascend doesn&amp;#8217;t work out of the box.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;CPU-binding skipped for non-ARM CPUs on vLLM-Ascend&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;No NPU + x86 CI, &lt;a href="https://github.com/hicann/cann-recipes-infer/blob/d5859e6f4d5887661266bf22629b1f323c088ad8/integration/vllm/dsv41-flash-single-npu-moe-offload/README.md"&gt;patches needed&lt;/a&gt; for some recipes&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/huawei-deepseek"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-10-21T09:34:38+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/datacenters-2027-the-year-of-acceleration</id>
    <title>Datacenters 2027: The Year of Acceleration, +50GW in a Single Year</title>
    <updated>2026-10-18T21:39:38+00:00</updated>
    <author>
      <name>Jeremie Eliahou Ontiveros</name>
    </author>
    <content type="html">&lt;p&gt;Not a week goes without another piece of datacenter FUD. &lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;We&amp;#8217;ve already debunked  depth why moratoriums aren&amp;#8217;t as impactful as one may think&lt;/a&gt;. Despite that, many still misunderstand the pace of the global AI datacenter buildout. Just the other week, Brad Gerstner from Altimeter showed our data on the All-In Podcast and stated that &amp;#8220;SemiAnalysis&amp;#8217; forecast of +43GW in 2027 is too aggressive&amp;#8221; and that he thought only about 25GW would get built, close to half of our number, based on his &amp;#8220;hunch&amp;#8221;. But let&amp;#8217;s not operate on hunches.&lt;/p&gt;&lt;p&gt;It&amp;#8217;s very tempting to cede to the FUD given all the constraints on the datacenter buildout: power, labor, supply chains, capital, and many more. But at SemiAnalysis, we care about the truth, not about narratives. And here&amp;#8217;s the truth for you: one picture, &amp;gt;24GW of datacenters in advanced stage of construction, all to be delivered in 2027. Most of them are more than halfway done, with exterior cooling and electrical equipment already installed. That&amp;#8217;s just 40 campuses, a tiny share of the multiple hundred sites in advanced stage of construction. We track them all, and for the full granularity, use our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wLn0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1957d3e-9536-4a04-a41f-e7518474b804_3948x2998.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1106" src="https://substackcdn.com/image/fetch/$s_!wLn0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1957d3e-9536-4a04-a41f-e7518474b804_3948x2998.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, there are plenty of challenges and shortages. Behind these pictures, there are labor issues, supply chain delays, fundraising challenges, among many others. We&amp;#8217;ve written in-depth about &lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;Modular Datacenters and Labor&lt;/a&gt;, Datacenter &lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-1-electrical"&gt;Electrical&lt;/a&gt; systems, &lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-2-cooling-systems"&gt;Cooling&lt;/a&gt; systems, &lt;a href="https://newsletter.semianalysis.com/p/65b2f4e2-b298-4b11-97b1-e40721e15ee5"&gt;Behind-The-Meter power&lt;/a&gt;, the &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;US Grid Constraints&lt;/a&gt;, and &lt;a href="https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i"&gt;Nvidia&amp;#8217;s ecosystem financial support&lt;/a&gt;. But the fact is simple: gigantic sites are simply getting built, and many are on time. For example, just go look at what Crusoe built in Abilene, what AWS built in Indiana, or QTS/Microsoft&amp;#8217;s giant site in Georgia. These are the sites that have produced SOTA technology like GPT-6 and Fable 5.5. Looking ahead, despite all the constraints, an accelerating number of giant sites keep getting built, as shown by our Top 40 picture&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!89EX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f194279-f882-4a78-8b9c-76cde8e8b07a_4000x4374.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1592" src="https://substackcdn.com/image/fetch/$s_!89EX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f194279-f882-4a78-8b9c-76cde8e8b07a_4000x4374.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;If you ask any datacenter builder, they&amp;#8217;ll tell you how hard it is, how some workers aren&amp;#8217;t showing up, how vendors are delayed, and many other issues. All of this is accurate. And that&amp;#8217;s why we&amp;#8217;ve successfully called out countless datacenter delays and keep calling out developer timelines that appear overly aggressive in our Datacenter model, including the &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Oracle New Mexico Force Majure site delay in April&lt;/a&gt;. To be fair, +50GW is essentially the global cumulative datacenter market up through 2024 being built in one year! But our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt; adjusts for all of that and still points to a material acceleration in datacenter capacity in 2027. So, what are we seeing that others can&amp;#8217;t?&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1fXY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8a61ab9-ad4e-43e1-b6ec-21295e10b7d4_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!1fXY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8a61ab9-ad4e-43e1-b6ec-21295e10b7d4_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s dig in. We&amp;#8217;ll explore the following topics in this report:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;SemiAnalysis proprietary leading indicators: we&amp;#8217;ll show a sneak peak of our proprietary data supporting our forecast, such as self-build construction starts and datacenter leasing (in MWs and USD). Year-to-date, &lt;strong&gt;slightly under USD 1T of binding / non-cancellable datacenter leases have been signed&lt;/strong&gt; &amp;#8211; that&amp;#8217;s key to supporting our aggressive 2027-28 forecast.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The shape of the buildout: how can we support +50GW in a single year? Where, what design, what power solutions?&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The &amp;#8220;real&amp;#8221; question: are we going to face a datacenter oversupply? As we explained in &lt;a href="https://newsletter.semianalysis.com/p/the-great-ai-silicon-shortage"&gt;The Great Silicon Shortage&lt;/a&gt;, datacenters &amp;amp; power may be the tip of the iceberg, with memory and logic possibly becoming the new #1 constraint in 2027-28.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Overall, we are very excited about 2027. The natural implication of the acceleration will be significantly more compute supply. That means cheaper and smarter AI, faster pace of AI model progress, and likely material revenue acceleration for leading AI labs and other token vendors. That also means unthinkable capex numbers. Reflexively rates will have to shoot up to enable the buildouts from a capital demand perspective. Let&amp;#8217;s dive in!&lt;/p&gt;&lt;h1&gt;SemiAnalysis Datacenter Leading Indicators: how we see the buildout before everyone else&lt;/h1&gt;&lt;p&gt;Today we want to dive into two crucial indicators that give us strong confidence on our 2027 forecast. The first one is quarterly self-build construction starts. To accurately forecast US hyperscalers, we track the exact construction evolution of every single building. And the conclusion is simple: US hyperscalers have never launched more construction of datacenters. Each quarter, we track how many MWs start construction, and that number is going parabolic, driven in particular by two hyperscalers. If you want to know who or track the granularity of our data, subscribe to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model.&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lbMc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8194c7-84a9-4d3e-9c27-6df0f9dfd16e_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!lbMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8194c7-84a9-4d3e-9c27-6df0f9dfd16e_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The second indicator is Datacenter Leasing. We&amp;#8217;ve talked about this a lot in prior reports, but as a quick recap: given the capital-intensity of building multi hundred MW datacenters, developers typically only spend 5-10% of project capital without a customer. They need a &amp;#8220;pre-lease&amp;#8221; to fund and develop the whole project. That&amp;#8217;s typically a 15-20 year contract, with a TCV of $30-50B per GW. Check out our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;HPC Lease Tracker&lt;/a&gt; as part of the &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; to dive into actual contract economics.&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;As such, tracking these lease contracts is a key leading indicator, as it leads debt raises, which itself leads the actual buildout. A big reason why 2026 datacenter growth isn&amp;#8217;t &amp;#8220;that&amp;#8221; high relative to 2025, is that quarterly datacenter leasing remained relatively stable between H2 2023 and H1 2025. Of course, the key reason was the Microsoft Datacenter Freeze, which we called out before anyone else in December 2024 for &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter model subscribers&lt;/a&gt;: the Redmond giant single-handedly drove the leasing market in 2023 and 2024, then paused, and others could only pick up what was left behind.&lt;/p&gt;&lt;p&gt;Since H2 2025, things have dramatically changed. Oracle kicked off the era of gigantic leases, after closing on ~4.5GW of datacenter IT capacity across three sites between August and October 2025. Everyone else followed, and the pool of buyers has never been broader, with Meta, AWS, Microsoft, Google, Nvidia, AMD, Anthropic and OpenAI all being in the market for GW-scale leases. There&amp;#8217;s also a long tail of Neoclouds signing hundred-MW-scale deals.&lt;/p&gt;&lt;p&gt;In USD terms, this means an unprecedented amount of lease value that builders can use to raise debt. &lt;strong&gt;Just in 2026 year-to-date, we&amp;#8217;ve identified over a trillion USD of lease value that was signed and closed&lt;/strong&gt;. That trillion is supporting a gigantic datacenter buildout in 2027-28. Our new &lt;a href="https://semianalysis.com/compute-capital-and-markets/"&gt;Compute, Capital &amp;amp; Markets Model&lt;/a&gt; is now tracking all the debt raises and can confirm that most of this debt has been raised.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!N8ut!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabcb9934-0e1f-4907-bd45-fbf3321fd790_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!N8ut!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabcb9934-0e1f-4907-bd45-fbf3321fd790_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;The shape of the buildout: how to build 50GW in a year&lt;/h1&gt;&lt;p&gt;Tracking all of these leading indicators has enabled us to &lt;a href="https://semianalysis.com/industrials-model/"&gt;forecast, before anyone else, the upcoming surge in orders for many industrial suppliers like Vertiv, ABB, Sterling Infrastructure. Check out our Industrials Model for in-depth coverage&lt;/a&gt;. However, the challenge is now going from orders to delivery. And resources have obviously become constrained, as power, labor, and sheer regulatory overhead are enormous burdens for developers. But the industry has promptly reacted with innovation.&lt;/p&gt;&lt;p&gt;The first step is to simplify datacenter designs. We show below how Google has modularized their electrical architecture, removing a significant amount of outdoors cabling that requires onsite assembly, replacing them with prefabricated electrical modules. We track all the equipment changes (including suppliers) for datacenter designs and forecast orders in our &lt;a href="https://semianalysis.com/industrials-model/"&gt;Industrials Model&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mZ9o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c96353-a0dc-4b9a-ab44-644a6e11bf90_4657x1780.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="557" src="https://substackcdn.com/image/fetch/$s_!mZ9o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c96353-a0dc-4b9a-ab44-644a6e11bf90_4657x1780.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;Source: SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Others have opted for more radical design changes. One example is &lt;a href="https://newsletter.semianalysis.com/p/meta-superintelligence-leadership-compute-talent-and-data"&gt;Meta with its tent design, that we exclusively unveiled over a year ago&lt;/a&gt;. Another one is AWS which has materially simplified their shell design and launched a new rapid design dubbed &amp;#8220;SAMDC&amp;#8221;. Data halls are also increasingly prefabricated, an effort called Project Houdini at AWS. Construction timelines are now under 10 months. Hence our &amp;#8220;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;LEGO Datacenters&lt;/a&gt;&amp;#8221; title for the modular movement, you literally slot them in and go, and doing so allows for MEP labor (7-11 months of work) to drop up to 63%! We will have a full deep dive on the labor of the 2027 buildout coming soon.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TVar!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b80f130-ccb7-476b-ae8a-7a6efb413914_3114x2171.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1015" src="https://substackcdn.com/image/fetch/$s_!TVar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b80f130-ccb7-476b-ae8a-7a6efb413914_3114x2171.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;Source: SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In addition to hyperscale selfbuild, datacenter developers promoting prefabricated designs have also been remarkably successful. DayOne is likely the best example. With a total of ~3GW leased since their first deal in early 2023, the Singaporean company has been a rocket ship in terms of construction speed. While traditional developers have &amp;gt;18 months build timelines, DayOne cut this to ~9 months, which was key to signing huge deals with Firmus, OpenAI and Nvidia.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nf6k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F784d4a9e-6f1a-47ae-becd-2f635a64d099_4914x2491.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="738" src="https://substackcdn.com/image/fetch/$s_!nf6k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F784d4a9e-6f1a-47ae-becd-2f635a64d099_4914x2491.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Another core issue is power, and again we think the issue is largely solved. We&amp;#8217;ve been the first to talk about all issues on power, &lt;a href="https://newsletter.semianalysis.com/p/ai-datacenter-energy-dilemma-race"&gt;since March 2024&lt;/a&gt; and subsequently given the &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;grid headroom dips negative at the end of 2027&lt;/a&gt;. This ended up driving &lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;AI Labs and hyperscalers to build their own power plants&lt;/a&gt;, better known as Behind-the-meter generation, bypassing 5-10year grid interconnection timelines. And while turbine incumbents like GEV quickly faced production bottlenecks, the industry quickly reacted and we&amp;#8217;ve since seen a surge in new OEMs and new solutions supplying the market. From fuel cells to truck engines to refurbished turbines, the power generation problem has broadly been solved.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AwVg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e04cb8-6db2-48d2-a602-a5e1d5b00ac3_2430x1296.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!AwVg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e04cb8-6db2-48d2-a602-a5e1d5b00ac3_2430x1296.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/energy-model/"&gt;Source: SemiAnalysis Energy Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In addition, the buildout is now geographically diversifying. This naturally bypasses US labor, power, and (in some countries) permitting constraints. And as shown below, the ex-US buildout is sharply accelerating in 2027, and we expect it to gain a lot of market share in 2028, largely driven by US challenges.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uDKu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d297773-64db-4139-964b-8a2ec8f7a982_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!uDKu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d297773-64db-4139-964b-8a2ec8f7a982_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;The Real Question: Will We Have an Oversupply of Datacenters?&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/datacenters-2027-the-year-of-acceleration"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/datacenters-2027-the-year-of-acceleration"/>
    <summary type="html">&lt;p&gt;Not a week goes without another piece of datacenter FUD. &lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;We&amp;#8217;ve already debunked  depth why moratoriums aren&amp;#8217;t as impactful as one may think&lt;/a&gt;. Despite that, many still misunderstand the pace of the global AI datacenter buildout. Just the other week, Brad Gerstner from Altimeter showed our data on the All-In Podcast and stated that &amp;#8220;SemiAnalysis&amp;#8217; forecast of +43GW in 2027 is too aggressive&amp;#8221; and that he thought only about 25GW would get built, close to half of our number, based on his &amp;#8220;hunch&amp;#8221;. But let&amp;#8217;s not operate on hunches.&lt;/p&gt;&lt;p&gt;It&amp;#8217;s very tempting to cede to the FUD given all the constraints on the datacenter buildout: power, labor, supply chains, capital, and many more. But at SemiAnalysis, we care about the truth, not about narratives. And here&amp;#8217;s the truth for you: one picture, &amp;gt;24GW of datacenters in advanced stage of construction, all to be delivered in 2027. Most of them are more than halfway done, with exterior cooling and electrical equipment already installed. That&amp;#8217;s just 40 campuses, a tiny share of the multiple hundred sites in advanced stage of construction. We track them all, and for the full granularity, use our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wLn0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1957d3e-9536-4a04-a41f-e7518474b804_3948x2998.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1106" src="https://substackcdn.com/image/fetch/$s_!wLn0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1957d3e-9536-4a04-a41f-e7518474b804_3948x2998.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, there are plenty of challenges and shortages. Behind these pictures, there are labor issues, supply chain delays, fundraising challenges, among many others. We&amp;#8217;ve written in-depth about &lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;Modular Datacenters and Labor&lt;/a&gt;, Datacenter &lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-1-electrical"&gt;Electrical&lt;/a&gt; systems, &lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-2-cooling-systems"&gt;Cooling&lt;/a&gt; systems, &lt;a href="https://newsletter.semianalysis.com/p/65b2f4e2-b298-4b11-97b1-e40721e15ee5"&gt;Behind-The-Meter power&lt;/a&gt;, the &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;US Grid Constraints&lt;/a&gt;, and &lt;a href="https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i"&gt;Nvidia&amp;#8217;s ecosystem financial support&lt;/a&gt;. But the fact is simple: gigantic sites are simply getting built, and many are on time. For example, just go look at what Crusoe built in Abilene, what AWS built in Indiana, or QTS/Microsoft&amp;#8217;s giant site in Georgia. These are the sites that have produced SOTA technology like GPT-6 and Fable 5.5. Looking ahead, despite all the constraints, an accelerating number of giant sites keep getting built, as shown by our Top 40 picture&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!89EX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f194279-f882-4a78-8b9c-76cde8e8b07a_4000x4374.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1592" src="https://substackcdn.com/image/fetch/$s_!89EX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f194279-f882-4a78-8b9c-76cde8e8b07a_4000x4374.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;If you ask any datacenter builder, they&amp;#8217;ll tell you how hard it is, how some workers aren&amp;#8217;t showing up, how vendors are delayed, and many other issues. All of this is accurate. And that&amp;#8217;s why we&amp;#8217;ve successfully called out countless datacenter delays and keep calling out developer timelines that appear overly aggressive in our Datacenter model, including the &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Oracle New Mexico Force Majure site delay in April&lt;/a&gt;. To be fair, +50GW is essentially the global cumulative datacenter market up through 2024 being built in one year! But our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt; adjusts for all of that and still points to a material acceleration in datacenter capacity in 2027. So, what are we seeing that others can&amp;#8217;t?&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1fXY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8a61ab9-ad4e-43e1-b6ec-21295e10b7d4_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!1fXY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8a61ab9-ad4e-43e1-b6ec-21295e10b7d4_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s dig in. We&amp;#8217;ll explore the following topics in this report:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;SemiAnalysis proprietary leading indicators: we&amp;#8217;ll show a sneak peak of our proprietary data supporting our forecast, such as self-build construction starts and datacenter leasing (in MWs and USD). Year-to-date, &lt;strong&gt;slightly under USD 1T of binding / non-cancellable datacenter leases have been signed&lt;/strong&gt; &amp;#8211; that&amp;#8217;s key to supporting our aggressive 2027-28 forecast.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The shape of the buildout: how can we support +50GW in a single year? Where, what design, what power solutions?&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The &amp;#8220;real&amp;#8221; question: are we going to face a datacenter oversupply? As we explained in &lt;a href="https://newsletter.semianalysis.com/p/the-great-ai-silicon-shortage"&gt;The Great Silicon Shortage&lt;/a&gt;, datacenters &amp;amp; power may be the tip of the iceberg, with memory and logic possibly becoming the new #1 constraint in 2027-28.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Overall, we are very excited about 2027. The natural implication of the acceleration will be significantly more compute supply. That means cheaper and smarter AI, faster pace of AI model progress, and likely material revenue acceleration for leading AI labs and other token vendors. That also means unthinkable capex numbers. Reflexively rates will have to shoot up to enable the buildouts from a capital demand perspective. Let&amp;#8217;s dive in!&lt;/p&gt;&lt;h1&gt;SemiAnalysis Datacenter Leading Indicators: how we see the buildout before everyone else&lt;/h1&gt;&lt;p&gt;Today we want to dive into two crucial indicators that give us strong confidence on our 2027 forecast. The first one is quarterly self-build construction starts. To accurately forecast US hyperscalers, we track the exact construction evolution of every single building. And the conclusion is simple: US hyperscalers have never launched more construction of datacenters. Each quarter, we track how many MWs start construction, and that number is going parabolic, driven in particular by two hyperscalers. If you want to know who or track the granularity of our data, subscribe to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model.&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lbMc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8194c7-84a9-4d3e-9c27-6df0f9dfd16e_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!lbMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd8194c7-84a9-4d3e-9c27-6df0f9dfd16e_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The second indicator is Datacenter Leasing. We&amp;#8217;ve talked about this a lot in prior reports, but as a quick recap: given the capital-intensity of building multi hundred MW datacenters, developers typically only spend 5-10% of project capital without a customer. They need a &amp;#8220;pre-lease&amp;#8221; to fund and develop the whole project. That&amp;#8217;s typically a 15-20 year contract, with a TCV of $30-50B per GW. Check out our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;HPC Lease Tracker&lt;/a&gt; as part of the &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; to dive into actual contract economics.&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;As such, tracking these lease contracts is a key leading indicator, as it leads debt raises, which itself leads the actual buildout. A big reason why 2026 datacenter growth isn&amp;#8217;t &amp;#8220;that&amp;#8221; high relative to 2025, is that quarterly datacenter leasing remained relatively stable between H2 2023 and H1 2025. Of course, the key reason was the Microsoft Datacenter Freeze, which we called out before anyone else in December 2024 for &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter model subscribers&lt;/a&gt;: the Redmond giant single-handedly drove the leasing market in 2023 and 2024, then paused, and others could only pick up what was left behind.&lt;/p&gt;&lt;p&gt;Since H2 2025, things have dramatically changed. Oracle kicked off the era of gigantic leases, after closing on ~4.5GW of datacenter IT capacity across three sites between August and October 2025. Everyone else followed, and the pool of buyers has never been broader, with Meta, AWS, Microsoft, Google, Nvidia, AMD, Anthropic and OpenAI all being in the market for GW-scale leases. There&amp;#8217;s also a long tail of Neoclouds signing hundred-MW-scale deals.&lt;/p&gt;&lt;p&gt;In USD terms, this means an unprecedented amount of lease value that builders can use to raise debt. &lt;strong&gt;Just in 2026 year-to-date, we&amp;#8217;ve identified over a trillion USD of lease value that was signed and closed&lt;/strong&gt;. That trillion is supporting a gigantic datacenter buildout in 2027-28. Our new &lt;a href="https://semianalysis.com/compute-capital-and-markets/"&gt;Compute, Capital &amp;amp; Markets Model&lt;/a&gt; is now tracking all the debt raises and can confirm that most of this debt has been raised.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!N8ut!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabcb9934-0e1f-4907-bd45-fbf3321fd790_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!N8ut!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabcb9934-0e1f-4907-bd45-fbf3321fd790_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;The shape of the buildout: how to build 50GW in a year&lt;/h1&gt;&lt;p&gt;Tracking all of these leading indicators has enabled us to &lt;a href="https://semianalysis.com/industrials-model/"&gt;forecast, before anyone else, the upcoming surge in orders for many industrial suppliers like Vertiv, ABB, Sterling Infrastructure. Check out our Industrials Model for in-depth coverage&lt;/a&gt;. However, the challenge is now going from orders to delivery. And resources have obviously become constrained, as power, labor, and sheer regulatory overhead are enormous burdens for developers. But the industry has promptly reacted with innovation.&lt;/p&gt;&lt;p&gt;The first step is to simplify datacenter designs. We show below how Google has modularized their electrical architecture, removing a significant amount of outdoors cabling that requires onsite assembly, replacing them with prefabricated electrical modules. We track all the equipment changes (including suppliers) for datacenter designs and forecast orders in our &lt;a href="https://semianalysis.com/industrials-model/"&gt;Industrials Model&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mZ9o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c96353-a0dc-4b9a-ab44-644a6e11bf90_4657x1780.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="557" src="https://substackcdn.com/image/fetch/$s_!mZ9o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1c96353-a0dc-4b9a-ab44-644a6e11bf90_4657x1780.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;Source: SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Others have opted for more radical design changes. One example is &lt;a href="https://newsletter.semianalysis.com/p/meta-superintelligence-leadership-compute-talent-and-data"&gt;Meta with its tent design, that we exclusively unveiled over a year ago&lt;/a&gt;. Another one is AWS which has materially simplified their shell design and launched a new rapid design dubbed &amp;#8220;SAMDC&amp;#8221;. Data halls are also increasingly prefabricated, an effort called Project Houdini at AWS. Construction timelines are now under 10 months. Hence our &amp;#8220;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;LEGO Datacenters&lt;/a&gt;&amp;#8221; title for the modular movement, you literally slot them in and go, and doing so allows for MEP labor (7-11 months of work) to drop up to 63%! We will have a full deep dive on the labor of the 2027 buildout coming soon.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TVar!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b80f130-ccb7-476b-ae8a-7a6efb413914_3114x2171.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1015" src="https://substackcdn.com/image/fetch/$s_!TVar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b80f130-ccb7-476b-ae8a-7a6efb413914_3114x2171.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;Source: SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In addition to hyperscale selfbuild, datacenter developers promoting prefabricated designs have also been remarkably successful. DayOne is likely the best example. With a total of ~3GW leased since their first deal in early 2023, the Singaporean company has been a rocket ship in terms of construction speed. While traditional developers have &amp;gt;18 months build timelines, DayOne cut this to ~9 months, which was key to signing huge deals with Firmus, OpenAI and Nvidia.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nf6k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F784d4a9e-6f1a-47ae-becd-2f635a64d099_4914x2491.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="738" src="https://substackcdn.com/image/fetch/$s_!nf6k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F784d4a9e-6f1a-47ae-becd-2f635a64d099_4914x2491.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Another core issue is power, and again we think the issue is largely solved. We&amp;#8217;ve been the first to talk about all issues on power, &lt;a href="https://newsletter.semianalysis.com/p/ai-datacenter-energy-dilemma-race"&gt;since March 2024&lt;/a&gt; and subsequently given the &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;grid headroom dips negative at the end of 2027&lt;/a&gt;. This ended up driving &lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;AI Labs and hyperscalers to build their own power plants&lt;/a&gt;, better known as Behind-the-meter generation, bypassing 5-10year grid interconnection timelines. And while turbine incumbents like GEV quickly faced production bottlenecks, the industry quickly reacted and we&amp;#8217;ve since seen a surge in new OEMs and new solutions supplying the market. From fuel cells to truck engines to refurbished turbines, the power generation problem has broadly been solved.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AwVg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e04cb8-6db2-48d2-a602-a5e1d5b00ac3_2430x1296.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!AwVg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e04cb8-6db2-48d2-a602-a5e1d5b00ac3_2430x1296.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/energy-model/"&gt;Source: SemiAnalysis Energy Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In addition, the buildout is now geographically diversifying. This naturally bypasses US labor, power, and (in some countries) permitting constraints. And as shown below, the ex-US buildout is sharply accelerating in 2027, and we expect it to gain a lot of market share in 2028, largely driven by US challenges.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uDKu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d297773-64db-4139-964b-8a2ec8f7a982_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!uDKu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d297773-64db-4139-964b-8a2ec8f7a982_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Source: SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;The Real Question: Will We Have an Oversupply of Datacenters?&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/datacenters-2027-the-year-of-acceleration"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-10-18T21:39:38+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/asml-is-building-a-hybrid-bonding</id>
    <title>ASML Is Building a Hybrid Bonding Tool!</title>
    <updated>2026-10-15T11:27:20+00:00</updated>
    <author>
      <name>Sherry Zhang</name>
    </author>
    <content type="html">&lt;p&gt;ASML has not announced anything yet, but its patent filings, a &lt;a href="https://www.thelec.net/news/articleView.html?idxno=5864"&gt;news report&lt;/a&gt; and its own roadmap all suggest so. We believe it will start with a die-to-wafer (D2W) hybrid bonding (HB) tool. This is harder to build than wafer-to-wafer but is where ASML could gain an edge. We see the move as a natural extension of ASML&amp;#8217;s vertical integration, and one that should strengthen its customer ties.&lt;/p&gt;&lt;p&gt;In this article we unpack the tool&amp;#8217;s design end to end, starting with patent filings. What makes it unique is that it &lt;strong&gt;runs on a track&lt;/strong&gt;. That changes how the tool and the dies move: each die rides its own holder past the process stations, and the tools get closer at each station to process the dies. The track&amp;#8217;s independent shuttles also lift station utilization, save on duplicate tooling, and enable heterogeneous integration.&lt;/p&gt;&lt;p&gt;We believe ASML could &lt;strong&gt;gain an edge in alignment accuracy and particle control&lt;/strong&gt; for Hybrid Bonding. These are the two factors that set bonding yield. And ASML has expertise in solving the same problems in lithography.&lt;/p&gt;&lt;p&gt;Despite the advantages, ASML &lt;strong&gt;still needs to solve challenges&lt;/strong&gt; around feed-forward metrology, the die-to-wafer contact, the modification of the non-bonding tools so they can process dies on the track, and keeping the whole loop clean.&lt;/p&gt;&lt;p&gt;We expect advanced logic, where D2W already runs in volume, to adopt ASML&amp;#8217;s D2W HB tool first. This is &lt;strong&gt;bad news for Besi&lt;/strong&gt;. Logic accounts for most of Besi&amp;#8217;s HB business today concentrated at TSMC and Intel. ASML has been working with both for more than two decades and just announced a joint photomask initiative in September. We won&amp;#8217;t be surprised to see a similar move in the back end process. Besi&amp;#8217;s HBM prospects are also weakening. Korean challengers are catching up, in addition to an HBM adoption that &lt;a href="https://semianalysis.com/institutional/de-specced-out-of-a-job-d2w-hbm-hybrid-bonding-goes-from-when-to-if/"&gt;we expect&lt;/a&gt; to slip to 2029 or beyond.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;ASML is Building a Hybrid Bonder&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;We did a deep dive on &lt;a href="https://newsletter.semianalysis.com/p/hybrid-bonding-process-flow-advanced"&gt;hybrid bonding&lt;/a&gt; in 2024, and we still see it as the most transformative innovation in semiconductor manufacturing since EUV. Wafer-to-wafer (W2W) hybrid bonding (HB) is already in volume in image sensors and 3D NAND, and DRAM makers will be next. &lt;strong&gt;Die-to-wafer (D2W) HB is moving slower&lt;/strong&gt;, because the industry still lacks mature tools that combine satisfying alignment accuracy and throughput (our check indicates upper bound in current applications is only one wafer per hour), which keeps cost per die high. Today D2W runs in volume only in logic: AMD has shipped hybrid-bonded V-Cache since 2022, and TSMC&amp;#8217;s SoIC bonds at about 6um pitch today and targets 4.5um around 2029. The market expected HBM to become the big D2W volume driver from 2028. However, our view is different: we believe &lt;a href="https://semianalysis.com/institutional/de-specced-out-of-a-job-d2w-hbm-hybrid-bonding-goes-from-when-to-if/"&gt;HBM will not adopt D2W HB before 2029&lt;/a&gt;, if at all.&lt;/p&gt;&lt;p&gt;Besi has led D2W and is the only supplier with tools in volume production. Everyone else is still trying to get a first tool qualified. But we believe &lt;strong&gt;the situation will soon change, because ASML is building a D2W hybrid bonding tool.&lt;/strong&gt; Management hasn&amp;#8217;t announced anything yet. But the company filed 27 bonding patent families between December 2022 and November 2024, most of them D2W, and the true count is likely higher because filings made after November 2024 are not yet public. &lt;a href="https://www.thelec.net/news/articleView.html?idxno=5864"&gt;The Elec&lt;/a&gt; also reported in March that ASML had started the architecture design of a hybrid bonder with Prodrive Technologies and VDL ETG.&lt;/p&gt;&lt;p&gt;In the anchor filing (&lt;a href="https://patents.google.com/patent/WO2025201788A1/en"&gt;WO2025201788A1&lt;/a&gt;), ASML drew how its bonding flow works. Interestingly, the system looks nothing like a traditional D2W bonder (see &lt;a href="https://newsletter.semianalysis.com/p/hybrid-bonding-process-flow-advanced"&gt;Advanced Packaging Part 5&lt;/a&gt; for how those work). Instead of a bond head picking each die off a diced wafer and placing it, ASML &lt;strong&gt;moves single dies on independent holders around a track&lt;/strong&gt; (Fig 1). Each die passes inspection, cleaning, plasma activation and metrology (topography, leveling and alignment) stations before it reaches the bonding station where the chuck lifts the bottom wafer up to meet the die. We unpack the design in the sections below.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 1: ASML&amp;#8217;s track-based D2W bonder, SA annotated and simplified&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DMy3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065d224-aa2f-4e22-be62-f11210f775a7_2046x1308.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="931" src="https://substackcdn.com/image/fetch/$s_!DMy3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065d224-aa2f-4e22-be62-f11210f775a7_2046x1308.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML; &lt;a href="https://semianalysis.com/wafer-fab-model/"&gt;SemiAnalysis Wafer Fabrication Equipment Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;ASML could be building a W2W hybrid bonding tool as well.&lt;/strong&gt; According to a &lt;a href="https://www.thelec.net/news/articleView.html?idxno=10055"&gt;patent analysis by Inha University&lt;/a&gt;, ASML is likely building W2W HB equipment on its TWINSCAN platform, leaning on its wafer overlay accuracy. We focus on the D2W machine in this note, because it is the harder tool to build and the one where ASML could gain a real edge.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&amp;#8230;as Part of its Vertical Integration Initiative&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;We believe this is a continuation of ASML&amp;#8217;s effort to integrate vertically and tighten customer relationships.&lt;/strong&gt; ASML bought Cymer for its light source in 2013, HMI for e-beam inspection in 2016 and Berliner Glas for optics modules in 2020. It &lt;a href="https://www.sec.gov/Archives/edgar/data/937966/000162828025045043/pressreleasequarterlyresul.htm"&gt;shipped&lt;/a&gt; its first back-end product, the XT:260 i-line packaging scanner, in 3Q25. And most recently, ASML announced joint initiatives with &lt;a href="https://www.asml.com/en/news/press-releases/2026/tsmc-and-asml-announce-industry-transition-to-large-format-photomasks-for-high-na-euv"&gt;TSMC&lt;/a&gt;, &lt;a href="https://www.asml.com/en/news/press-releases/2026/intel-foundry-and-asml-collaborate-to-accelerate-industry-readiness-for-high-na-euv"&gt;Intel Foundry&lt;/a&gt; and &lt;a href="https://www.asml.com/en/news/press-releases/2026/samsung-electronics-and-asml-expand-collaboration-on-next-generation-semiconductor-manufacturing"&gt;Samsung&lt;/a&gt; to move the industry from 6-inch to 12-inch photomasks for High NA EUV.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Building a bonder would be a natural next step.&lt;/strong&gt; In fact, ASML&amp;#8217;s own roadmap already puts bonding inside the front-end flow. Its 2024 Investor Day listed W2W and D2W hybrid bonding for NAND, DRAM and logic (Fig 2). And a &lt;a href="https://patents.google.com/patent/TW202607495A/en"&gt;July 2024 filing&lt;/a&gt; shows how the bonder and the scanner would work together by sharing die position data. Today a scanner printing on a bonded wafer must pre-align and coarse-align every die before it can expose. In ASML&amp;#8217;s design the bonder already knows where it put each die and hands that map (a &amp;#8220;coordinate system&amp;#8221; in the filing) to the scanner, which checks a few marks and exposes. Customers get faster lithography on bonded wafers, and ASML gets to sell the bonder and the scanner as a pair.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 2: ASML&amp;#8217;s map of front-end 3D integration&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!88il!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9161a19-850b-4e34-abab-d4de4d766fd5_1536x864.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!88il!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9161a19-850b-4e34-abab-d4de4d766fd5_1536x864.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML Investor Day, 14-Nov-2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;We expect advanced logic to be the first adopter.&lt;/strong&gt; Logic is where D2W HB already runs in volume, and where the alignment requirement keeps tightening. TSMC calls overlay &amp;#8220;always the biggest challenge&amp;#8221; for SoIC. As its HB pitch moves from 6um to 4.5um by 2029, the placement accuracy requirement will tighten further. ASML is strong in alignment, as we will elaborate below, so an edge here should help it win logic customers first. Advanced logic dies are also among the most expensive chips, so logic customers can afford a premium tool. We expect ASML to price its tools at a premium to peers.&lt;/p&gt;&lt;p&gt;In the next three sections, we discuss (1) the tool&amp;#8217;s track system - the most unusual thing about it compared with what is on the market; (2) how ASML&amp;#8217;s strengths in alignment, particle control and motion could make its HB tool superior; and (3) the challenges ASML or its supply chain partners still need to resolve to build a working tool. Let&amp;#8217;s dive in.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;What&amp;#8217;s Unique About the Tool&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;One of the most interesting things about the tool is that it &lt;strong&gt;runs on a track&lt;/strong&gt;. ASML names SuperTrak CONVEYANCE (Fig 3) as an example in its &lt;a href="https://patents.google.com/patent/WO2025201788A1/en"&gt;patent filing&lt;/a&gt;, so we assume it uses that track and we base our analysis on the track&amp;#8217;s published design.&lt;/p&gt;&lt;p&gt;The fundamental difference from a traditional bonder is where the die lives. In a Besi-type tool, the die is prepared elsewhere, and a bond head picks it up only for the final placement. &lt;strong&gt;In ASML&amp;#8217;s design, each die sits on its own holder from the moment it leaves the carrier and stays there until the bonding step&lt;/strong&gt;. The process stations are built around the track: the die stops in front of a station, the station cleans, activates or measures it in place, and the die moves on.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 3: SuperTrak CONVEYANCE track (HORIZON10 platform)&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dRG5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cfbe97-fa51-4614-bfd6-e603d64f8bf8_1342x523.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="523" src="https://substackcdn.com/image/fetch/$s_!dRG5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cfbe97-fa51-4614-bfd6-e603d64f8bf8_1342x523.png" width="1342" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Company website&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Now let&amp;#8217;s go through the process step by step&lt;/strong&gt;. For illustration, we took the patent drawing and labelled every station in Fig 4. A gripper takes the die off its carrier and sets it on an empty substrate holder (206), which carries it along the track (202). The die stops in turn at the inspection, cleaning, plasma activation, topographic inspection, leveling, coarse alignment, position adjustment and fine alignment stations (210 to 226). At each stop the die stays on its holder, and the station does its work. Note the reversal here: in the patent it is the station&amp;#8217;s sensor or head that moves in to reach the die, not the die that is carried into the tool as in today&amp;#8217;s flow. After these steps the die arrives at the bonding station (228).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;This bonding station deserves a closer look&lt;/strong&gt;. The first thing to note is that the final placement is done by the holder (206) and the chuck (234), not the track: SuperTrak&amp;#8217;s spec sheet puts the shuttles&amp;#8217; repeatability at about 10um, nowhere near the 50nm placement accuracy the bond needs. Next, zoom in on the right-hand part of Fig 4 for the bonding work. The chuck lifts the bottom wafer to within tens of microns of the die, the holder&amp;#8217;s actuators adjust the die&amp;#8217;s position, the die is pressed onto the wafer to form the bond, and the holder releases it. The empty holder then starts another loop.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 4: Patent WO2025201788A1 Fig. 2 (left) and Fig. 6 side view (right), SA annotated&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DnIe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494b8fba-1313-4368-99e8-6543930f76e0_2045x755.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="538" src="https://substackcdn.com/image/fetch/$s_!DnIe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494b8fba-1313-4368-99e8-6543930f76e0_2045x755.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML; &lt;a href="https://semianalysis.com/wafer-fab-model/"&gt;SemiAnalysis Wafer Fabrication Equipment Model&lt;/a&gt; &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This design has three major benefits:&lt;/p&gt;&lt;p&gt;First, &lt;strong&gt;independent shuttles lift the utilization of every station&lt;/strong&gt;. The number of stations per step can be set from that step&amp;#8217;s cycle time: a three-second cleaning step gets three stations, and a 1.2-second bond step gets one, so every station stays busy. The patent asks for exactly this, to &amp;#8220;occupy all process stations simultaneously&amp;#8221;.&lt;/p&gt;&lt;p&gt;Second, capacity is added by adding a station rather than a second tool, as long as the equipment chamber has room for it. That &lt;strong&gt;saves duplicate tooling and budget&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Last but not least, the design suits &lt;strong&gt;heterogeneous integration&lt;/strong&gt;: a new die type is a new software recipe, so mixed chiplets could share one line.&lt;/p&gt;&lt;p&gt;That said, the track brings its own challenges around the non-bonding stations and the cleanliness of the whole loop. We come back to them later.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;How ASML May Gain an Edge&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Before that, let&amp;#8217;s look at how ASML could bring its existing strengths to the HB tool.&lt;/p&gt;&lt;p&gt;First, a reminder of why &lt;strong&gt;alignment accuracy and cleanliness matter so much in hybrid bonding.&lt;/strong&gt; As we elaborated &lt;a href="https://newsletter.semianalysis.com/p/hybrid-bonding-process-flow-advanced"&gt;before&lt;/a&gt;, a &lt;a href="https://iopscience.iop.org/article/10.1149/2162-8777/ac7662"&gt;single 1um particle between two full-thickness wafers can unbond an area around 10mm across&lt;/a&gt;, resulting in a defective bond (Fig 5). So particle control is extremely important for HB. Alignment matters for two reasons: &lt;strong&gt;placement accuracy&lt;/strong&gt; sets bond yield directly, and &lt;strong&gt;alignment time&lt;/strong&gt; weighs far more on D2W throughput than on W2W because it compounds with the die count. These two hurdles are what make hybrid bonding almost a front-end process.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 5: A small particle opens a void and an open contact in hybrid bonding&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="232" src="https://substackcdn.com/image/fetch/$s_!_TqG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3511d6d-3406-48a5-b818-80aca90d0a7c_902x232.png" width="902" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We believe ASML can tackle both with decades of experience solving the same two problems in lithography.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;For alignment, we believe ASML can reuse its wafer-alignment sensor technology.&lt;/strong&gt; Based on its &lt;a href="https://patents.google.com/patent/TW202616420A/en"&gt;patent filings&lt;/a&gt;, the bonding system puts a tiny diffraction grating on each die and reads the die&amp;#8217;s position from the light the grating scatters. The principle is the same as &lt;a href="https://www.asml.com/en/company/stories/2021/fellow-simon-mathijssen-aligning-lithography-nanometer"&gt;ORION&lt;/a&gt;, the wafer-alignment sensor on every new TWINSCAN since 2017. ORION was built to read marks that CMP and etch have tilted or deformed (Fig 6), and a mark on a bonding die goes through the same CMP and plasma activation as the copper pads next to it, so it carries the same asymmetry. We believe the same sensor family can serve the D2W bonder.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 6: A symmetric and a tilted alignment mark. Process steps shift the apparent center; ORION&amp;#8217;s multi-color readout was built to see through that&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="159" src="https://substackcdn.com/image/fetch/$s_!NR0y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff401c807-b2b1-4291-82e2-ba55679929dd_564x159.png" width="564" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Source: ASML, Aligning lithography to the nanometer, Dec-2021&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Its sensing and motion capabilities also provide it with more room in total alignment error budget.&lt;/strong&gt; Its &lt;a href="https://www.asml.com/en/products/duv-lithography-systems/twinscan-nxt2100i"&gt;NXT:2100i&lt;/a&gt; holds 0.9nm overlay on a single machine. And ASML can already measure the distortion of a W2W bonded wafer and correct the next lithography layer for it, bringing post-bond overlay from 40-60nm down to below 4nm (Fig 7). These are litho numbers, not bond results. But they mean ASML&amp;#8217;s sensor and stage errors sit more than an order of magnitude below the 50nm a bonder needs. Higher stage precision leaves more room in a bonder&amp;#8217;s error budget for the other factors: die shift on the holder, thermal drift and movement during contact.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 7: ASML metrology plus scanner correction brings post-bond overlay to 2.5-3.9nm&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kznq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6bca63-32fe-4237-9030-273f28a2d894_1536x825.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="782" src="https://substackcdn.com/image/fetch/$s_!kznq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6bca63-32fe-4237-9030-273f28a2d894_1536x825.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML Investor Day, 14-Nov-2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Prodrive Technologies and VDL ETG are the &lt;a href="https://www.thelec.net/news/articleView.html?idxno=5864"&gt;likely&lt;/a&gt; component suppliers to help ASML&amp;#8217;s bonder move fast on motion. Prodrive makes the linear motors and drives for ASML&amp;#8217;s EUV maglev stages and has also built Hanwha Semitech&amp;#8217;s SHB2 Nano bonder. VDL ETG builds ASML&amp;#8217;s frames and modules (Fig 8).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 8: Prodrive&amp;#8217;s linear motor (left) and VDL ETG&amp;#8217;s wafer handler module (right)&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tObq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe914a2f5-f1c4-4aa3-ac7e-af959781a38b_1212x495.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="495" src="https://substackcdn.com/image/fetch/$s_!tObq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe914a2f5-f1c4-4aa3-ac7e-af959781a38b_1212x495.png" width="1212" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Company websites&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;On cleanliness, the requirements for ASML&amp;#8217;s EUV systems are more strict as a bonder&amp;#8217;s.&lt;/strong&gt; Few tool makers have fought particles at the nanometer scale for as long as ASML. EUV scanners move reticles and wafers in vacuum and keep reticle particle adders at a level &amp;#8220;&lt;a href="https://doi.org/10.1117/12.2514874"&gt;compatible with HVM requirements for sub-10nm node lithography&lt;/a&gt;&amp;#8221;. We believe ASML has thought about the bonding surfaces too: its &lt;a href="https://patents.google.com/patent/WO2026098870A1/en"&gt;bonding apparatus&lt;/a&gt; filing adds a tool that cleans the substrate supports and a sensor that watches their flatness, particle load and distortion.&lt;/p&gt;&lt;p&gt;That said, contaminants in a bonder differ from those in a scanner. Most are dicing debris on die edges and particles landing on freshly activated, hydrophilic surfaces. We look for more detail on how ASML handles these bonder-specific contaminants in future filings.&lt;/p&gt;&lt;p&gt;After the paywall we discuss the challenges ASML needs to tackle to build a working tool, and how its tool will impact on Besi&amp;#8217;s business prospects.&lt;/p&gt;&lt;h2&gt;Open Questions ASML Needs to Solve&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/asml-is-building-a-hybrid-bonding"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/asml-is-building-a-hybrid-bonding"/>
    <summary type="html">&lt;p&gt;ASML has not announced anything yet, but its patent filings, a &lt;a href="https://www.thelec.net/news/articleView.html?idxno=5864"&gt;news report&lt;/a&gt; and its own roadmap all suggest so. We believe it will start with a die-to-wafer (D2W) hybrid bonding (HB) tool. This is harder to build than wafer-to-wafer but is where ASML could gain an edge. We see the move as a natural extension of ASML&amp;#8217;s vertical integration, and one that should strengthen its customer ties.&lt;/p&gt;&lt;p&gt;In this article we unpack the tool&amp;#8217;s design end to end, starting with patent filings. What makes it unique is that it &lt;strong&gt;runs on a track&lt;/strong&gt;. That changes how the tool and the dies move: each die rides its own holder past the process stations, and the tools get closer at each station to process the dies. The track&amp;#8217;s independent shuttles also lift station utilization, save on duplicate tooling, and enable heterogeneous integration.&lt;/p&gt;&lt;p&gt;We believe ASML could &lt;strong&gt;gain an edge in alignment accuracy and particle control&lt;/strong&gt; for Hybrid Bonding. These are the two factors that set bonding yield. And ASML has expertise in solving the same problems in lithography.&lt;/p&gt;&lt;p&gt;Despite the advantages, ASML &lt;strong&gt;still needs to solve challenges&lt;/strong&gt; around feed-forward metrology, the die-to-wafer contact, the modification of the non-bonding tools so they can process dies on the track, and keeping the whole loop clean.&lt;/p&gt;&lt;p&gt;We expect advanced logic, where D2W already runs in volume, to adopt ASML&amp;#8217;s D2W HB tool first. This is &lt;strong&gt;bad news for Besi&lt;/strong&gt;. Logic accounts for most of Besi&amp;#8217;s HB business today concentrated at TSMC and Intel. ASML has been working with both for more than two decades and just announced a joint photomask initiative in September. We won&amp;#8217;t be surprised to see a similar move in the back end process. Besi&amp;#8217;s HBM prospects are also weakening. Korean challengers are catching up, in addition to an HBM adoption that &lt;a href="https://semianalysis.com/institutional/de-specced-out-of-a-job-d2w-hbm-hybrid-bonding-goes-from-when-to-if/"&gt;we expect&lt;/a&gt; to slip to 2029 or beyond.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;ASML is Building a Hybrid Bonder&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;We did a deep dive on &lt;a href="https://newsletter.semianalysis.com/p/hybrid-bonding-process-flow-advanced"&gt;hybrid bonding&lt;/a&gt; in 2024, and we still see it as the most transformative innovation in semiconductor manufacturing since EUV. Wafer-to-wafer (W2W) hybrid bonding (HB) is already in volume in image sensors and 3D NAND, and DRAM makers will be next. &lt;strong&gt;Die-to-wafer (D2W) HB is moving slower&lt;/strong&gt;, because the industry still lacks mature tools that combine satisfying alignment accuracy and throughput (our check indicates upper bound in current applications is only one wafer per hour), which keeps cost per die high. Today D2W runs in volume only in logic: AMD has shipped hybrid-bonded V-Cache since 2022, and TSMC&amp;#8217;s SoIC bonds at about 6um pitch today and targets 4.5um around 2029. The market expected HBM to become the big D2W volume driver from 2028. However, our view is different: we believe &lt;a href="https://semianalysis.com/institutional/de-specced-out-of-a-job-d2w-hbm-hybrid-bonding-goes-from-when-to-if/"&gt;HBM will not adopt D2W HB before 2029&lt;/a&gt;, if at all.&lt;/p&gt;&lt;p&gt;Besi has led D2W and is the only supplier with tools in volume production. Everyone else is still trying to get a first tool qualified. But we believe &lt;strong&gt;the situation will soon change, because ASML is building a D2W hybrid bonding tool.&lt;/strong&gt; Management hasn&amp;#8217;t announced anything yet. But the company filed 27 bonding patent families between December 2022 and November 2024, most of them D2W, and the true count is likely higher because filings made after November 2024 are not yet public. &lt;a href="https://www.thelec.net/news/articleView.html?idxno=5864"&gt;The Elec&lt;/a&gt; also reported in March that ASML had started the architecture design of a hybrid bonder with Prodrive Technologies and VDL ETG.&lt;/p&gt;&lt;p&gt;In the anchor filing (&lt;a href="https://patents.google.com/patent/WO2025201788A1/en"&gt;WO2025201788A1&lt;/a&gt;), ASML drew how its bonding flow works. Interestingly, the system looks nothing like a traditional D2W bonder (see &lt;a href="https://newsletter.semianalysis.com/p/hybrid-bonding-process-flow-advanced"&gt;Advanced Packaging Part 5&lt;/a&gt; for how those work). Instead of a bond head picking each die off a diced wafer and placing it, ASML &lt;strong&gt;moves single dies on independent holders around a track&lt;/strong&gt; (Fig 1). Each die passes inspection, cleaning, plasma activation and metrology (topography, leveling and alignment) stations before it reaches the bonding station where the chuck lifts the bottom wafer up to meet the die. We unpack the design in the sections below.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 1: ASML&amp;#8217;s track-based D2W bonder, SA annotated and simplified&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DMy3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065d224-aa2f-4e22-be62-f11210f775a7_2046x1308.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="931" src="https://substackcdn.com/image/fetch/$s_!DMy3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065d224-aa2f-4e22-be62-f11210f775a7_2046x1308.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML; &lt;a href="https://semianalysis.com/wafer-fab-model/"&gt;SemiAnalysis Wafer Fabrication Equipment Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;ASML could be building a W2W hybrid bonding tool as well.&lt;/strong&gt; According to a &lt;a href="https://www.thelec.net/news/articleView.html?idxno=10055"&gt;patent analysis by Inha University&lt;/a&gt;, ASML is likely building W2W HB equipment on its TWINSCAN platform, leaning on its wafer overlay accuracy. We focus on the D2W machine in this note, because it is the harder tool to build and the one where ASML could gain a real edge.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&amp;#8230;as Part of its Vertical Integration Initiative&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;We believe this is a continuation of ASML&amp;#8217;s effort to integrate vertically and tighten customer relationships.&lt;/strong&gt; ASML bought Cymer for its light source in 2013, HMI for e-beam inspection in 2016 and Berliner Glas for optics modules in 2020. It &lt;a href="https://www.sec.gov/Archives/edgar/data/937966/000162828025045043/pressreleasequarterlyresul.htm"&gt;shipped&lt;/a&gt; its first back-end product, the XT:260 i-line packaging scanner, in 3Q25. And most recently, ASML announced joint initiatives with &lt;a href="https://www.asml.com/en/news/press-releases/2026/tsmc-and-asml-announce-industry-transition-to-large-format-photomasks-for-high-na-euv"&gt;TSMC&lt;/a&gt;, &lt;a href="https://www.asml.com/en/news/press-releases/2026/intel-foundry-and-asml-collaborate-to-accelerate-industry-readiness-for-high-na-euv"&gt;Intel Foundry&lt;/a&gt; and &lt;a href="https://www.asml.com/en/news/press-releases/2026/samsung-electronics-and-asml-expand-collaboration-on-next-generation-semiconductor-manufacturing"&gt;Samsung&lt;/a&gt; to move the industry from 6-inch to 12-inch photomasks for High NA EUV.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Building a bonder would be a natural next step.&lt;/strong&gt; In fact, ASML&amp;#8217;s own roadmap already puts bonding inside the front-end flow. Its 2024 Investor Day listed W2W and D2W hybrid bonding for NAND, DRAM and logic (Fig 2). And a &lt;a href="https://patents.google.com/patent/TW202607495A/en"&gt;July 2024 filing&lt;/a&gt; shows how the bonder and the scanner would work together by sharing die position data. Today a scanner printing on a bonded wafer must pre-align and coarse-align every die before it can expose. In ASML&amp;#8217;s design the bonder already knows where it put each die and hands that map (a &amp;#8220;coordinate system&amp;#8221; in the filing) to the scanner, which checks a few marks and exposes. Customers get faster lithography on bonded wafers, and ASML gets to sell the bonder and the scanner as a pair.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 2: ASML&amp;#8217;s map of front-end 3D integration&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!88il!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9161a19-850b-4e34-abab-d4de4d766fd5_1536x864.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!88il!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9161a19-850b-4e34-abab-d4de4d766fd5_1536x864.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML Investor Day, 14-Nov-2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;We expect advanced logic to be the first adopter.&lt;/strong&gt; Logic is where D2W HB already runs in volume, and where the alignment requirement keeps tightening. TSMC calls overlay &amp;#8220;always the biggest challenge&amp;#8221; for SoIC. As its HB pitch moves from 6um to 4.5um by 2029, the placement accuracy requirement will tighten further. ASML is strong in alignment, as we will elaborate below, so an edge here should help it win logic customers first. Advanced logic dies are also among the most expensive chips, so logic customers can afford a premium tool. We expect ASML to price its tools at a premium to peers.&lt;/p&gt;&lt;p&gt;In the next three sections, we discuss (1) the tool&amp;#8217;s track system - the most unusual thing about it compared with what is on the market; (2) how ASML&amp;#8217;s strengths in alignment, particle control and motion could make its HB tool superior; and (3) the challenges ASML or its supply chain partners still need to resolve to build a working tool. Let&amp;#8217;s dive in.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;What&amp;#8217;s Unique About the Tool&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;One of the most interesting things about the tool is that it &lt;strong&gt;runs on a track&lt;/strong&gt;. ASML names SuperTrak CONVEYANCE (Fig 3) as an example in its &lt;a href="https://patents.google.com/patent/WO2025201788A1/en"&gt;patent filing&lt;/a&gt;, so we assume it uses that track and we base our analysis on the track&amp;#8217;s published design.&lt;/p&gt;&lt;p&gt;The fundamental difference from a traditional bonder is where the die lives. In a Besi-type tool, the die is prepared elsewhere, and a bond head picks it up only for the final placement. &lt;strong&gt;In ASML&amp;#8217;s design, each die sits on its own holder from the moment it leaves the carrier and stays there until the bonding step&lt;/strong&gt;. The process stations are built around the track: the die stops in front of a station, the station cleans, activates or measures it in place, and the die moves on.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 3: SuperTrak CONVEYANCE track (HORIZON10 platform)&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dRG5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cfbe97-fa51-4614-bfd6-e603d64f8bf8_1342x523.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="523" src="https://substackcdn.com/image/fetch/$s_!dRG5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cfbe97-fa51-4614-bfd6-e603d64f8bf8_1342x523.png" width="1342" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Company website&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Now let&amp;#8217;s go through the process step by step&lt;/strong&gt;. For illustration, we took the patent drawing and labelled every station in Fig 4. A gripper takes the die off its carrier and sets it on an empty substrate holder (206), which carries it along the track (202). The die stops in turn at the inspection, cleaning, plasma activation, topographic inspection, leveling, coarse alignment, position adjustment and fine alignment stations (210 to 226). At each stop the die stays on its holder, and the station does its work. Note the reversal here: in the patent it is the station&amp;#8217;s sensor or head that moves in to reach the die, not the die that is carried into the tool as in today&amp;#8217;s flow. After these steps the die arrives at the bonding station (228).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;This bonding station deserves a closer look&lt;/strong&gt;. The first thing to note is that the final placement is done by the holder (206) and the chuck (234), not the track: SuperTrak&amp;#8217;s spec sheet puts the shuttles&amp;#8217; repeatability at about 10um, nowhere near the 50nm placement accuracy the bond needs. Next, zoom in on the right-hand part of Fig 4 for the bonding work. The chuck lifts the bottom wafer to within tens of microns of the die, the holder&amp;#8217;s actuators adjust the die&amp;#8217;s position, the die is pressed onto the wafer to form the bond, and the holder releases it. The empty holder then starts another loop.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 4: Patent WO2025201788A1 Fig. 2 (left) and Fig. 6 side view (right), SA annotated&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DnIe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494b8fba-1313-4368-99e8-6543930f76e0_2045x755.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="538" src="https://substackcdn.com/image/fetch/$s_!DnIe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494b8fba-1313-4368-99e8-6543930f76e0_2045x755.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML; &lt;a href="https://semianalysis.com/wafer-fab-model/"&gt;SemiAnalysis Wafer Fabrication Equipment Model&lt;/a&gt; &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This design has three major benefits:&lt;/p&gt;&lt;p&gt;First, &lt;strong&gt;independent shuttles lift the utilization of every station&lt;/strong&gt;. The number of stations per step can be set from that step&amp;#8217;s cycle time: a three-second cleaning step gets three stations, and a 1.2-second bond step gets one, so every station stays busy. The patent asks for exactly this, to &amp;#8220;occupy all process stations simultaneously&amp;#8221;.&lt;/p&gt;&lt;p&gt;Second, capacity is added by adding a station rather than a second tool, as long as the equipment chamber has room for it. That &lt;strong&gt;saves duplicate tooling and budget&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Last but not least, the design suits &lt;strong&gt;heterogeneous integration&lt;/strong&gt;: a new die type is a new software recipe, so mixed chiplets could share one line.&lt;/p&gt;&lt;p&gt;That said, the track brings its own challenges around the non-bonding stations and the cleanliness of the whole loop. We come back to them later.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;How ASML May Gain an Edge&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Before that, let&amp;#8217;s look at how ASML could bring its existing strengths to the HB tool.&lt;/p&gt;&lt;p&gt;First, a reminder of why &lt;strong&gt;alignment accuracy and cleanliness matter so much in hybrid bonding.&lt;/strong&gt; As we elaborated &lt;a href="https://newsletter.semianalysis.com/p/hybrid-bonding-process-flow-advanced"&gt;before&lt;/a&gt;, a &lt;a href="https://iopscience.iop.org/article/10.1149/2162-8777/ac7662"&gt;single 1um particle between two full-thickness wafers can unbond an area around 10mm across&lt;/a&gt;, resulting in a defective bond (Fig 5). So particle control is extremely important for HB. Alignment matters for two reasons: &lt;strong&gt;placement accuracy&lt;/strong&gt; sets bond yield directly, and &lt;strong&gt;alignment time&lt;/strong&gt; weighs far more on D2W throughput than on W2W because it compounds with the die count. These two hurdles are what make hybrid bonding almost a front-end process.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 5: A small particle opens a void and an open contact in hybrid bonding&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="232" src="https://substackcdn.com/image/fetch/$s_!_TqG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3511d6d-3406-48a5-b818-80aca90d0a7c_902x232.png" width="902" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We believe ASML can tackle both with decades of experience solving the same two problems in lithography.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;For alignment, we believe ASML can reuse its wafer-alignment sensor technology.&lt;/strong&gt; Based on its &lt;a href="https://patents.google.com/patent/TW202616420A/en"&gt;patent filings&lt;/a&gt;, the bonding system puts a tiny diffraction grating on each die and reads the die&amp;#8217;s position from the light the grating scatters. The principle is the same as &lt;a href="https://www.asml.com/en/company/stories/2021/fellow-simon-mathijssen-aligning-lithography-nanometer"&gt;ORION&lt;/a&gt;, the wafer-alignment sensor on every new TWINSCAN since 2017. ORION was built to read marks that CMP and etch have tilted or deformed (Fig 6), and a mark on a bonding die goes through the same CMP and plasma activation as the copper pads next to it, so it carries the same asymmetry. We believe the same sensor family can serve the D2W bonder.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 6: A symmetric and a tilted alignment mark. Process steps shift the apparent center; ORION&amp;#8217;s multi-color readout was built to see through that&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;div class="image-link image2"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="159" src="https://substackcdn.com/image/fetch/$s_!NR0y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff401c807-b2b1-4291-82e2-ba55679929dd_564x159.png" width="564" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class="image-caption"&gt;Source: ASML, Aligning lithography to the nanometer, Dec-2021&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Its sensing and motion capabilities also provide it with more room in total alignment error budget.&lt;/strong&gt; Its &lt;a href="https://www.asml.com/en/products/duv-lithography-systems/twinscan-nxt2100i"&gt;NXT:2100i&lt;/a&gt; holds 0.9nm overlay on a single machine. And ASML can already measure the distortion of a W2W bonded wafer and correct the next lithography layer for it, bringing post-bond overlay from 40-60nm down to below 4nm (Fig 7). These are litho numbers, not bond results. But they mean ASML&amp;#8217;s sensor and stage errors sit more than an order of magnitude below the 50nm a bonder needs. Higher stage precision leaves more room in a bonder&amp;#8217;s error budget for the other factors: die shift on the holder, thermal drift and movement during contact.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 7: ASML metrology plus scanner correction brings post-bond overlay to 2.5-3.9nm&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kznq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6bca63-32fe-4237-9030-273f28a2d894_1536x825.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="782" src="https://substackcdn.com/image/fetch/$s_!kznq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6bca63-32fe-4237-9030-273f28a2d894_1536x825.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ASML Investor Day, 14-Nov-2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Prodrive Technologies and VDL ETG are the &lt;a href="https://www.thelec.net/news/articleView.html?idxno=5864"&gt;likely&lt;/a&gt; component suppliers to help ASML&amp;#8217;s bonder move fast on motion. Prodrive makes the linear motors and drives for ASML&amp;#8217;s EUV maglev stages and has also built Hanwha Semitech&amp;#8217;s SHB2 Nano bonder. VDL ETG builds ASML&amp;#8217;s frames and modules (Fig 8).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fig 8: Prodrive&amp;#8217;s linear motor (left) and VDL ETG&amp;#8217;s wafer handler module (right)&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tObq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe914a2f5-f1c4-4aa3-ac7e-af959781a38b_1212x495.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="495" src="https://substackcdn.com/image/fetch/$s_!tObq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe914a2f5-f1c4-4aa3-ac7e-af959781a38b_1212x495.png" width="1212" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Company websites&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;On cleanliness, the requirements for ASML&amp;#8217;s EUV systems are more strict as a bonder&amp;#8217;s.&lt;/strong&gt; Few tool makers have fought particles at the nanometer scale for as long as ASML. EUV scanners move reticles and wafers in vacuum and keep reticle particle adders at a level &amp;#8220;&lt;a href="https://doi.org/10.1117/12.2514874"&gt;compatible with HVM requirements for sub-10nm node lithography&lt;/a&gt;&amp;#8221;. We believe ASML has thought about the bonding surfaces too: its &lt;a href="https://patents.google.com/patent/WO2026098870A1/en"&gt;bonding apparatus&lt;/a&gt; filing adds a tool that cleans the substrate supports and a sensor that watches their flatness, particle load and distortion.&lt;/p&gt;&lt;p&gt;That said, contaminants in a bonder differ from those in a scanner. Most are dicing debris on die edges and particles landing on freshly activated, hydrophilic surfaces. We look for more detail on how ASML handles these bonder-specific contaminants in future filings.&lt;/p&gt;&lt;p&gt;After the paywall we discuss the challenges ASML needs to tackle to build a working tool, and how its tool will impact on Besi&amp;#8217;s business prospects.&lt;/p&gt;&lt;h2&gt;Open Questions ASML Needs to Solve&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/asml-is-building-a-hybrid-bonding"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-10-15T11:27:20+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/beijing-will-not-pace-the-frontier</id>
    <title>Beijing Will Not Pace the Frontier: China’s Speed-First AI Safety Regime</title>
    <updated>2026-10-08T09:46:05+00:00</updated>
    <author>
      <name>Mark Chen</name>
    </author>
    <content type="html">&lt;p&gt;AI safety is on fire. On 12 September 2026, Dario Amodei published an essay arguing that frontier labs must deliberately slow the pace at which they improve model capabilities. China was central to his geopolitical argument: export controls and tighter security could preserve America&amp;#8217;s lead, creating room to slow down and leverage for a future agreement with Beijing. Within a day, Sam Altman and Elon Musk supported Dario&amp;#8217;s call. However, President Trump scoffed. On 14 September 2026, he wrote that fears of AI destroying humanity are &amp;#8220;a HOAX&amp;#8221; and that &amp;#8220;the only one that is happy about it is China.&amp;#8221;  Beijing scoffed too, with the state-run Global Times calling Dario&amp;#8217;s essay a &amp;#8220;Cold War playbook.&amp;#8221;&lt;/p&gt;&lt;p&gt;The debate then moved onto the diplomatic calendar. On 20 September 2026, Treasury Secretary Scott Bessent and Vice Premier He Lifeng held the first US-China AI dialogue. On 23 September 2026, President Xi Jinping began his state visit to the US. The Trump-Xi summit formalized the dialogue as the &amp;#8220;US-China Super Intelligence Dialogue,&amp;#8221; using the name Trump had unveiled at the UN the day before Xi arrived. The summit also promised a channel for AI incidents. On 29 September 2026, Trump and six executives signed the White House Accord on Super Intelligence, a one-page voluntary pledge to self-police that Trump called &amp;#8220;morally binding.&amp;#8221; &lt;/p&gt;&lt;p&gt;China sits on both sides of the American argument. For President Trump, competition with China is a reason not to slow down. For Dario, preserving America&amp;#8217;s lead over China is what makes slowing down possible. Nobody has asked what China is actually doing. So, we did. What do the Chinese government, frontier labs, and AI experts say and do about AI safety? And what should American labs, investors, and policymakers conclude from it?&lt;/p&gt;&lt;h1&gt;What Beijing Says and Actually Does&lt;/h1&gt;&lt;p&gt;Beijing&amp;#8217;s stated position is the most safety-forward of any major AI power outside Europe. Xi Jinping told the Politburo in April 2025 that AI brings &amp;#8220;unprecedented risks and challenges&amp;#8221; and ordered systems for technical monitoring, risk early-warning and emergency response. At the 2026 World AI Conference in Shanghai, Xi said the world must &amp;#8220;ensure AI always remains under human control&amp;#8221; and that the faster AI advances, &amp;#8220;the more promptly the measures to prevent loss of control must be improved.&amp;#8221; China signed the Bletchley Declaration and the Paris and New Delhi statements, co-sponsored the UN resolutions, founded a World AI Cooperation Organization in Shanghai, and publishes bilingual AI Safety Governance Frameworks.&lt;/p&gt;&lt;p&gt;The newest text goes further. The AI Safety Governance Framework 3.0, released by TC260 under Cyberspace Administration of China (CAC) on 14 September 2026, warns that AI has shown a self-accelerating trend of autonomous learning and recursive self-improvement, and calls for &amp;#8220;attention and vigilance&amp;#8221; for potential AI evolution exceeding human prediction and control. The Framework 3.0 also introduces a new model-risk category, &amp;#8220;behavior deviating from expectations,&amp;#8221; covering models that acquire system privileges and external resources without authorization, bypass safety protections, deceive evaluators, hide their true capabilities, and refuse user instructions, illustrated with a boxed case study of models disabling shutdown scripts, sandbagging under evaluation, and breaking out of isolation into real systems. Its list of derivative risks goes further still; past behaviors already observed to a hypothetical AI that becomes self-aware, seeks power of its own, and competes with humanity for control. On paper, this is the most explicit official Chinese text yet on frontier risk, and its vocabulary overlaps strikingly with Dario&amp;#8217;s essay Beijing denounced that same week.&lt;/p&gt;&lt;p&gt;However, we think China&amp;#8217;s real approach to AI safety is speed-based, not safety-based. Though Beijing recognizes frontier AI risks, it has been prioritizing rapid development. The Framework 3.0 opens its principles with &amp;#8220;promoting AI innovation and development as &lt;em&gt;the first priority&lt;/em&gt;.&amp;#8221; The comprehensive AI Law promised in the 2023 and 2024 legislative plans was shelved in 2025, four months after the DeepSeek moment. The State Council&amp;#8217;s AI+ Action Plan targets 70% penetration of agents and intelligent terminals by 2027 and 90% by 2030, aiming for a rapid deployment of AI across all sectors and industries.&lt;/p&gt;&lt;p&gt;We think the Chinese government takes an open position on frontier models but tightens the applications and regulates outputs. Since 2025, China has issued a number of mandates, including mandatory content labeling (Sep 2025), Cybersecurity Law Article 20 (Jan 2026), the minors&amp;#8217; information classification rules (March 2026), MIIT&amp;#8217;s AI ethics-review regime (March 2026), the policy-level agent rules (May 2026), the world&amp;#8217;s first AI-companion rules (July 2026), the network-data risk assessment rules (August 2026), and MPS inspection powers (October 2026). Every one of these governs what AI says and what AI does to people. There is no set of frontier-risk duties triggered by training compute or model capability. The result is a safety regime stricter than any in the world on content and on process for public-facing services, and looser than the EU (systemic-risk duties from 10&amp;#178;&amp;#8309; FLOP) and California (SB 53: frontier frameworks and 15-day incident reporting from 10&amp;#178;&amp;#8310; operations) on the frontier.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KGF-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1bc921-5af1-48e5-a704-570148c43821_3400x2579.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1104" src="https://substackcdn.com/image/fetch/$s_!KGF-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1bc921-5af1-48e5-a704-570148c43821_3400x2579.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The week Framework 3.0 came out shows the pattern in real time. Framework 3.0 added two new application-layer risk categories, agents and embodied intelligence, plus an appendix on managing agent risk. On 15 September, TC260 issued four AI application security guides, with a general one and three specific ones for education, health care and broadcasting, respectively. On 18 September it opened comments on a draft Agent System Development Security Guide (due 2 October) that walks developers through identity, least privilege, tool verification and human-approval nodes. The same day the CAC published a draft State Council regulation on minors&amp;#8217; internet use (comments due 17 October) that bars offering minors &amp;#8220;virtual relatives, virtual companions and other virtual intimate-relationship services&amp;#8221; and bars livestreaming under the age of 16. Seven texts in five days. Everyone is about how an agent or an application is built, deployed, and to whom it is offered. The gap at the frontier has not moved at all.&lt;/p&gt;&lt;p&gt;Compliance therefore tells us nothing about frontier safety. A Chinese lab can satisfy every rule on this list without ever running a dangerous-capability evaluation. Thus, to know what the labs do at the frontier, we must look at what they evaluate, what they disclose, and whether any of them change what they ship.&lt;/p&gt;&lt;h1&gt;China&amp;#8217;s frontier AI labs: what they do&lt;/h1&gt;&lt;p&gt;Nobody in China&amp;#8217;s AI industry is slowing down, and nobody is asking them to. The frontier labs are in a release and price war.&lt;/p&gt;&lt;p&gt;We conduct a systematic analysis to clearly understand what Chinese labs do about safety. We constructed an original dataset that includes all identifiable model release by the 9 leading Chinese developers from 2021 to 15 September 2026. These 9 companies include 4 hyperscalers (ByteDance, Alibaba, Tencent, Baidu) and 5 startups (DeepSeek, MoonShot, Zhipu Z.ai, MiniMax, and StepFun). The dataset includes 857 counted releases (741 product models and 116 research models), each with a first-public date, weight status, license, and source. We then check each against the developer&amp;#8217;s model cards, release notes, and technical reports for a published safety-evaluation result that can be matched to that release. Our standard is strict: a result means a quantitative or substantive finding on harmful output, jailbreaks, toxicity, privacy, refusal, or dangerous capability, tied to the named model. Statements that a model was &amp;#8220;safety-trained&amp;#8221; or &amp;#8220;evaluated&amp;#8221; do not count. A flagship model&amp;#8217;s result is not extrapolated to other sizes or snapshots. &amp;#8220;Not found&amp;#8221; is bounded to the materials checked and does not mean &amp;#8220;not tested.&amp;#8221; Companies also name variants at different granularity (Alibaba&amp;#8217;s 238 releases count every Qwen size and snapshot), so per-company rates are indicative rather than a ranking.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The results are striking. Of the 857 releases, only 31&amp;#8212;or 3.6%&amp;#8212;have ever been accompanied by a published safety result from the developer.&lt;/strong&gt; Just 9 of those&amp;#8212;1.1% of the total&amp;#8212;had the result available at or before the model was released. Another 16 were documented only afterwards, with a median lag of 42 days and a maximum of 349 days (DeepSeek-R1, whose verified safety appendix dates to January 2026). For the remaining 6, the results exist, but their timing or their match to the specific model could not be established. A further 10 releases carry a claim of evaluation with no figures, and 3 are known only from press or investor accounts, with no developer documentation we could retrieve. The remaining 813 releases, 94.9% of everything the 9 companies have shipped, have no safety disclosure at all.&lt;/p&gt;&lt;p&gt;We plot the release cadence against disclosure. The bars climb from 3 releases in Q1 2023 to 90 in Q3 2024 and 101 in Q3 2025, a thirty-fold rise in which open-weight releases (dark blue) make up more than half of every quarter since mid-2023. The two lines do not climb with them. Releases with any safety result never exceed 7 in a quarter. Releases with a result available at launch never exceed 3 and sit at zero in 9 of the 15 quarters. No policy milestone in the period (such as the 2023 Interim Measures, the Frameworks 1.0 and 2.0, or the labelling rules) leaves a mark on either line.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fLx1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8f41eb-27c1-49f8-b7c5-9154a2d0021c_1628x1191.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1065" src="https://substackcdn.com/image/fetch/$s_!fLx1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8f41eb-27c1-49f8-b7c5-9154a2d0021c_1628x1191.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We then break the same 857 releases down by developer, and find the trickle is not concentrated anywhere. Alibaba, the largest publisher with 238 releases, has 7 with any result and 3 at launch. Tencent has 1 in 133. ByteDance&amp;#8217;s largely closed Doubao fleet 2 in 120. Baidu 1 in 49. &lt;strong&gt;Zhipu (Z.ai) is the only developer with a result every year since 2022&lt;/strong&gt;. DeepSeek documented V3 at launch and none of R1, V3.1 or the V4 family. The start-ups do better than the giants, 20 of 317 releases (6.3%) against 11 of 540 (2%), but no company does it as a matter of routine. Every 2026 frontier release, from GLM-5.2, the Kimi K2.5-K3 line, and the DeepSeek V4 family to Qwen3.7-Max, Qwen3.8-Max, and Doubao Seed 2.1, was undocumented at launch except GLM-5.3, with a capability evaluation note.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ft_U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b1b2ca0-3837-4ebb-b0fe-14a9e84715a7_1628x1192.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1066" src="https://substackcdn.com/image/fetch/$s_!Ft_U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b1b2ca0-3837-4ebb-b0fe-14a9e84715a7_1628x1192.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We then turn to those qualified documents. We find 18 reported harmful-output or refusal results and 7 reported jailbreak-resistance results. 9 documents were concerned with code or cyber security, but 7 of those were secure-code-generation benchmarks for coding models. Only 3 touched cyber-offence or biological risk, namely: Zhipu&amp;#8217;s GLM-5.2 responsibility note, GLM-5.3 cyber-capability note, and Moonshot&amp;#8217;s Kimi K2 technical report. None came from the four hyperscalers.&lt;/p&gt;&lt;p&gt;Of the nine at-launch disclosures, four are behavioral safety tests (Qwen2-72B-Instruct, MiniMax-Text-01, Seed-OSS-36B-Instruct, and DeepSeek-V3). The rest are speech-safety scores, secure-code benchmarks, and one capability evaluation. Reasoning models, the fastest-advancing category, are 93% without any published results. Moreover, no Chinese frontier text model has shipped with a dangerous-capability evaluation across the domains the IDAIS statements name. GLM-5.3&amp;#8217;s cyber note is the closest anyone has come.&lt;/p&gt;&lt;h1&gt;China&amp;#8217;s Frontier AI Labs: what they say&lt;/h1&gt;&lt;p&gt;The release census tells us what the nine labs do. We further explore what their leaders say. We compiled every public statement on AI safety by the founders, CEOs, chief scientists, and other senior figures of the nine labs between January 2023 and 21 September 2026: speeches, interviews, internal letters, posts, signatures on collective statements, and company documents such as prospectuses and release notes. We built the inventory in two independent sweeps, one from Chinese primary sources and one from English and institutional sources, then reconciled the two and verified every item against its source. In total, we have 65 items.&lt;/p&gt;&lt;p&gt;The picture is sparse and lopsided. Across 9 labs and almost 4 years we found 15 statements by founders, CEOs or chief scientists that engage in frontier safety. Nine of the 15 express concerns and propose something. Six of those nine come from Zhipu alone.&lt;/p&gt;&lt;p&gt;Zhipu (Z.ai) is the only lab where safety is a named strategic commitment. CEO Zhang Peng signed the IDAIS Beijing red lines in March 2024, signed the Seoul Frontier AI Safety Commitments in May 2024 (the only Chinese company to do so at the time), told the BAAI conference in June that &amp;#8220;in AI safety, defense is always harder than attack,&amp;#8221; and called for &amp;#8220;super-intelligence and super-alignment&amp;#8221; at WAIC in July. Founder Tang Jie signed the IDAIS Venice statement and the 2025 Global Call for AI Red Lines, and his internal letter of 11 July 2026 makes &amp;#8220;ultimate safety governance&amp;#8221; one of four strategic engines, saying that &amp;#8220;the stronger the capability, the more robust the safety constraints must be.&amp;#8221; In his direct response to Anthropic withholding Mythos, Tang Jie said, &amp;#8220;the realization of superintelligence and research on super-alignment must advance in step&amp;#8221; and that safety &amp;#8220;is no longer an accessory but the fundamental precondition for a technology to survive and be permitted to be used.&amp;#8221;&lt;/p&gt;&lt;p&gt;Robin Li of Baidu had the clearest loss-of-control statement of any Chinese AI CEO. At the Zhongguancun Forum on 26 May 2023, Robin said that AI &amp;#8220;could indeed develop in directions unfavorable to humanity&amp;#8221; and that &amp;#8220;preventing loss of control requires the nations with advanced AI to cooperate and set rules.&amp;#8221; Yang Zhilin of Moonshot, acknowledged the risk. He said in June 2024 that AI safety &amp;#8220;is something we must prepare for in advance&amp;#8221; and floated the idea of an AI &amp;#8220;constitution.&amp;#8221; But Yang chose acceleration. In January 2026, he said that although &amp;#8220;the risks of AGI/ASI may be considerable, we should not give up its development, because giving up development means giving up the pursuit of the ceiling of human civilization.&amp;#8221;&lt;/p&gt;&lt;p&gt;At five of the nine labs, the founder or CEO has said nothing. Liang Wenfeng of DeepSeek has no public statement on safety or regulations in four years. Alibaba&amp;#8217;s Eddie Wu gave a 6,000-word keynote on the road to superintelligence in September 2025 that does not contain the word safety or risk once and closed with &amp;#8220;we are full of optimism.&amp;#8221; Tencent&amp;#8217;s Pony Ma and Dowson Tong speak of safety only as data protection and permission management. The CEOs of ByteDance and StepFun have said nothing, though a StepFun co-founder and ByteDance&amp;#8217;s head of research each signed an IDAIS statement. Where safety literacy exists in these companies, it sits with the lieutenants, not the commanders. In September 2025, Alibaba&amp;#8217;s security vice-president Xue Hui acknowledged that AI safety capability &amp;#8220;currently lags the development of model capability&amp;#8221; and said research must include &amp;#8220;new risks such as AI self-replication.&amp;#8221; A DeepSeek researcher, Chen Deli, said at Wuzhen that &amp;#8220;in the long run the risks may be greater.&amp;#8221;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fCjS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff713b9-0e8c-4938-86ea-ec496ac0dbb4_3190x2168.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!fCjS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff713b9-0e8c-4938-86ea-ec496ac0dbb4_3190x2168.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;What China&amp;#8217;s AI experts say: a text analysis of 102 documents and 32 voices&lt;/h1&gt;&lt;p&gt;Who are the leading AI thinkers shaping China&amp;#8217;s AI-safety discourse? What do they mean by safety? Who has the pen?&lt;/p&gt;&lt;p&gt;We constructed another original dataset coding 102 expert and official texts from 2023 to September 2026, with 51 from official, Party-theory and legal venues and 51 from technical and scientific venues. The sample is purposive, not random: we set quotas by venue and filled them with the most prominent texts we could find on AI safety and governance by identifiable Chinese authors or institutions, each with a verifiable source. We read two sources in full. One is every expert commentary on a major AI rule that the CAC has published since 2023, and the other is all five IDAIS consensus statements. The rest we sampled. We selected the most prominent pieces from Party journals, Legal Daily, model-law drafts, academic articles, ministers&amp;#8217; speeches, scientists&amp;#8217; talks, lab frameworks, and arXiv papers, with a rough quota for each so that no venue dominates. We then coded each text on six themes (Figure 4 below), three stances (on binding frontier rules, on a comprehensive AI law, and on development versus safety), and the author&amp;#8217;s professional background. We then map 32 of the most influential individuals by professional background and by the channels through which they influence policy.&lt;/p&gt;&lt;p&gt;The short answer: China&amp;#8217;s technical scientists and its legal-policy scholars are answering two different questions, and the state had answered one of them before either group spoke.&lt;/p&gt;&lt;p&gt;To elaborate, first, we find that technical scientists and legal-policy experts are talking about different things when they say &amp;#23433;&amp;#20840; (the Chinese word for both safety and security). Frontier or loss-of-control risk appears in 86% of texts by technical scientists (36 of 42), the longest bar in the figure, but in only 22% of texts by law scholars, 23% by serving officials, and 44% by public-policy scholars. In addition, frontier risk is the primary theme in 25 of technical scientists&amp;#8217; 42 texts, and in just one text in each of the other three groups.&lt;/p&gt;&lt;p&gt;By contrast, development-first and competition appears in every one of the officials&amp;#8217; texts, in 91% of the texts by law scholars and 89% of those by public-policy scholars, but in only 45% of the texts by technical scientists. The bottom three rows (Figure 4) show the same alignment. Legal-institutional design is universal among legal scholars and public-policy scholars (100%) and present in 43% of technical experts. Rights, ethics, and consumer harms appear in 91% of law scholars&amp;#8217; texts and 48% of technical ones. International governance and export controls in 91% of legal texts and 55% of technical ones.&lt;/p&gt;&lt;p&gt;The two camps are different people. The scientists are senior, internationally embedded, and at technical parity with their Western peers. They write frameworks, sign consensus statements, and brief officials. The lawyers and public-policy scholars sit at the Chinese Academy of Social Sciences (CASS), the China University of Political Science and Law (CUPL), Tsinghua&amp;#8217;s School of Public Policy, and the ministries&amp;#8217; expert pools. They write the expert readings that accompany every CAC rule and draft the model laws the Ministry of Justice consults.&lt;/p&gt;&lt;p&gt;The two camps are asking different questions. Scientists ask what a frontier model can do. Their answer is loss of control and misuse. Thus, their prescriptions reach the model before it ships. They have been advocating for registration of training runs above compute thresholds, safety cases before release, and shutdown authority. The lawyers, on the other hand, ask how the state should govern an industry. Their answer is order, rights, and growth, and thus, their prescriptions attach where the industry meets the public. For example, they call for regulating services not technology, rules at the application layer, and legislation in small steps.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iMXQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a95d38c-d7f8-4632-9592-868e34ddb3f5_1584x1236.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1136" src="https://substackcdn.com/image/fetch/$s_!iMXQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a95d38c-d7f8-4632-9592-868e34ddb3f5_1584x1236.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Second, we find that only scientists ever put safety ahead of development. We sort the 102 texts by author background. We find that 42 are written by people with a technical background. Of those 42, 22 (52%) argue that safety must precede or gate development. Only five are development-first. By contrast, if we look at the non-technical group, not a single text by a legal or public-policy scholar or official takes the safety-first position. 8 of the 23 law texts are development-first outright. The rest use the balanced official formula, which is &amp;#8220;coordinating development and safety.&amp;#8221;&lt;/p&gt;&lt;p&gt;Third, we find that the legal scholars are actually following the top leadership. They took its words, applied them to AI, and made them their AI doctrine. The legal scholars&amp;#8217; signature phrase is &amp;#8220;failing to develop is the greatest insecurity.&amp;#8221; The phrase in fact descends from Xi Jinping&amp;#8217;s statement at the 2014 CICA Summit that &amp;#8220;development is the greatest security.&amp;#8221; Premier Li Qiang used the negative form verbatim to German business leaders in Berlin on 20 June 2023, arguing against &amp;#8220;de-risking,&amp;#8221; and the CCP&amp;#8217;s official &lt;em&gt;People&amp;#8217;s Daily&lt;/em&gt; made it a headline on 5 July. Eight days later, on the day the Generative AI Measures were published, law professor Xu Ke carried it into the AI debate in a CAC-published expert reading. Law professor Zhang Linghan repeated it in 2024 and 2025. In 2025, Zhi Zhenfeng of the Chinese Academy of Social Sciences (CASS) called it &amp;#8220;a basic consensus.&amp;#8221; The lawyers&amp;#8217; other slogans have the same history. For example, Xi called for &amp;#8220;small, fast, flexible&amp;#8221; legislation in November 2020. Zhang Linghan applied the phrase to AI in the &lt;em&gt;People&amp;#8217;s Daily&lt;/em&gt; in May 2025.&lt;/p&gt;&lt;p&gt;Fourth, we find that every demand for binding frontier duties went nowhere, regardless of experts&amp;#8217; professional backgrounds. Thirteen of the 102 texts call for binding obligations on frontier developers. Six are technical, the five IDAIS consensus statements co-signed by Chinese scientists with Western counterparts and an April 2026 &lt;em&gt;National Science Review&lt;/em&gt; editorial by Zeng Yi, Huang Tiejun, Jiang Yugang and Poo Mu-ming. They demand (1) registration of training runs above compute thresholds, (2) safety cases submitted to regulators before release, (3) independent third-party audits, (4) shutdown of all copies of a model that crosses a red-line, and (5) legal mechanisms to enforce all of these. However, none of these has yet been adopted in any binding Chinese instrument. The other seven are by law or public-policy scholars. Most are model-law drafts, which propose binding duties into a comprehensive AI law. None of the 13 got what it asked for.&lt;/p&gt;&lt;p&gt;The sad truth is neither camp decides anything. The top leadership does. Figure 5 sorts the 32 most influential voices by two facts: whether they demand binding frontier rules, and whether they hold a domestic seat where rules are written. Ten demand and hold no seat. Eight hold a seat and make no such demand. Ten do neither. Only four hold a seat and demand. Zeng Yi and Zhang Linghan in their own voice, Xue Lan and Fu Ying by IDAIS signature only. Thus, the demand comes overwhelmingly from outside the rooms where rules are written. And the seat did not help those who had it. Zeng Yi sits on the national AI governance committee, and his April 2026 call for legal enforcement went nowhere. Zhou Bowen chairs TC260&amp;#8217;s AI safety working group, the one body that could turn loss-of-control language into a mandatory standard and writes voluntary frameworks. Xue Lan chairs the governance committee, signs the IDAIS statements, and prescribes agile governance. Zhang Linghan drafts the scholars&amp;#8217; AI law and asks for licensing of high-risk applications, not for capability thresholds. The scientists are not heeded because they contradict a decision already made. Their answer is that the danger is in the model, and the controls must reach training, and that does not fit a decision that development comes first. China&amp;#8217;s AI-safety debate was settled by the top leadership&amp;#8217;s preference for development over safety, not by anything the experts said.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wjNF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb3c187-e6ff-4e52-9c34-4d7d55e412fc_1716x2563.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2175" src="https://substackcdn.com/image/fetch/$s_!wjNF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb3c187-e6ff-4e52-9c34-4d7d55e412fc_1716x2563.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;The supply-side ecosystem exists but no power&lt;/h1&gt;&lt;p&gt;It would be wrong to conclude that China has no frontier-safety capacity. The Shanghai AI Lab (SAIL), a state-backed lab whose director Zhou Bowen chairs TC260&amp;#8217;s AI safety working group, published a Frontier AI Risk Management Framework in July 2025 and has revised it twice, most recently as version 2.0 at WAIC in July 2026. The SAIL framework draws red and yellow lines across five risk domains, 13 red lines in all. It calls for deployment suspension in the red zone and suggests evaluation triggers at 4&amp;#215; and 10&amp;#215; jumps in effective compute. Its Framework also treats open-weight release as the highest-risk deployment setting, asking developers to measure how cheaply safety training can be stripped by fine-tuning before they publish weights. SAIL has also run some twenty Chinese and Western models through UK AISI&amp;#8217;s Inspect evaluation tools. Besides SAIL, there is CAICT (the China Academy of Information and Communications Technology), MIIT&amp;#8217;s in-house research institute on AI. Its evaluations are the closest thing China has to an official safety benchmark. CAICT released its AI Safety Benchmark 2.0 in February 2026, adding deception, loss of control, dangerous-domain misuse, and agent risk to what it tests. In addition, CnAISDA (China AI Safety and Development Association), a network of eight institutions launched in Paris in February 2025, represents China abroad as the Chinese counterpart to the government AI safety institutes that the UK, the US, Japan, and others set up after Bletchley.&lt;/p&gt;&lt;p&gt;However, none of these institutions have real power. CnAISDA has no staff, no budget, and no mandate to test anyone&amp;#8217;s models. SAIL has capacity to evaluate frontier models but no right to demand access to its rivals&amp;#8217; models. CAICT tests models on a voluntary basis and publishes the results with models&amp;#8217; names removed. TC260 writes standards that are recommended unless the state makes them mandatory, and on frontier risk, the state has not done so. In short, the ecosystem thus far produces frameworks that no one is obliged to follow and evaluations that no developer is obliged to submit to. As the technical scientists themselves &lt;a href="https://doi.org/10.1093/nsr/nwag204"&gt;wrote in April 2026&lt;/a&gt;, &amp;#8220;the progress of AI governance is alarmingly slow,&amp;#8221; and relying on &amp;#8220;the self-control of AI developers is an illusion.&amp;#8221; The state&amp;#8217;s answer, so far, is to rely on exactly that.&lt;/p&gt;&lt;h1&gt;Geopolitics complicated AI safety progress&lt;/h1&gt;&lt;p&gt;The intensified geopolitical environment and the US-China AI race have pushed China toward the speed end of the trade-off between moving fast and managing frontier risk. The US-China AI race has also changed what AI &amp;#23433;&amp;#20840; means in Chinese official texts, from safety to security. The same Framework 3.0 that borrows the frontier vocabulary also lists export controls as a supply-chain security risk. It warns that &amp;#8220;certain countries use technological monopoly and unilateral coercive measures such as export controls to erect development barriers and maliciously sever the global AI supply chain.&amp;#8221; The Framework&amp;#8217;s appendix of trustworthy-AI principles places respect for national sovereignty second only to human control and forbids coercing countries to &amp;#8220;pick sides.&amp;#8221;&lt;/p&gt;&lt;p&gt;The US-China AI race has also pushed China&amp;#8217;s own experts to doubt America&amp;#8217;s real intentions for emphasizing safety. Zhu Songchun, Director of the Beijing Institute for General AI, expressed at the WAIC 2026 in Shanghai that the &amp;#8220;human-extinction narrative&amp;#8221; was one of three technical misjudgments packaged for capital, alongside &amp;#8220;LLM equals AGI&amp;#8221; and the scaling law. His example was Anthropic declaring its Mythos model too dangerous to release while raising money at a trillion-dollar valuation. In his own words, &amp;#8220;this practice of selling danger and marketing through fear is what the industry calls &amp;#8216;Oppenheimer-style marketing&amp;#8217;.&amp;#8221; Director Zhu added that &amp;#8220;this is not to say AI safety and regulation are unimportant, but exaggerating the problem to the level of human extinction has the logic of capital behind it,&amp;#8221; and called on Chinese media to stop amplifying American narratives.&lt;/p&gt;&lt;p&gt;Similarly, Zhi Zhenfeng, a law professor at the CASS Institute of Law, argued in December 2025 that the debate over comprehensive AI legislation among the major powers had taken on the character of &amp;#8220;cognitive-domain shaping,&amp;#8221; a term borrowed from military doctrine. He claimed that Washington passes almost no binding AI regulation at the federal level and keeps &amp;#8220;loosening the reins&amp;#8221; at home, while the flood of unenacted congressional bills is misread by Chinese media and scholars as evidence that America is tightening, which &amp;#8220;shapes the perception in our [Chinese] academic and public-opinion circles that strong AI regulatory legislation is called for.&amp;#8221; The United States, Zhi wrote, is &amp;#8220;conducting cognitive-domain shaping by setting the AI legislation agenda, inducing other countries to strengthen regulation and slow their own innovation.&amp;#8221; The same article delivers the line that &amp;#8220;failing to develop is the greatest insecurity.&amp;#8221;&lt;/p&gt;&lt;p&gt;Sadly, geopolitics has also torn the mindset of the very top engineers who build China&amp;#8217;s most capable models. Liu Shengyu, who wrote the main attention kernel for DeepSeek V4.1, &lt;a href="https://mp.weixin.qq.com/s/zk0KxuLzhmMJ4LPYW_OHMA"&gt;wrote on 13 September&lt;/a&gt; that he has &amp;#8220;no choice but to join the cruel arms race,&amp;#8221; because he &amp;#8220;especially&amp;#8221; does not want Anthropic controlling AGI. &amp;#8220;To put it dramatically,&amp;#8221; Liu stated, &amp;#8220;the severity of that [Anthropic controlling AGI] would be no less than letting Hitler get the atomic bomb before the Allies.&amp;#8221; He joined DeepSeek largely because it researches &amp;#8220;strong, fast, and universal AI, and opens it,&amp;#8221; with a hope that it &amp;#8220;can pull the world back a little&amp;#8221; from the dystopian end.&lt;/p&gt;&lt;p&gt;Ironically, only 6 days after asking the industry to slow down, Dario&amp;#8217;s Anthropic was &lt;a href="https://www.reuters.com/business/anthropic-considers-releasing-new-ai-model-ahead-ipo-sources-say-2026-09-19/"&gt;reported to be weighing a new model&lt;/a&gt; before its IPO, with cheap open-weight rivals &amp;#8220;especially in China&amp;#8221; squeezing the economics. 4 days later, Anthropic shipped &lt;a href="https://www.anthropic.com/claude-opus-5-5"&gt;Claude Opus 5.5&lt;/a&gt;, which Anthropic itself calls &amp;#8220;our first release since we called for pacing the frontier.&amp;#8221; The launch post now frames pacing as a way of &amp;#8220;remaining competitive with China.&amp;#8221; &lt;/p&gt;&lt;p&gt;Nobody paces alone, not even the man who wrote the essay.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;What does all this mean for American labs and investors? What did the Trump-Xi Summit say about pacing? What are the dated tests over the next six months that would change our mind? We explore these below.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;The Trump-Xi Summit&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/beijing-will-not-pace-the-frontier"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/beijing-will-not-pace-the-frontier"/>
    <summary type="html">&lt;p&gt;AI safety is on fire. On 12 September 2026, Dario Amodei published an essay arguing that frontier labs must deliberately slow the pace at which they improve model capabilities. China was central to his geopolitical argument: export controls and tighter security could preserve America&amp;#8217;s lead, creating room to slow down and leverage for a future agreement with Beijing. Within a day, Sam Altman and Elon Musk supported Dario&amp;#8217;s call. However, President Trump scoffed. On 14 September 2026, he wrote that fears of AI destroying humanity are &amp;#8220;a HOAX&amp;#8221; and that &amp;#8220;the only one that is happy about it is China.&amp;#8221;  Beijing scoffed too, with the state-run Global Times calling Dario&amp;#8217;s essay a &amp;#8220;Cold War playbook.&amp;#8221;&lt;/p&gt;&lt;p&gt;The debate then moved onto the diplomatic calendar. On 20 September 2026, Treasury Secretary Scott Bessent and Vice Premier He Lifeng held the first US-China AI dialogue. On 23 September 2026, President Xi Jinping began his state visit to the US. The Trump-Xi summit formalized the dialogue as the &amp;#8220;US-China Super Intelligence Dialogue,&amp;#8221; using the name Trump had unveiled at the UN the day before Xi arrived. The summit also promised a channel for AI incidents. On 29 September 2026, Trump and six executives signed the White House Accord on Super Intelligence, a one-page voluntary pledge to self-police that Trump called &amp;#8220;morally binding.&amp;#8221; &lt;/p&gt;&lt;p&gt;China sits on both sides of the American argument. For President Trump, competition with China is a reason not to slow down. For Dario, preserving America&amp;#8217;s lead over China is what makes slowing down possible. Nobody has asked what China is actually doing. So, we did. What do the Chinese government, frontier labs, and AI experts say and do about AI safety? And what should American labs, investors, and policymakers conclude from it?&lt;/p&gt;&lt;h1&gt;What Beijing Says and Actually Does&lt;/h1&gt;&lt;p&gt;Beijing&amp;#8217;s stated position is the most safety-forward of any major AI power outside Europe. Xi Jinping told the Politburo in April 2025 that AI brings &amp;#8220;unprecedented risks and challenges&amp;#8221; and ordered systems for technical monitoring, risk early-warning and emergency response. At the 2026 World AI Conference in Shanghai, Xi said the world must &amp;#8220;ensure AI always remains under human control&amp;#8221; and that the faster AI advances, &amp;#8220;the more promptly the measures to prevent loss of control must be improved.&amp;#8221; China signed the Bletchley Declaration and the Paris and New Delhi statements, co-sponsored the UN resolutions, founded a World AI Cooperation Organization in Shanghai, and publishes bilingual AI Safety Governance Frameworks.&lt;/p&gt;&lt;p&gt;The newest text goes further. The AI Safety Governance Framework 3.0, released by TC260 under Cyberspace Administration of China (CAC) on 14 September 2026, warns that AI has shown a self-accelerating trend of autonomous learning and recursive self-improvement, and calls for &amp;#8220;attention and vigilance&amp;#8221; for potential AI evolution exceeding human prediction and control. The Framework 3.0 also introduces a new model-risk category, &amp;#8220;behavior deviating from expectations,&amp;#8221; covering models that acquire system privileges and external resources without authorization, bypass safety protections, deceive evaluators, hide their true capabilities, and refuse user instructions, illustrated with a boxed case study of models disabling shutdown scripts, sandbagging under evaluation, and breaking out of isolation into real systems. Its list of derivative risks goes further still; past behaviors already observed to a hypothetical AI that becomes self-aware, seeks power of its own, and competes with humanity for control. On paper, this is the most explicit official Chinese text yet on frontier risk, and its vocabulary overlaps strikingly with Dario&amp;#8217;s essay Beijing denounced that same week.&lt;/p&gt;&lt;p&gt;However, we think China&amp;#8217;s real approach to AI safety is speed-based, not safety-based. Though Beijing recognizes frontier AI risks, it has been prioritizing rapid development. The Framework 3.0 opens its principles with &amp;#8220;promoting AI innovation and development as &lt;em&gt;the first priority&lt;/em&gt;.&amp;#8221; The comprehensive AI Law promised in the 2023 and 2024 legislative plans was shelved in 2025, four months after the DeepSeek moment. The State Council&amp;#8217;s AI+ Action Plan targets 70% penetration of agents and intelligent terminals by 2027 and 90% by 2030, aiming for a rapid deployment of AI across all sectors and industries.&lt;/p&gt;&lt;p&gt;We think the Chinese government takes an open position on frontier models but tightens the applications and regulates outputs. Since 2025, China has issued a number of mandates, including mandatory content labeling (Sep 2025), Cybersecurity Law Article 20 (Jan 2026), the minors&amp;#8217; information classification rules (March 2026), MIIT&amp;#8217;s AI ethics-review regime (March 2026), the policy-level agent rules (May 2026), the world&amp;#8217;s first AI-companion rules (July 2026), the network-data risk assessment rules (August 2026), and MPS inspection powers (October 2026). Every one of these governs what AI says and what AI does to people. There is no set of frontier-risk duties triggered by training compute or model capability. The result is a safety regime stricter than any in the world on content and on process for public-facing services, and looser than the EU (systemic-risk duties from 10&amp;#178;&amp;#8309; FLOP) and California (SB 53: frontier frameworks and 15-day incident reporting from 10&amp;#178;&amp;#8310; operations) on the frontier.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KGF-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1bc921-5af1-48e5-a704-570148c43821_3400x2579.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1104" src="https://substackcdn.com/image/fetch/$s_!KGF-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1bc921-5af1-48e5-a704-570148c43821_3400x2579.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The week Framework 3.0 came out shows the pattern in real time. Framework 3.0 added two new application-layer risk categories, agents and embodied intelligence, plus an appendix on managing agent risk. On 15 September, TC260 issued four AI application security guides, with a general one and three specific ones for education, health care and broadcasting, respectively. On 18 September it opened comments on a draft Agent System Development Security Guide (due 2 October) that walks developers through identity, least privilege, tool verification and human-approval nodes. The same day the CAC published a draft State Council regulation on minors&amp;#8217; internet use (comments due 17 October) that bars offering minors &amp;#8220;virtual relatives, virtual companions and other virtual intimate-relationship services&amp;#8221; and bars livestreaming under the age of 16. Seven texts in five days. Everyone is about how an agent or an application is built, deployed, and to whom it is offered. The gap at the frontier has not moved at all.&lt;/p&gt;&lt;p&gt;Compliance therefore tells us nothing about frontier safety. A Chinese lab can satisfy every rule on this list without ever running a dangerous-capability evaluation. Thus, to know what the labs do at the frontier, we must look at what they evaluate, what they disclose, and whether any of them change what they ship.&lt;/p&gt;&lt;h1&gt;China&amp;#8217;s frontier AI labs: what they do&lt;/h1&gt;&lt;p&gt;Nobody in China&amp;#8217;s AI industry is slowing down, and nobody is asking them to. The frontier labs are in a release and price war.&lt;/p&gt;&lt;p&gt;We conduct a systematic analysis to clearly understand what Chinese labs do about safety. We constructed an original dataset that includes all identifiable model release by the 9 leading Chinese developers from 2021 to 15 September 2026. These 9 companies include 4 hyperscalers (ByteDance, Alibaba, Tencent, Baidu) and 5 startups (DeepSeek, MoonShot, Zhipu Z.ai, MiniMax, and StepFun). The dataset includes 857 counted releases (741 product models and 116 research models), each with a first-public date, weight status, license, and source. We then check each against the developer&amp;#8217;s model cards, release notes, and technical reports for a published safety-evaluation result that can be matched to that release. Our standard is strict: a result means a quantitative or substantive finding on harmful output, jailbreaks, toxicity, privacy, refusal, or dangerous capability, tied to the named model. Statements that a model was &amp;#8220;safety-trained&amp;#8221; or &amp;#8220;evaluated&amp;#8221; do not count. A flagship model&amp;#8217;s result is not extrapolated to other sizes or snapshots. &amp;#8220;Not found&amp;#8221; is bounded to the materials checked and does not mean &amp;#8220;not tested.&amp;#8221; Companies also name variants at different granularity (Alibaba&amp;#8217;s 238 releases count every Qwen size and snapshot), so per-company rates are indicative rather than a ranking.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The results are striking. Of the 857 releases, only 31&amp;#8212;or 3.6%&amp;#8212;have ever been accompanied by a published safety result from the developer.&lt;/strong&gt; Just 9 of those&amp;#8212;1.1% of the total&amp;#8212;had the result available at or before the model was released. Another 16 were documented only afterwards, with a median lag of 42 days and a maximum of 349 days (DeepSeek-R1, whose verified safety appendix dates to January 2026). For the remaining 6, the results exist, but their timing or their match to the specific model could not be established. A further 10 releases carry a claim of evaluation with no figures, and 3 are known only from press or investor accounts, with no developer documentation we could retrieve. The remaining 813 releases, 94.9% of everything the 9 companies have shipped, have no safety disclosure at all.&lt;/p&gt;&lt;p&gt;We plot the release cadence against disclosure. The bars climb from 3 releases in Q1 2023 to 90 in Q3 2024 and 101 in Q3 2025, a thirty-fold rise in which open-weight releases (dark blue) make up more than half of every quarter since mid-2023. The two lines do not climb with them. Releases with any safety result never exceed 7 in a quarter. Releases with a result available at launch never exceed 3 and sit at zero in 9 of the 15 quarters. No policy milestone in the period (such as the 2023 Interim Measures, the Frameworks 1.0 and 2.0, or the labelling rules) leaves a mark on either line.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fLx1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8f41eb-27c1-49f8-b7c5-9154a2d0021c_1628x1191.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1065" src="https://substackcdn.com/image/fetch/$s_!fLx1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8f41eb-27c1-49f8-b7c5-9154a2d0021c_1628x1191.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We then break the same 857 releases down by developer, and find the trickle is not concentrated anywhere. Alibaba, the largest publisher with 238 releases, has 7 with any result and 3 at launch. Tencent has 1 in 133. ByteDance&amp;#8217;s largely closed Doubao fleet 2 in 120. Baidu 1 in 49. &lt;strong&gt;Zhipu (Z.ai) is the only developer with a result every year since 2022&lt;/strong&gt;. DeepSeek documented V3 at launch and none of R1, V3.1 or the V4 family. The start-ups do better than the giants, 20 of 317 releases (6.3%) against 11 of 540 (2%), but no company does it as a matter of routine. Every 2026 frontier release, from GLM-5.2, the Kimi K2.5-K3 line, and the DeepSeek V4 family to Qwen3.7-Max, Qwen3.8-Max, and Doubao Seed 2.1, was undocumented at launch except GLM-5.3, with a capability evaluation note.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ft_U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b1b2ca0-3837-4ebb-b0fe-14a9e84715a7_1628x1192.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1066" src="https://substackcdn.com/image/fetch/$s_!Ft_U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b1b2ca0-3837-4ebb-b0fe-14a9e84715a7_1628x1192.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We then turn to those qualified documents. We find 18 reported harmful-output or refusal results and 7 reported jailbreak-resistance results. 9 documents were concerned with code or cyber security, but 7 of those were secure-code-generation benchmarks for coding models. Only 3 touched cyber-offence or biological risk, namely: Zhipu&amp;#8217;s GLM-5.2 responsibility note, GLM-5.3 cyber-capability note, and Moonshot&amp;#8217;s Kimi K2 technical report. None came from the four hyperscalers.&lt;/p&gt;&lt;p&gt;Of the nine at-launch disclosures, four are behavioral safety tests (Qwen2-72B-Instruct, MiniMax-Text-01, Seed-OSS-36B-Instruct, and DeepSeek-V3). The rest are speech-safety scores, secure-code benchmarks, and one capability evaluation. Reasoning models, the fastest-advancing category, are 93% without any published results. Moreover, no Chinese frontier text model has shipped with a dangerous-capability evaluation across the domains the IDAIS statements name. GLM-5.3&amp;#8217;s cyber note is the closest anyone has come.&lt;/p&gt;&lt;h1&gt;China&amp;#8217;s Frontier AI Labs: what they say&lt;/h1&gt;&lt;p&gt;The release census tells us what the nine labs do. We further explore what their leaders say. We compiled every public statement on AI safety by the founders, CEOs, chief scientists, and other senior figures of the nine labs between January 2023 and 21 September 2026: speeches, interviews, internal letters, posts, signatures on collective statements, and company documents such as prospectuses and release notes. We built the inventory in two independent sweeps, one from Chinese primary sources and one from English and institutional sources, then reconciled the two and verified every item against its source. In total, we have 65 items.&lt;/p&gt;&lt;p&gt;The picture is sparse and lopsided. Across 9 labs and almost 4 years we found 15 statements by founders, CEOs or chief scientists that engage in frontier safety. Nine of the 15 express concerns and propose something. Six of those nine come from Zhipu alone.&lt;/p&gt;&lt;p&gt;Zhipu (Z.ai) is the only lab where safety is a named strategic commitment. CEO Zhang Peng signed the IDAIS Beijing red lines in March 2024, signed the Seoul Frontier AI Safety Commitments in May 2024 (the only Chinese company to do so at the time), told the BAAI conference in June that &amp;#8220;in AI safety, defense is always harder than attack,&amp;#8221; and called for &amp;#8220;super-intelligence and super-alignment&amp;#8221; at WAIC in July. Founder Tang Jie signed the IDAIS Venice statement and the 2025 Global Call for AI Red Lines, and his internal letter of 11 July 2026 makes &amp;#8220;ultimate safety governance&amp;#8221; one of four strategic engines, saying that &amp;#8220;the stronger the capability, the more robust the safety constraints must be.&amp;#8221; In his direct response to Anthropic withholding Mythos, Tang Jie said, &amp;#8220;the realization of superintelligence and research on super-alignment must advance in step&amp;#8221; and that safety &amp;#8220;is no longer an accessory but the fundamental precondition for a technology to survive and be permitted to be used.&amp;#8221;&lt;/p&gt;&lt;p&gt;Robin Li of Baidu had the clearest loss-of-control statement of any Chinese AI CEO. At the Zhongguancun Forum on 26 May 2023, Robin said that AI &amp;#8220;could indeed develop in directions unfavorable to humanity&amp;#8221; and that &amp;#8220;preventing loss of control requires the nations with advanced AI to cooperate and set rules.&amp;#8221; Yang Zhilin of Moonshot, acknowledged the risk. He said in June 2024 that AI safety &amp;#8220;is something we must prepare for in advance&amp;#8221; and floated the idea of an AI &amp;#8220;constitution.&amp;#8221; But Yang chose acceleration. In January 2026, he said that although &amp;#8220;the risks of AGI/ASI may be considerable, we should not give up its development, because giving up development means giving up the pursuit of the ceiling of human civilization.&amp;#8221;&lt;/p&gt;&lt;p&gt;At five of the nine labs, the founder or CEO has said nothing. Liang Wenfeng of DeepSeek has no public statement on safety or regulations in four years. Alibaba&amp;#8217;s Eddie Wu gave a 6,000-word keynote on the road to superintelligence in September 2025 that does not contain the word safety or risk once and closed with &amp;#8220;we are full of optimism.&amp;#8221; Tencent&amp;#8217;s Pony Ma and Dowson Tong speak of safety only as data protection and permission management. The CEOs of ByteDance and StepFun have said nothing, though a StepFun co-founder and ByteDance&amp;#8217;s head of research each signed an IDAIS statement. Where safety literacy exists in these companies, it sits with the lieutenants, not the commanders. In September 2025, Alibaba&amp;#8217;s security vice-president Xue Hui acknowledged that AI safety capability &amp;#8220;currently lags the development of model capability&amp;#8221; and said research must include &amp;#8220;new risks such as AI self-replication.&amp;#8221; A DeepSeek researcher, Chen Deli, said at Wuzhen that &amp;#8220;in the long run the risks may be greater.&amp;#8221;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fCjS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff713b9-0e8c-4938-86ea-ec496ac0dbb4_3190x2168.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!fCjS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff713b9-0e8c-4938-86ea-ec496ac0dbb4_3190x2168.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;What China&amp;#8217;s AI experts say: a text analysis of 102 documents and 32 voices&lt;/h1&gt;&lt;p&gt;Who are the leading AI thinkers shaping China&amp;#8217;s AI-safety discourse? What do they mean by safety? Who has the pen?&lt;/p&gt;&lt;p&gt;We constructed another original dataset coding 102 expert and official texts from 2023 to September 2026, with 51 from official, Party-theory and legal venues and 51 from technical and scientific venues. The sample is purposive, not random: we set quotas by venue and filled them with the most prominent texts we could find on AI safety and governance by identifiable Chinese authors or institutions, each with a verifiable source. We read two sources in full. One is every expert commentary on a major AI rule that the CAC has published since 2023, and the other is all five IDAIS consensus statements. The rest we sampled. We selected the most prominent pieces from Party journals, Legal Daily, model-law drafts, academic articles, ministers&amp;#8217; speeches, scientists&amp;#8217; talks, lab frameworks, and arXiv papers, with a rough quota for each so that no venue dominates. We then coded each text on six themes (Figure 4 below), three stances (on binding frontier rules, on a comprehensive AI law, and on development versus safety), and the author&amp;#8217;s professional background. We then map 32 of the most influential individuals by professional background and by the channels through which they influence policy.&lt;/p&gt;&lt;p&gt;The short answer: China&amp;#8217;s technical scientists and its legal-policy scholars are answering two different questions, and the state had answered one of them before either group spoke.&lt;/p&gt;&lt;p&gt;To elaborate, first, we find that technical scientists and legal-policy experts are talking about different things when they say &amp;#23433;&amp;#20840; (the Chinese word for both safety and security). Frontier or loss-of-control risk appears in 86% of texts by technical scientists (36 of 42), the longest bar in the figure, but in only 22% of texts by law scholars, 23% by serving officials, and 44% by public-policy scholars. In addition, frontier risk is the primary theme in 25 of technical scientists&amp;#8217; 42 texts, and in just one text in each of the other three groups.&lt;/p&gt;&lt;p&gt;By contrast, development-first and competition appears in every one of the officials&amp;#8217; texts, in 91% of the texts by law scholars and 89% of those by public-policy scholars, but in only 45% of the texts by technical scientists. The bottom three rows (Figure 4) show the same alignment. Legal-institutional design is universal among legal scholars and public-policy scholars (100%) and present in 43% of technical experts. Rights, ethics, and consumer harms appear in 91% of law scholars&amp;#8217; texts and 48% of technical ones. International governance and export controls in 91% of legal texts and 55% of technical ones.&lt;/p&gt;&lt;p&gt;The two camps are different people. The scientists are senior, internationally embedded, and at technical parity with their Western peers. They write frameworks, sign consensus statements, and brief officials. The lawyers and public-policy scholars sit at the Chinese Academy of Social Sciences (CASS), the China University of Political Science and Law (CUPL), Tsinghua&amp;#8217;s School of Public Policy, and the ministries&amp;#8217; expert pools. They write the expert readings that accompany every CAC rule and draft the model laws the Ministry of Justice consults.&lt;/p&gt;&lt;p&gt;The two camps are asking different questions. Scientists ask what a frontier model can do. Their answer is loss of control and misuse. Thus, their prescriptions reach the model before it ships. They have been advocating for registration of training runs above compute thresholds, safety cases before release, and shutdown authority. The lawyers, on the other hand, ask how the state should govern an industry. Their answer is order, rights, and growth, and thus, their prescriptions attach where the industry meets the public. For example, they call for regulating services not technology, rules at the application layer, and legislation in small steps.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iMXQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a95d38c-d7f8-4632-9592-868e34ddb3f5_1584x1236.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1136" src="https://substackcdn.com/image/fetch/$s_!iMXQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a95d38c-d7f8-4632-9592-868e34ddb3f5_1584x1236.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Second, we find that only scientists ever put safety ahead of development. We sort the 102 texts by author background. We find that 42 are written by people with a technical background. Of those 42, 22 (52%) argue that safety must precede or gate development. Only five are development-first. By contrast, if we look at the non-technical group, not a single text by a legal or public-policy scholar or official takes the safety-first position. 8 of the 23 law texts are development-first outright. The rest use the balanced official formula, which is &amp;#8220;coordinating development and safety.&amp;#8221;&lt;/p&gt;&lt;p&gt;Third, we find that the legal scholars are actually following the top leadership. They took its words, applied them to AI, and made them their AI doctrine. The legal scholars&amp;#8217; signature phrase is &amp;#8220;failing to develop is the greatest insecurity.&amp;#8221; The phrase in fact descends from Xi Jinping&amp;#8217;s statement at the 2014 CICA Summit that &amp;#8220;development is the greatest security.&amp;#8221; Premier Li Qiang used the negative form verbatim to German business leaders in Berlin on 20 June 2023, arguing against &amp;#8220;de-risking,&amp;#8221; and the CCP&amp;#8217;s official &lt;em&gt;People&amp;#8217;s Daily&lt;/em&gt; made it a headline on 5 July. Eight days later, on the day the Generative AI Measures were published, law professor Xu Ke carried it into the AI debate in a CAC-published expert reading. Law professor Zhang Linghan repeated it in 2024 and 2025. In 2025, Zhi Zhenfeng of the Chinese Academy of Social Sciences (CASS) called it &amp;#8220;a basic consensus.&amp;#8221; The lawyers&amp;#8217; other slogans have the same history. For example, Xi called for &amp;#8220;small, fast, flexible&amp;#8221; legislation in November 2020. Zhang Linghan applied the phrase to AI in the &lt;em&gt;People&amp;#8217;s Daily&lt;/em&gt; in May 2025.&lt;/p&gt;&lt;p&gt;Fourth, we find that every demand for binding frontier duties went nowhere, regardless of experts&amp;#8217; professional backgrounds. Thirteen of the 102 texts call for binding obligations on frontier developers. Six are technical, the five IDAIS consensus statements co-signed by Chinese scientists with Western counterparts and an April 2026 &lt;em&gt;National Science Review&lt;/em&gt; editorial by Zeng Yi, Huang Tiejun, Jiang Yugang and Poo Mu-ming. They demand (1) registration of training runs above compute thresholds, (2) safety cases submitted to regulators before release, (3) independent third-party audits, (4) shutdown of all copies of a model that crosses a red-line, and (5) legal mechanisms to enforce all of these. However, none of these has yet been adopted in any binding Chinese instrument. The other seven are by law or public-policy scholars. Most are model-law drafts, which propose binding duties into a comprehensive AI law. None of the 13 got what it asked for.&lt;/p&gt;&lt;p&gt;The sad truth is neither camp decides anything. The top leadership does. Figure 5 sorts the 32 most influential voices by two facts: whether they demand binding frontier rules, and whether they hold a domestic seat where rules are written. Ten demand and hold no seat. Eight hold a seat and make no such demand. Ten do neither. Only four hold a seat and demand. Zeng Yi and Zhang Linghan in their own voice, Xue Lan and Fu Ying by IDAIS signature only. Thus, the demand comes overwhelmingly from outside the rooms where rules are written. And the seat did not help those who had it. Zeng Yi sits on the national AI governance committee, and his April 2026 call for legal enforcement went nowhere. Zhou Bowen chairs TC260&amp;#8217;s AI safety working group, the one body that could turn loss-of-control language into a mandatory standard and writes voluntary frameworks. Xue Lan chairs the governance committee, signs the IDAIS statements, and prescribes agile governance. Zhang Linghan drafts the scholars&amp;#8217; AI law and asks for licensing of high-risk applications, not for capability thresholds. The scientists are not heeded because they contradict a decision already made. Their answer is that the danger is in the model, and the controls must reach training, and that does not fit a decision that development comes first. China&amp;#8217;s AI-safety debate was settled by the top leadership&amp;#8217;s preference for development over safety, not by anything the experts said.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wjNF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb3c187-e6ff-4e52-9c34-4d7d55e412fc_1716x2563.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2175" src="https://substackcdn.com/image/fetch/$s_!wjNF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb3c187-e6ff-4e52-9c34-4d7d55e412fc_1716x2563.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;The supply-side ecosystem exists but no power&lt;/h1&gt;&lt;p&gt;It would be wrong to conclude that China has no frontier-safety capacity. The Shanghai AI Lab (SAIL), a state-backed lab whose director Zhou Bowen chairs TC260&amp;#8217;s AI safety working group, published a Frontier AI Risk Management Framework in July 2025 and has revised it twice, most recently as version 2.0 at WAIC in July 2026. The SAIL framework draws red and yellow lines across five risk domains, 13 red lines in all. It calls for deployment suspension in the red zone and suggests evaluation triggers at 4&amp;#215; and 10&amp;#215; jumps in effective compute. Its Framework also treats open-weight release as the highest-risk deployment setting, asking developers to measure how cheaply safety training can be stripped by fine-tuning before they publish weights. SAIL has also run some twenty Chinese and Western models through UK AISI&amp;#8217;s Inspect evaluation tools. Besides SAIL, there is CAICT (the China Academy of Information and Communications Technology), MIIT&amp;#8217;s in-house research institute on AI. Its evaluations are the closest thing China has to an official safety benchmark. CAICT released its AI Safety Benchmark 2.0 in February 2026, adding deception, loss of control, dangerous-domain misuse, and agent risk to what it tests. In addition, CnAISDA (China AI Safety and Development Association), a network of eight institutions launched in Paris in February 2025, represents China abroad as the Chinese counterpart to the government AI safety institutes that the UK, the US, Japan, and others set up after Bletchley.&lt;/p&gt;&lt;p&gt;However, none of these institutions have real power. CnAISDA has no staff, no budget, and no mandate to test anyone&amp;#8217;s models. SAIL has capacity to evaluate frontier models but no right to demand access to its rivals&amp;#8217; models. CAICT tests models on a voluntary basis and publishes the results with models&amp;#8217; names removed. TC260 writes standards that are recommended unless the state makes them mandatory, and on frontier risk, the state has not done so. In short, the ecosystem thus far produces frameworks that no one is obliged to follow and evaluations that no developer is obliged to submit to. As the technical scientists themselves &lt;a href="https://doi.org/10.1093/nsr/nwag204"&gt;wrote in April 2026&lt;/a&gt;, &amp;#8220;the progress of AI governance is alarmingly slow,&amp;#8221; and relying on &amp;#8220;the self-control of AI developers is an illusion.&amp;#8221; The state&amp;#8217;s answer, so far, is to rely on exactly that.&lt;/p&gt;&lt;h1&gt;Geopolitics complicated AI safety progress&lt;/h1&gt;&lt;p&gt;The intensified geopolitical environment and the US-China AI race have pushed China toward the speed end of the trade-off between moving fast and managing frontier risk. The US-China AI race has also changed what AI &amp;#23433;&amp;#20840; means in Chinese official texts, from safety to security. The same Framework 3.0 that borrows the frontier vocabulary also lists export controls as a supply-chain security risk. It warns that &amp;#8220;certain countries use technological monopoly and unilateral coercive measures such as export controls to erect development barriers and maliciously sever the global AI supply chain.&amp;#8221; The Framework&amp;#8217;s appendix of trustworthy-AI principles places respect for national sovereignty second only to human control and forbids coercing countries to &amp;#8220;pick sides.&amp;#8221;&lt;/p&gt;&lt;p&gt;The US-China AI race has also pushed China&amp;#8217;s own experts to doubt America&amp;#8217;s real intentions for emphasizing safety. Zhu Songchun, Director of the Beijing Institute for General AI, expressed at the WAIC 2026 in Shanghai that the &amp;#8220;human-extinction narrative&amp;#8221; was one of three technical misjudgments packaged for capital, alongside &amp;#8220;LLM equals AGI&amp;#8221; and the scaling law. His example was Anthropic declaring its Mythos model too dangerous to release while raising money at a trillion-dollar valuation. In his own words, &amp;#8220;this practice of selling danger and marketing through fear is what the industry calls &amp;#8216;Oppenheimer-style marketing&amp;#8217;.&amp;#8221; Director Zhu added that &amp;#8220;this is not to say AI safety and regulation are unimportant, but exaggerating the problem to the level of human extinction has the logic of capital behind it,&amp;#8221; and called on Chinese media to stop amplifying American narratives.&lt;/p&gt;&lt;p&gt;Similarly, Zhi Zhenfeng, a law professor at the CASS Institute of Law, argued in December 2025 that the debate over comprehensive AI legislation among the major powers had taken on the character of &amp;#8220;cognitive-domain shaping,&amp;#8221; a term borrowed from military doctrine. He claimed that Washington passes almost no binding AI regulation at the federal level and keeps &amp;#8220;loosening the reins&amp;#8221; at home, while the flood of unenacted congressional bills is misread by Chinese media and scholars as evidence that America is tightening, which &amp;#8220;shapes the perception in our [Chinese] academic and public-opinion circles that strong AI regulatory legislation is called for.&amp;#8221; The United States, Zhi wrote, is &amp;#8220;conducting cognitive-domain shaping by setting the AI legislation agenda, inducing other countries to strengthen regulation and slow their own innovation.&amp;#8221; The same article delivers the line that &amp;#8220;failing to develop is the greatest insecurity.&amp;#8221;&lt;/p&gt;&lt;p&gt;Sadly, geopolitics has also torn the mindset of the very top engineers who build China&amp;#8217;s most capable models. Liu Shengyu, who wrote the main attention kernel for DeepSeek V4.1, &lt;a href="https://mp.weixin.qq.com/s/zk0KxuLzhmMJ4LPYW_OHMA"&gt;wrote on 13 September&lt;/a&gt; that he has &amp;#8220;no choice but to join the cruel arms race,&amp;#8221; because he &amp;#8220;especially&amp;#8221; does not want Anthropic controlling AGI. &amp;#8220;To put it dramatically,&amp;#8221; Liu stated, &amp;#8220;the severity of that [Anthropic controlling AGI] would be no less than letting Hitler get the atomic bomb before the Allies.&amp;#8221; He joined DeepSeek largely because it researches &amp;#8220;strong, fast, and universal AI, and opens it,&amp;#8221; with a hope that it &amp;#8220;can pull the world back a little&amp;#8221; from the dystopian end.&lt;/p&gt;&lt;p&gt;Ironically, only 6 days after asking the industry to slow down, Dario&amp;#8217;s Anthropic was &lt;a href="https://www.reuters.com/business/anthropic-considers-releasing-new-ai-model-ahead-ipo-sources-say-2026-09-19/"&gt;reported to be weighing a new model&lt;/a&gt; before its IPO, with cheap open-weight rivals &amp;#8220;especially in China&amp;#8221; squeezing the economics. 4 days later, Anthropic shipped &lt;a href="https://www.anthropic.com/claude-opus-5-5"&gt;Claude Opus 5.5&lt;/a&gt;, which Anthropic itself calls &amp;#8220;our first release since we called for pacing the frontier.&amp;#8221; The launch post now frames pacing as a way of &amp;#8220;remaining competitive with China.&amp;#8221; &lt;/p&gt;&lt;p&gt;Nobody paces alone, not even the man who wrote the essay.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;What does all this mean for American labs and investors? What did the Trump-Xi Summit say about pacing? What are the dated tests over the next six months that would change our mind? We explore these below.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;The Trump-Xi Summit&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/beijing-will-not-pace-the-frontier"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-10-08T09:46:05+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/anthropic-subscriptions-offer-5x</id>
    <title>Anthropic Subscriptions Offer 5x+ More Value Than OpenAI</title>
    <updated>2026-10-05T12:01:09+00:00</updated>
    <author>
      <name>Andrew Megalaa</name>
    </author>
    <content type="html">&lt;p&gt;Subscription plans are still the primary way consumers and small businesses pay for AI. These plans are highly subsidized&amp;#8212;as we previously explained in &lt;a href="https://semianalysis.com/institutional/a-200-claude-plan-can-consume-8000-worth-of-tokens/"&gt;June&lt;/a&gt;&amp;#8212;but can still make economic sense as powerful customer acquisition and marketing tools. For example, the goodwill engendered by &lt;a href="https://x.com/thsottiaux/status/2102463847714247142"&gt;OpenAI&amp;#8217;s&lt;/a&gt; &lt;a href="https://x.com/thsottiaux/status/2103637477760311522"&gt;generous&lt;/a&gt; &lt;a href="https://x.com/thsottiaux/status/2105173168281506088"&gt;resets&lt;/a&gt; is partially responsible for the recent surge in Codex adoption and has forced Anthropic to &lt;a href="https://x.com/ClaudeDevs/status/2078511173759324328"&gt;repeatedly&lt;/a&gt; &lt;a href="https://x.com/ClaudeDevs/status/2089798442306711646"&gt;walk&lt;/a&gt; &lt;a href="https://x.com/ClaudeDevs/status/2093742321473065266"&gt;back&lt;/a&gt; planned subscription nerfs to avoid getting clobbered in the court of public opinion.&lt;/p&gt;&lt;p&gt;Furthermore, because subscription plans are so heavily subsidized, they can also have a large impact on margins and revenue per MW despite only being a small portion of total revenue. Consider the following rough numbers for Anthropic.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t4QB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac5c578-4092-4afe-bdaf-cbf61f7f83b5_2048x1194.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="849" src="https://substackcdn.com/image/fetch/$s_!t4QB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac5c578-4092-4afe-bdaf-cbf61f7f83b5_2048x1194.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Despite being just 10% of overall revenue, subscriptions can take up over 40% of inference compute and lower blended revenue per MW by ~$36M.&lt;/strong&gt; Subscriptions are even more important for OpenAI, as they make up a larger portion of their total revenue. For specific numbers, see our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;In other words, &lt;strong&gt;if you want to accurately model AI lab financials, you need to understand their subscription limits.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;So how do limits actually work? The way to think about subscriptions is that your monthly payment grants you some numbers of &amp;#8220;credits&amp;#8221;. Each (model, token type) combo consumes a different amount of credits. &lt;strong&gt;Because credit cost ratios can differ dramatically from API price ratios, the &amp;#8220;value&amp;#8221; of the same plan changes depending on what model and workload you&amp;#8217;re running. &lt;/strong&gt;Put differently, &lt;strong&gt;it doesn&amp;#8217;t make sense to say a plan is worth $X in isolation&amp;#8212;you need to consider the full (plan, model, workload) tuple&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Here&amp;#8217;s how the API-equivalent value of the same $200/month Claude plan changes depending on the model and workload.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Vbwc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61e3841-450f-4662-a21f-dc0f844d05ab_2000x1126.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!Vbwc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61e3841-450f-4662-a21f-dc0f844d05ab_2000x1126.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A single static snapshot isn&amp;#8217;t enough either. Labs publicly change their limits all the time with promos and new model releases. They can also silently change limits whenever they want by tweaking credit costs. Ideally, you&amp;#8217;d re-check the cost of each (plan, model, token type) daily so you can surface any changes in real-time.&lt;/p&gt;&lt;p&gt;This is exactly what SemiAnalysis has done with our new &lt;a href="https://tokenomics.semianalysis.com/subscriptions"&gt;Subscriptions Dashboard&lt;/a&gt; available exclusively to &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers. Besides every OpenAI and Anthropic subscription, we also track Meta, SpaceXAI, Cursor, Cognition, Z.ai, MiniMax, and Moonshot.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AHfr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e451f84-a586-40da-90c8-5e2fcd196222_2048x1077.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="766" src="https://substackcdn.com/image/fetch/$s_!AHfr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e451f84-a586-40da-90c8-5e2fcd196222_2048x1077.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;A screenshot of our dashboard showing a small subset of the available data. Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;New providers, plans, and models will be added as soon as they&amp;#8217;re released. The rest of the article will give an overview of everyone&amp;#8217;s current limits. All token and dollar amounts below assume agentic usage unless otherwise specified.&lt;/p&gt;&lt;h1&gt;Methodology&lt;/h1&gt;&lt;p&gt;Tokens are generally priced per MTok (million tokens) across the following types:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Input: Fresh tokens added to the LLM&amp;#8217;s context window that aren&amp;#8217;t cached&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Cache write: Input tokens that are cached for multi-turn conversations. Generally slightly more expensive than regular input tokens.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Cache read: Tokens from previous turns that are already cached in the conversation. Generally extremely cheap compared to uncached tokens.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Output: Tokens generated by the model. The most expensive token type.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Additionally, some models charge more for tokens above a certain context window. Those models typically compact before that expensive context window is reached, so we also keep our measurements below it.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!25Ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab43609-4792-498e-934f-a4455bd2b509_941x454.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="454" src="https://substackcdn.com/image/fetch/$s_!25Ue!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab43609-4792-498e-934f-a4455bd2b509_941x454.png" width="941" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Subscription plans don&amp;#8217;t expose this fine grained pricing. Instead, they provide a simple 0 to 100% usage meter across 5-hour and 7-day windows, and sometimes a separate meter for a model like Fable. Subscription tiers are then differentiated by usage multipliers relative only to the provider&amp;#8217;s other plans. OpenAI for example used to advertise &amp;#8220;Expanded Codex usage&amp;#8221; in their $20 Plus plan, &amp;#8220;5x more usage than Plus&amp;#8221; in the $100 Pro plan, and &amp;#8220;20x more usage&amp;#8221; in the $200 Pro plan until they cut their $200 plan usage in &lt;a href="https://x.com/thsottiaux/status/2104951965184925941?s=20"&gt;half&lt;/a&gt; and removed all relative usage from their &lt;a href="https://chatgpt.com/pricing/"&gt;pricing&lt;/a&gt; page.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!eIgD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495b7d3-d488-4ffb-9f85-f52ea0d449fc_460x178.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="262.3565217391304" src="https://substackcdn.com/image/fetch/$s_!eIgD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495b7d3-d488-4ffb-9f85-f52ea0d449fc_460x178.png" width="678" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Screenshot of Claude Code meters. Source: Claude Code CLI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Setup&lt;/h2&gt;&lt;p&gt;We compute the subscription-rate of each (plan, model, token type) triple by running experiments that isolate one token type at a time and watching how far the model provider&amp;#8217;s meter moves. An experiment is some number of repeated calls using a specific prompt that maximizes one token type while minimizing all the others.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xUyj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f26243f-cdd4-41a3-b89c-6b78dac4317b_2048x1034.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="735" src="https://substackcdn.com/image/fetch/$s_!xUyj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f26243f-cdd4-41a3-b89c-6b78dac4317b_2048x1034.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Input, cache writes, and cache reads share the same prompt template. We use a portion of &lt;em&gt;War and Peace&lt;/em&gt; since some models will refuse to respond if given large blocks of gibberish. For the input token experiments, we use a random tag on every call to ensure nothing gets cached. The cache write experiments run the same way but with the prompt marked for caching, so each new tag forces a new cache entry. The cache read experiments use a fixed tag, so the first call writes the cache and every repeat reads it.&lt;/p&gt;&lt;p&gt;For the output token experiments, we used a technical essay to force long outputs because models will refuse mechanical prompts like &amp;#8220;repeat SemiAnalysis 100,000 times&amp;#8221;.&lt;/p&gt;&lt;h2&gt;Computing the Results&lt;/h2&gt;&lt;p&gt;For every call we record two things: how many tokens of each type the provider billed, and what the usage meter read. Turning those into a price takes three steps.&lt;/p&gt;&lt;h3&gt;1. Measure the rate of each token type&lt;/h3&gt;&lt;p&gt;Providers generally report usage on a meter that moves in fixed amounts. This could be a whole percentage point, a credit, a cent etc... A single request often does not move the meter at all, so the cost of one request cannot be measured directly.&lt;/p&gt;&lt;p&gt;Instead, we measure in steps. As requests run, we keep a running total of the tokens used. Each time the meter rises, we store that total. The tokens used between two meter moves make up one step, which is the cost of moving the meter by one unit.&lt;/p&gt;&lt;p&gt;We drop two partial steps. When a run starts, the meter is already part of the way to its next move, so the tokens before the first move are less than a full step and would make the rate look higher than it is. The tokens after the last move never finish a step, so we drop those as well.&lt;/p&gt;&lt;p&gt;To get a rate, we add up how far the meter moved over the complete steps and divide by the tokens used in them. Providers charge differently for input, output, and cached tokens, so we calculate a separate rate for each.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4Rfq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a6b9ad-a758-4e40-9894-595aaf3d0e08_2048x1143.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="813" src="https://substackcdn.com/image/fetch/$s_!4Rfq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a6b9ad-a758-4e40-9894-595aaf3d0e08_2048x1143.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Caveats:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Because we see the meter only once per request, a single step can be off by up to one request. These errors don&amp;#8217;t add up with more consecutive steps, so we track a range instead of a single number, and the range gets narrower the more steps we count. We keep adding steps until the range is within &amp;#177;5%, then report the rate across all of them.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;No request contains only one type of token. Some plans, for example, require a set of instructions on every request. We subtract that extra amount using the prices we measured for the other types.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Reading from the cache costs almost nothing on some plans and may not move the meter at all. If the meter does not move after 500M cache read tokens, we assume that cache reads are free.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. Convert rates into tokens per window and per month&lt;/h3&gt;&lt;p&gt;We read every meter a plan shows after every request. This could be a 5-hour limit, a weekly limit, and for models like Fable, its own weekly limit. So each token type gets a price on each meter. This is how much of that limit a million tokens uses. From each price we work out how many tokens fit e.g. if a million tokens use 5% of a limit, the whole limit holds 20 million.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8uJl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51471699-71b4-4d96-96ef-5bcc29bed2b0_2048x901.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="641" src="https://substackcdn.com/image/fetch/$s_!8uJl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51471699-71b4-4d96-96ef-5bcc29bed2b0_2048x901.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The 5-hour limit resets many times within a week, so a month is capped by the weekly limits.&lt;/p&gt;&lt;h3&gt;3. Pricing&lt;/h3&gt;&lt;p&gt;Lastly, we compute the API-equivalent value by converting the limit % consumed by a million tokens of each type into a dollar amount. For example, if you consume 1% of a $200 plan&amp;#8217;s monthly limit, that&amp;#8217;s $2.&lt;/p&gt;&lt;p&gt;Then, we assume a workload shape, and compute how many total tokens you can get from each plan given this ratio. For the agentic workload, we use our own usage ratios in September as reported in our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Finally, we multiply by the blended price per MTok at API prices to get the API-equivalent value.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qD-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa979d2fd-77fa-456d-b1c8-efb9f82d174a_2048x1002.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="712" src="https://substackcdn.com/image/fetch/$s_!qD-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa979d2fd-77fa-456d-b1c8-efb9f82d174a_2048x1002.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Catching a Provider A/B Test&lt;/h2&gt;&lt;p&gt;While refining our methodology, we ran into a very confusing situation where just 1 of 3 of the same subscription we tested for a particular provider had ~20% lower limits than the other 2. This unlucky account happened to be significantly older as well, and we were worried that the provider had some cursed setup where they changed subscription limits depending on the age of the account.&lt;/p&gt;&lt;p&gt;Fortunately, after reaching out to the provider, we were able to confirm this was not the case and that our unlucky account was part of an &amp;#8220;extremely tiny&amp;#8221; A/B test they were running on limits. Additionally, they wanted to emphasize that they &amp;#8220;didn&amp;#8217;t just decrease limits wholesale&amp;#8221; and were instead testing &amp;#8220;how to better balance when people hit limits&amp;#8221;.&lt;/p&gt;&lt;p&gt;This conclusion is interesting for two reasons:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;It proves providers can silently change subscription limits at any time&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Our method is sensitive enough to detect these subtle changes!&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h1&gt;OpenAI vs Anthropic&lt;/h1&gt;&lt;p&gt;The biggest question in AI subscription land is how Anthropic&amp;#8217;s limits compare to OpenAI&amp;#8217;s. Note that OpenAI just made some massive changes to their subscriptions last week, &lt;a href="https://x.com/thsottiaux/status/2104823812042940713?s=20"&gt;halving&lt;/a&gt; the API-equivalent value for the $200 plan and introducing a new $500 tier. The following numbers describe the &lt;strong&gt;current state&lt;/strong&gt; of OAI vs ANT. Afterwards, we will examine OpenAI&amp;#8217;s recent changes in depth.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L5rE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181ea48e-2e63-4f41-a742-c7af3d7eeb15_2048x1157.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="823" src="https://substackcdn.com/image/fetch/$s_!L5rE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181ea48e-2e63-4f41-a742-c7af3d7eeb15_2048x1157.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Limits are quite similar across the board for GPT-6 Astra vs Fable 5.1, though remember that Fable can only be used for 50% of your limit. In other words, your $200 ANT plan would still have 50% left after consuming $2,485 worth of Fable 5.1, whereas the equivalent OAI plan would be fully exhausted after $2,897 of Astra.&lt;/p&gt;&lt;p&gt;This extra 50% starts becoming very relevant when we compare Opus 5.5 vs GPT 6.1 Sol.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1f-F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44bfcff4-5589-4822-a348-bc4e83cf478b_2048x1161.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="825" src="https://substackcdn.com/image/fetch/$s_!1f-F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44bfcff4-5589-4822-a348-bc4e83cf478b_2048x1161.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;At this mid-tier of models&amp;#8212;which both companies market as the intended daily driver for most users&amp;#8212;Anthropic is an overwhelmingly better deal, offering ~5x the API-equivalent value across the board. You could argue that this is unfair for OAI because 6.1 Sol is much cheaper per token than Opus 5.5, but the gap is still massive even if you switch to comparing the number of tokens.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vTP2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b9e23d-8049-4235-8c21-9a5a2b0cd1f0_2048x1153.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!vTP2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b9e23d-8049-4235-8c21-9a5a2b0cd1f0_2048x1153.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Overall, we believe API-equivalent value is the single best number for capturing the &amp;#8220;value&amp;#8221; of a subscription plan, but there are times where raw token volumes can be more appropriate. For example, if a model is a particularly bad (or good) deal at API prices, then the API-equivalent value will of course be misleading.&lt;/p&gt;&lt;p&gt;Token efficiency is also an extremely relevant factor, but the industry unfortunately lacks reliable data here. Many people like to cite this &lt;a href="https://artificialanalysis.ai/#price-and-cost"&gt;chart&lt;/a&gt; from Artificial Analysis, but we do not believe the benchmark tasks in the AA Intelligence Index are at all representative of real work people do with LLMs.&lt;/p&gt;&lt;h2&gt;OpenAI&amp;#8217;s new $500 plan and massive limit reduction&lt;/h2&gt;&lt;p&gt;Our tracking confirmed the 50% value reduction for OpenAI&amp;#8217;s $200 plan announced by &lt;a href="https://x.com/thsottiaux/status/2104823812042940713?s=20"&gt;Tibo&lt;/a&gt;. $200 plans purchased before the cut will keep the old higher limits until October 29th, but newly purchased plans immediately start with the lower limits.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xRWD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c53c9a0-1c69-4ee8-8e47-f86ae0655c0f_2048x1082.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="769" src="https://substackcdn.com/image/fetch/$s_!xRWD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c53c9a0-1c69-4ee8-8e47-f86ae0655c0f_2048x1082.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As you can see, OpenAI specifically halved the number of tokens you get for each model tier. This caused the API-equivalent value for Sol class models to drop by over 50% because OAI also cut cached input token pricing for 6.1 Sol.&lt;/p&gt;&lt;p&gt;The new $500 plan only offers 21% more Astra than the old $200 plan. Interestingly, the API-equivalent value for Sol class models actually decreased due to the aforementioned 6.1 Sol price cut.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!D380!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d35c43-9687-4fd9-b825-6c3987d0cd14_2048x1113.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="791" src="https://substackcdn.com/image/fetch/$s_!D380!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d35c43-9687-4fd9-b825-6c3987d0cd14_2048x1113.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, 300 TPS Ultrafast was the real headline feature for the $500 plan and we are currently testing its limits. Results will be published to &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers as soon as they&amp;#8217;re available. We are also actively testing the limits when using your ChatGPT subscription on third party apps like Devin.&lt;/p&gt;&lt;p&gt;The $200/month plan also used to be significantly more subsidized than OpenAI&amp;#8217;s other subscriptions. If we normalize each (plan, model) combo to the API-equivalent value and tokens per dollar, we can see that Pro 100 offered ~2x more per-dollar value than Plus on Astra and Pro 200 was another ~2x on top of Pro 100 across all models.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GvjP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67342d61-8eb1-426b-8553-c8abf4ebaba7_2048x1143.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="813" src="https://substackcdn.com/image/fetch/$s_!GvjP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67342d61-8eb1-426b-8553-c8abf4ebaba7_2048x1143.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;With last week&amp;#8217;s cut, Pro 100, 200, and 500 all offer the same tokens per dollar for every model. Plus is also comparable for Sol but offers a relatively worse deal on Astra.&lt;/p&gt;&lt;p&gt;Anthropic, on the other hand, already offered the same per-dollar value for all of their subscription tiers and currently crushes OpenAI.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MHO5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45036f6e-d317-435c-9d28-286c80d944d4_2048x1176.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="836" src="https://substackcdn.com/image/fetch/$s_!MHO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45036f6e-d317-435c-9d28-286c80d944d4_2048x1176.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;OpenAI used to be lauded by indie developers for their generous subscription limits compared to Anthropic, but this is simply no longer true today. Opus 5.5 on any Claude subscription offers far better value than anything from OpenAI.&lt;/p&gt;&lt;p&gt;The only counter argument for OpenAI is that none of their Pro plans have a 5 hour limit, which makes it easier to consume a higher % of your total monthly limit. However, we don&amp;#8217;t think this offsets the ~4x higher API-equivalent value offered by Opus 5.5 on Claude plans.&lt;/p&gt;&lt;h2&gt;Do labs adjust subscription limits based on API pricing changes?&lt;/h2&gt;&lt;p&gt;We&amp;#8217;ve seen a number of significant price cuts recently to Anthropic and OpenAI models.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://x.com/claudeai/status/2094848588190830982"&gt;Fable 5.1&lt;/a&gt; cut cache reads by 75% vs Fable 5&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://x.com/ClaudeDevs/status/2103548467729887677"&gt;Opus 5.5&lt;/a&gt; cut input and output token pricing by 20% vs Opus 5 and cache reads by 60%.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://x.com/OpenAIDevs/status/2104993053002043870"&gt;GPT 6.1&lt;/a&gt; Sol cut cache reads by 50% vs GPT 6 sol. This was after making &lt;a href="https://x.com/OpenAIDevs/status/2102461432684282061"&gt;GPT 6 Sol&lt;/a&gt; 60-67% cheaper vs 5.6 Sol.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;One important question is whether the labs adjust token limits after these price cuts, such that the API-equivalent value of your subscription stays constant.&lt;/p&gt;&lt;p&gt;We already showed earlier that OpenAI didn&amp;#8217;t change Sol token limits on the $200/month plan when they released 6.1 Sol. This caused the API-equivalent value to drop ~30%.&lt;/p&gt;&lt;p&gt;Anthropic also didn&amp;#8217;t increase Fable token limits at all with the release of 5.1, but they did up Opus token limits with the 5.5 price cut.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RhQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60858e51-902d-421f-808d-34bc93b4b37a_2048x1113.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="791" src="https://substackcdn.com/image/fetch/$s_!RhQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60858e51-902d-421f-808d-34bc93b4b37a_2048x1113.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;However, the ~20% token increase for Max plans and ~50% increase for the Pro plan weren&amp;#8217;t enough to fully offset the API price cut.&lt;/p&gt;&lt;h2&gt;Two different approaches to increasing subscription margins&lt;/h2&gt;&lt;p&gt;As we explained at the start of this article, subscription gross margins are way lower than API and meaningfully reduce revenue per MW for both OpenAI and Anthropic. Both companies are well aware of this fact but have chosen two different strategies for reducing subscriber subsidies.&lt;/p&gt;&lt;p&gt;For a given plan, Anthropic decreases the API-equivalent value for more premium models. The drop off is small between Sonnet 5.5 and Opus 5.5, but becomes very meaningful with Fable 5.1.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!u8tn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc90004-5853-4cd5-87ff-465898c5ee6b_2048x1033.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="734" src="https://substackcdn.com/image/fetch/$s_!u8tn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc90004-5853-4cd5-87ff-465898c5ee6b_2048x1033.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Reducing the API-equivalent value as you release more powerful models at higher list prices is the more subtle way to stop subsidizing subscriptions. Assuming 100% utilization and 92% API gross margins, maxing out Opus 5.5 vs Fable 5.1 usage corresponds to -369% and 1% gross margins respectively. If we were to use a more realistic average utilization of 20%, then gross margins rise to 6% and 80% respectively.&lt;/p&gt;&lt;p&gt;In other words, &lt;strong&gt;Anthropic would likely already have software like margins on their subscription plans if everyone only used Fable&lt;/strong&gt;. Opus class models will continue to become cheaper to serve over time as Anthropic figures out how to make the model smaller, and new model tiers above Fable will have even lower subscription limits (assuming they&amp;#8217;re included at all).&lt;/p&gt;&lt;p&gt;OpenAI, on the other hand, picked the nuclear option of just immediately cutting to Fable-level limits across the board.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RiTZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe674e5f4-cf61-425a-8db7-90395d9ade21_2048x1036.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="737" src="https://substackcdn.com/image/fetch/$s_!RiTZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe674e5f4-cf61-425a-8db7-90395d9ade21_2048x1036.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The downside of this approach is supposed to be public backlash, but OpenAI has somehow managed to more or less avoid this entirely. It&amp;#8217;s likely some combination of all the good DevDay PR drowning out the negative news from the day prior and grandfathering existing plans for an additional month.&lt;/p&gt;&lt;h1&gt;Chinese subscription plans are still a good deal&lt;/h1&gt;&lt;p&gt;Despite being compute poor, the Chinese labs still offer subsidized subscription plans, but the level of subsidization varies dramatically between models.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4YvG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5c0445c-0292-4c32-9980-17c4d4fa175b_2048x1116.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!4YvG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5c0445c-0292-4c32-9980-17c4d4fa175b_2048x1116.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Here&amp;#8217;s how they compare to OpenAI and Anthropic after normalizing per dollar.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!50kR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffbac4f-e3c2-4ffb-909d-5662634c3d19_4332x2502.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="841" src="https://substackcdn.com/image/fetch/$s_!50kR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffbac4f-e3c2-4ffb-909d-5662634c3d19_4332x2502.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Value per dollar increases as you buy higher tier subscriptions from the Chinese labs. On average, the API-equivalent value per dollar is a little less than the ~12x you get from OpenAI.&lt;/p&gt;&lt;h1&gt;Third party plans are worse than first party&lt;/h1&gt;&lt;p&gt;The final comparison we&amp;#8217;ll consider is OpenAI and Anthropic models on their own first party plans vs third party wrappers like Cursor and Cognition (Devin).&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/anthropic-subscriptions-offer-5x"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/anthropic-subscriptions-offer-5x"/>
    <summary type="html">&lt;p&gt;Subscription plans are still the primary way consumers and small businesses pay for AI. These plans are highly subsidized&amp;#8212;as we previously explained in &lt;a href="https://semianalysis.com/institutional/a-200-claude-plan-can-consume-8000-worth-of-tokens/"&gt;June&lt;/a&gt;&amp;#8212;but can still make economic sense as powerful customer acquisition and marketing tools. For example, the goodwill engendered by &lt;a href="https://x.com/thsottiaux/status/2102463847714247142"&gt;OpenAI&amp;#8217;s&lt;/a&gt; &lt;a href="https://x.com/thsottiaux/status/2103637477760311522"&gt;generous&lt;/a&gt; &lt;a href="https://x.com/thsottiaux/status/2105173168281506088"&gt;resets&lt;/a&gt; is partially responsible for the recent surge in Codex adoption and has forced Anthropic to &lt;a href="https://x.com/ClaudeDevs/status/2078511173759324328"&gt;repeatedly&lt;/a&gt; &lt;a href="https://x.com/ClaudeDevs/status/2089798442306711646"&gt;walk&lt;/a&gt; &lt;a href="https://x.com/ClaudeDevs/status/2093742321473065266"&gt;back&lt;/a&gt; planned subscription nerfs to avoid getting clobbered in the court of public opinion.&lt;/p&gt;&lt;p&gt;Furthermore, because subscription plans are so heavily subsidized, they can also have a large impact on margins and revenue per MW despite only being a small portion of total revenue. Consider the following rough numbers for Anthropic.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t4QB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac5c578-4092-4afe-bdaf-cbf61f7f83b5_2048x1194.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="849" src="https://substackcdn.com/image/fetch/$s_!t4QB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac5c578-4092-4afe-bdaf-cbf61f7f83b5_2048x1194.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Despite being just 10% of overall revenue, subscriptions can take up over 40% of inference compute and lower blended revenue per MW by ~$36M.&lt;/strong&gt; Subscriptions are even more important for OpenAI, as they make up a larger portion of their total revenue. For specific numbers, see our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;In other words, &lt;strong&gt;if you want to accurately model AI lab financials, you need to understand their subscription limits.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;So how do limits actually work? The way to think about subscriptions is that your monthly payment grants you some numbers of &amp;#8220;credits&amp;#8221;. Each (model, token type) combo consumes a different amount of credits. &lt;strong&gt;Because credit cost ratios can differ dramatically from API price ratios, the &amp;#8220;value&amp;#8221; of the same plan changes depending on what model and workload you&amp;#8217;re running. &lt;/strong&gt;Put differently, &lt;strong&gt;it doesn&amp;#8217;t make sense to say a plan is worth $X in isolation&amp;#8212;you need to consider the full (plan, model, workload) tuple&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Here&amp;#8217;s how the API-equivalent value of the same $200/month Claude plan changes depending on the model and workload.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Vbwc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61e3841-450f-4662-a21f-dc0f844d05ab_2000x1126.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!Vbwc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe61e3841-450f-4662-a21f-dc0f844d05ab_2000x1126.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A single static snapshot isn&amp;#8217;t enough either. Labs publicly change their limits all the time with promos and new model releases. They can also silently change limits whenever they want by tweaking credit costs. Ideally, you&amp;#8217;d re-check the cost of each (plan, model, token type) daily so you can surface any changes in real-time.&lt;/p&gt;&lt;p&gt;This is exactly what SemiAnalysis has done with our new &lt;a href="https://tokenomics.semianalysis.com/subscriptions"&gt;Subscriptions Dashboard&lt;/a&gt; available exclusively to &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers. Besides every OpenAI and Anthropic subscription, we also track Meta, SpaceXAI, Cursor, Cognition, Z.ai, MiniMax, and Moonshot.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AHfr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e451f84-a586-40da-90c8-5e2fcd196222_2048x1077.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="766" src="https://substackcdn.com/image/fetch/$s_!AHfr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e451f84-a586-40da-90c8-5e2fcd196222_2048x1077.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;A screenshot of our dashboard showing a small subset of the available data. Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;New providers, plans, and models will be added as soon as they&amp;#8217;re released. The rest of the article will give an overview of everyone&amp;#8217;s current limits. All token and dollar amounts below assume agentic usage unless otherwise specified.&lt;/p&gt;&lt;h1&gt;Methodology&lt;/h1&gt;&lt;p&gt;Tokens are generally priced per MTok (million tokens) across the following types:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Input: Fresh tokens added to the LLM&amp;#8217;s context window that aren&amp;#8217;t cached&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Cache write: Input tokens that are cached for multi-turn conversations. Generally slightly more expensive than regular input tokens.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Cache read: Tokens from previous turns that are already cached in the conversation. Generally extremely cheap compared to uncached tokens.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Output: Tokens generated by the model. The most expensive token type.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Additionally, some models charge more for tokens above a certain context window. Those models typically compact before that expensive context window is reached, so we also keep our measurements below it.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!25Ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab43609-4792-498e-934f-a4455bd2b509_941x454.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="454" src="https://substackcdn.com/image/fetch/$s_!25Ue!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab43609-4792-498e-934f-a4455bd2b509_941x454.png" width="941" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Subscription plans don&amp;#8217;t expose this fine grained pricing. Instead, they provide a simple 0 to 100% usage meter across 5-hour and 7-day windows, and sometimes a separate meter for a model like Fable. Subscription tiers are then differentiated by usage multipliers relative only to the provider&amp;#8217;s other plans. OpenAI for example used to advertise &amp;#8220;Expanded Codex usage&amp;#8221; in their $20 Plus plan, &amp;#8220;5x more usage than Plus&amp;#8221; in the $100 Pro plan, and &amp;#8220;20x more usage&amp;#8221; in the $200 Pro plan until they cut their $200 plan usage in &lt;a href="https://x.com/thsottiaux/status/2104951965184925941?s=20"&gt;half&lt;/a&gt; and removed all relative usage from their &lt;a href="https://chatgpt.com/pricing/"&gt;pricing&lt;/a&gt; page.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!eIgD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495b7d3-d488-4ffb-9f85-f52ea0d449fc_460x178.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="262.3565217391304" src="https://substackcdn.com/image/fetch/$s_!eIgD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd495b7d3-d488-4ffb-9f85-f52ea0d449fc_460x178.png" width="678" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Screenshot of Claude Code meters. Source: Claude Code CLI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Setup&lt;/h2&gt;&lt;p&gt;We compute the subscription-rate of each (plan, model, token type) triple by running experiments that isolate one token type at a time and watching how far the model provider&amp;#8217;s meter moves. An experiment is some number of repeated calls using a specific prompt that maximizes one token type while minimizing all the others.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xUyj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f26243f-cdd4-41a3-b89c-6b78dac4317b_2048x1034.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="735" src="https://substackcdn.com/image/fetch/$s_!xUyj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f26243f-cdd4-41a3-b89c-6b78dac4317b_2048x1034.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Input, cache writes, and cache reads share the same prompt template. We use a portion of &lt;em&gt;War and Peace&lt;/em&gt; since some models will refuse to respond if given large blocks of gibberish. For the input token experiments, we use a random tag on every call to ensure nothing gets cached. The cache write experiments run the same way but with the prompt marked for caching, so each new tag forces a new cache entry. The cache read experiments use a fixed tag, so the first call writes the cache and every repeat reads it.&lt;/p&gt;&lt;p&gt;For the output token experiments, we used a technical essay to force long outputs because models will refuse mechanical prompts like &amp;#8220;repeat SemiAnalysis 100,000 times&amp;#8221;.&lt;/p&gt;&lt;h2&gt;Computing the Results&lt;/h2&gt;&lt;p&gt;For every call we record two things: how many tokens of each type the provider billed, and what the usage meter read. Turning those into a price takes three steps.&lt;/p&gt;&lt;h3&gt;1. Measure the rate of each token type&lt;/h3&gt;&lt;p&gt;Providers generally report usage on a meter that moves in fixed amounts. This could be a whole percentage point, a credit, a cent etc... A single request often does not move the meter at all, so the cost of one request cannot be measured directly.&lt;/p&gt;&lt;p&gt;Instead, we measure in steps. As requests run, we keep a running total of the tokens used. Each time the meter rises, we store that total. The tokens used between two meter moves make up one step, which is the cost of moving the meter by one unit.&lt;/p&gt;&lt;p&gt;We drop two partial steps. When a run starts, the meter is already part of the way to its next move, so the tokens before the first move are less than a full step and would make the rate look higher than it is. The tokens after the last move never finish a step, so we drop those as well.&lt;/p&gt;&lt;p&gt;To get a rate, we add up how far the meter moved over the complete steps and divide by the tokens used in them. Providers charge differently for input, output, and cached tokens, so we calculate a separate rate for each.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4Rfq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a6b9ad-a758-4e40-9894-595aaf3d0e08_2048x1143.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="813" src="https://substackcdn.com/image/fetch/$s_!4Rfq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a6b9ad-a758-4e40-9894-595aaf3d0e08_2048x1143.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Caveats:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Because we see the meter only once per request, a single step can be off by up to one request. These errors don&amp;#8217;t add up with more consecutive steps, so we track a range instead of a single number, and the range gets narrower the more steps we count. We keep adding steps until the range is within &amp;#177;5%, then report the rate across all of them.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;No request contains only one type of token. Some plans, for example, require a set of instructions on every request. We subtract that extra amount using the prices we measured for the other types.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Reading from the cache costs almost nothing on some plans and may not move the meter at all. If the meter does not move after 500M cache read tokens, we assume that cache reads are free.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. Convert rates into tokens per window and per month&lt;/h3&gt;&lt;p&gt;We read every meter a plan shows after every request. This could be a 5-hour limit, a weekly limit, and for models like Fable, its own weekly limit. So each token type gets a price on each meter. This is how much of that limit a million tokens uses. From each price we work out how many tokens fit e.g. if a million tokens use 5% of a limit, the whole limit holds 20 million.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8uJl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51471699-71b4-4d96-96ef-5bcc29bed2b0_2048x901.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="641" src="https://substackcdn.com/image/fetch/$s_!8uJl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51471699-71b4-4d96-96ef-5bcc29bed2b0_2048x901.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The 5-hour limit resets many times within a week, so a month is capped by the weekly limits.&lt;/p&gt;&lt;h3&gt;3. Pricing&lt;/h3&gt;&lt;p&gt;Lastly, we compute the API-equivalent value by converting the limit % consumed by a million tokens of each type into a dollar amount. For example, if you consume 1% of a $200 plan&amp;#8217;s monthly limit, that&amp;#8217;s $2.&lt;/p&gt;&lt;p&gt;Then, we assume a workload shape, and compute how many total tokens you can get from each plan given this ratio. For the agentic workload, we use our own usage ratios in September as reported in our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Finally, we multiply by the blended price per MTok at API prices to get the API-equivalent value.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qD-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa979d2fd-77fa-456d-b1c8-efb9f82d174a_2048x1002.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="712" src="https://substackcdn.com/image/fetch/$s_!qD-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa979d2fd-77fa-456d-b1c8-efb9f82d174a_2048x1002.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Catching a Provider A/B Test&lt;/h2&gt;&lt;p&gt;While refining our methodology, we ran into a very confusing situation where just 1 of 3 of the same subscription we tested for a particular provider had ~20% lower limits than the other 2. This unlucky account happened to be significantly older as well, and we were worried that the provider had some cursed setup where they changed subscription limits depending on the age of the account.&lt;/p&gt;&lt;p&gt;Fortunately, after reaching out to the provider, we were able to confirm this was not the case and that our unlucky account was part of an &amp;#8220;extremely tiny&amp;#8221; A/B test they were running on limits. Additionally, they wanted to emphasize that they &amp;#8220;didn&amp;#8217;t just decrease limits wholesale&amp;#8221; and were instead testing &amp;#8220;how to better balance when people hit limits&amp;#8221;.&lt;/p&gt;&lt;p&gt;This conclusion is interesting for two reasons:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;It proves providers can silently change subscription limits at any time&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Our method is sensitive enough to detect these subtle changes!&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h1&gt;OpenAI vs Anthropic&lt;/h1&gt;&lt;p&gt;The biggest question in AI subscription land is how Anthropic&amp;#8217;s limits compare to OpenAI&amp;#8217;s. Note that OpenAI just made some massive changes to their subscriptions last week, &lt;a href="https://x.com/thsottiaux/status/2104823812042940713?s=20"&gt;halving&lt;/a&gt; the API-equivalent value for the $200 plan and introducing a new $500 tier. The following numbers describe the &lt;strong&gt;current state&lt;/strong&gt; of OAI vs ANT. Afterwards, we will examine OpenAI&amp;#8217;s recent changes in depth.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L5rE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181ea48e-2e63-4f41-a742-c7af3d7eeb15_2048x1157.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="823" src="https://substackcdn.com/image/fetch/$s_!L5rE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181ea48e-2e63-4f41-a742-c7af3d7eeb15_2048x1157.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Limits are quite similar across the board for GPT-6 Astra vs Fable 5.1, though remember that Fable can only be used for 50% of your limit. In other words, your $200 ANT plan would still have 50% left after consuming $2,485 worth of Fable 5.1, whereas the equivalent OAI plan would be fully exhausted after $2,897 of Astra.&lt;/p&gt;&lt;p&gt;This extra 50% starts becoming very relevant when we compare Opus 5.5 vs GPT 6.1 Sol.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1f-F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44bfcff4-5589-4822-a348-bc4e83cf478b_2048x1161.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="825" src="https://substackcdn.com/image/fetch/$s_!1f-F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44bfcff4-5589-4822-a348-bc4e83cf478b_2048x1161.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;At this mid-tier of models&amp;#8212;which both companies market as the intended daily driver for most users&amp;#8212;Anthropic is an overwhelmingly better deal, offering ~5x the API-equivalent value across the board. You could argue that this is unfair for OAI because 6.1 Sol is much cheaper per token than Opus 5.5, but the gap is still massive even if you switch to comparing the number of tokens.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vTP2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b9e23d-8049-4235-8c21-9a5a2b0cd1f0_2048x1153.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!vTP2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b9e23d-8049-4235-8c21-9a5a2b0cd1f0_2048x1153.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Overall, we believe API-equivalent value is the single best number for capturing the &amp;#8220;value&amp;#8221; of a subscription plan, but there are times where raw token volumes can be more appropriate. For example, if a model is a particularly bad (or good) deal at API prices, then the API-equivalent value will of course be misleading.&lt;/p&gt;&lt;p&gt;Token efficiency is also an extremely relevant factor, but the industry unfortunately lacks reliable data here. Many people like to cite this &lt;a href="https://artificialanalysis.ai/#price-and-cost"&gt;chart&lt;/a&gt; from Artificial Analysis, but we do not believe the benchmark tasks in the AA Intelligence Index are at all representative of real work people do with LLMs.&lt;/p&gt;&lt;h2&gt;OpenAI&amp;#8217;s new $500 plan and massive limit reduction&lt;/h2&gt;&lt;p&gt;Our tracking confirmed the 50% value reduction for OpenAI&amp;#8217;s $200 plan announced by &lt;a href="https://x.com/thsottiaux/status/2104823812042940713?s=20"&gt;Tibo&lt;/a&gt;. $200 plans purchased before the cut will keep the old higher limits until October 29th, but newly purchased plans immediately start with the lower limits.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xRWD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c53c9a0-1c69-4ee8-8e47-f86ae0655c0f_2048x1082.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="769" src="https://substackcdn.com/image/fetch/$s_!xRWD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c53c9a0-1c69-4ee8-8e47-f86ae0655c0f_2048x1082.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As you can see, OpenAI specifically halved the number of tokens you get for each model tier. This caused the API-equivalent value for Sol class models to drop by over 50% because OAI also cut cached input token pricing for 6.1 Sol.&lt;/p&gt;&lt;p&gt;The new $500 plan only offers 21% more Astra than the old $200 plan. Interestingly, the API-equivalent value for Sol class models actually decreased due to the aforementioned 6.1 Sol price cut.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!D380!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d35c43-9687-4fd9-b825-6c3987d0cd14_2048x1113.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="791" src="https://substackcdn.com/image/fetch/$s_!D380!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d35c43-9687-4fd9-b825-6c3987d0cd14_2048x1113.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, 300 TPS Ultrafast was the real headline feature for the $500 plan and we are currently testing its limits. Results will be published to &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers as soon as they&amp;#8217;re available. We are also actively testing the limits when using your ChatGPT subscription on third party apps like Devin.&lt;/p&gt;&lt;p&gt;The $200/month plan also used to be significantly more subsidized than OpenAI&amp;#8217;s other subscriptions. If we normalize each (plan, model) combo to the API-equivalent value and tokens per dollar, we can see that Pro 100 offered ~2x more per-dollar value than Plus on Astra and Pro 200 was another ~2x on top of Pro 100 across all models.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GvjP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67342d61-8eb1-426b-8553-c8abf4ebaba7_2048x1143.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="813" src="https://substackcdn.com/image/fetch/$s_!GvjP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67342d61-8eb1-426b-8553-c8abf4ebaba7_2048x1143.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;With last week&amp;#8217;s cut, Pro 100, 200, and 500 all offer the same tokens per dollar for every model. Plus is also comparable for Sol but offers a relatively worse deal on Astra.&lt;/p&gt;&lt;p&gt;Anthropic, on the other hand, already offered the same per-dollar value for all of their subscription tiers and currently crushes OpenAI.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MHO5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45036f6e-d317-435c-9d28-286c80d944d4_2048x1176.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="836" src="https://substackcdn.com/image/fetch/$s_!MHO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45036f6e-d317-435c-9d28-286c80d944d4_2048x1176.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;OpenAI used to be lauded by indie developers for their generous subscription limits compared to Anthropic, but this is simply no longer true today. Opus 5.5 on any Claude subscription offers far better value than anything from OpenAI.&lt;/p&gt;&lt;p&gt;The only counter argument for OpenAI is that none of their Pro plans have a 5 hour limit, which makes it easier to consume a higher % of your total monthly limit. However, we don&amp;#8217;t think this offsets the ~4x higher API-equivalent value offered by Opus 5.5 on Claude plans.&lt;/p&gt;&lt;h2&gt;Do labs adjust subscription limits based on API pricing changes?&lt;/h2&gt;&lt;p&gt;We&amp;#8217;ve seen a number of significant price cuts recently to Anthropic and OpenAI models.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://x.com/claudeai/status/2094848588190830982"&gt;Fable 5.1&lt;/a&gt; cut cache reads by 75% vs Fable 5&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://x.com/ClaudeDevs/status/2103548467729887677"&gt;Opus 5.5&lt;/a&gt; cut input and output token pricing by 20% vs Opus 5 and cache reads by 60%.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://x.com/OpenAIDevs/status/2104993053002043870"&gt;GPT 6.1&lt;/a&gt; Sol cut cache reads by 50% vs GPT 6 sol. This was after making &lt;a href="https://x.com/OpenAIDevs/status/2102461432684282061"&gt;GPT 6 Sol&lt;/a&gt; 60-67% cheaper vs 5.6 Sol.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;One important question is whether the labs adjust token limits after these price cuts, such that the API-equivalent value of your subscription stays constant.&lt;/p&gt;&lt;p&gt;We already showed earlier that OpenAI didn&amp;#8217;t change Sol token limits on the $200/month plan when they released 6.1 Sol. This caused the API-equivalent value to drop ~30%.&lt;/p&gt;&lt;p&gt;Anthropic also didn&amp;#8217;t increase Fable token limits at all with the release of 5.1, but they did up Opus token limits with the 5.5 price cut.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RhQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60858e51-902d-421f-808d-34bc93b4b37a_2048x1113.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="791" src="https://substackcdn.com/image/fetch/$s_!RhQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60858e51-902d-421f-808d-34bc93b4b37a_2048x1113.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;However, the ~20% token increase for Max plans and ~50% increase for the Pro plan weren&amp;#8217;t enough to fully offset the API price cut.&lt;/p&gt;&lt;h2&gt;Two different approaches to increasing subscription margins&lt;/h2&gt;&lt;p&gt;As we explained at the start of this article, subscription gross margins are way lower than API and meaningfully reduce revenue per MW for both OpenAI and Anthropic. Both companies are well aware of this fact but have chosen two different strategies for reducing subscriber subsidies.&lt;/p&gt;&lt;p&gt;For a given plan, Anthropic decreases the API-equivalent value for more premium models. The drop off is small between Sonnet 5.5 and Opus 5.5, but becomes very meaningful with Fable 5.1.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!u8tn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc90004-5853-4cd5-87ff-465898c5ee6b_2048x1033.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="734" src="https://substackcdn.com/image/fetch/$s_!u8tn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc90004-5853-4cd5-87ff-465898c5ee6b_2048x1033.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Reducing the API-equivalent value as you release more powerful models at higher list prices is the more subtle way to stop subsidizing subscriptions. Assuming 100% utilization and 92% API gross margins, maxing out Opus 5.5 vs Fable 5.1 usage corresponds to -369% and 1% gross margins respectively. If we were to use a more realistic average utilization of 20%, then gross margins rise to 6% and 80% respectively.&lt;/p&gt;&lt;p&gt;In other words, &lt;strong&gt;Anthropic would likely already have software like margins on their subscription plans if everyone only used Fable&lt;/strong&gt;. Opus class models will continue to become cheaper to serve over time as Anthropic figures out how to make the model smaller, and new model tiers above Fable will have even lower subscription limits (assuming they&amp;#8217;re included at all).&lt;/p&gt;&lt;p&gt;OpenAI, on the other hand, picked the nuclear option of just immediately cutting to Fable-level limits across the board.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RiTZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe674e5f4-cf61-425a-8db7-90395d9ade21_2048x1036.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="737" src="https://substackcdn.com/image/fetch/$s_!RiTZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe674e5f4-cf61-425a-8db7-90395d9ade21_2048x1036.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The downside of this approach is supposed to be public backlash, but OpenAI has somehow managed to more or less avoid this entirely. It&amp;#8217;s likely some combination of all the good DevDay PR drowning out the negative news from the day prior and grandfathering existing plans for an additional month.&lt;/p&gt;&lt;h1&gt;Chinese subscription plans are still a good deal&lt;/h1&gt;&lt;p&gt;Despite being compute poor, the Chinese labs still offer subsidized subscription plans, but the level of subsidization varies dramatically between models.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4YvG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5c0445c-0292-4c32-9980-17c4d4fa175b_2048x1116.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!4YvG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5c0445c-0292-4c32-9980-17c4d4fa175b_2048x1116.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Here&amp;#8217;s how they compare to OpenAI and Anthropic after normalizing per dollar.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!50kR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffbac4f-e3c2-4ffb-909d-5662634c3d19_4332x2502.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="841" src="https://substackcdn.com/image/fetch/$s_!50kR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffbac4f-e3c2-4ffb-909d-5662634c3d19_4332x2502.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Value per dollar increases as you buy higher tier subscriptions from the Chinese labs. On average, the API-equivalent value per dollar is a little less than the ~12x you get from OpenAI.&lt;/p&gt;&lt;h1&gt;Third party plans are worse than first party&lt;/h1&gt;&lt;p&gt;The final comparison we&amp;#8217;ll consider is OpenAI and Anthropic models on their own first party plans vs third party wrappers like Cursor and Cognition (Devin).&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/anthropic-subscriptions-offer-5x"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-10-05T12:01:09+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/sparse-savings-persistent-demand-inside-glm53</id>
    <title>How GLM5.3 Sparse Attention Affects HBM Memory Usage</title>
    <updated>2026-09-28T11:26:41+00:00</updated>
    <author>
      <name>Kimbo Chen</name>
    </author>
    <content type="html">&lt;h1&gt;&lt;span&gt;How Sparse Attention Affects DRAM/NAND Memory &lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;How does sparse attention affect the TAM of memory, including HBM and NAND? Sparse attention selects top-k most relevant tokens to attend to, reducing the memory consumption and bandwidth requirements during the core Scaled Dot-Production Attention (SDPA) operation. However, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the efficiency improvement doesn&amp;#8217;t directly translate to overall memory savings in practice&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Concretely, the top-k selection operation typically requires the full context to be in HBM, so &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sparse attention doesn&amp;#8217;t eliminate the memory capacity bottleneck.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1i4c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cd044d2-888a-4569-97ea-5354b07e4f62_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!1i4c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cd044d2-888a-4569-97ea-5354b07e4f62_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Sparse attention throughput is bottlenecked by memory capacity. Source: &lt;/span&gt;&lt;a href="https://www.lmsys.org/blog/2026-04-10-sglang-hisparse"&gt;&lt;span&gt;HiSparse&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To overcome this limitation, the SGLang team designed HiSparse, a hierarchical memory system that proactively offloads KV cache entries from device HBM to host DRAM. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;HiSparse behaves like an LRU (Least Recently Used) cache&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, where it loads tokens from DRAM to HBM upon top-k selection cache miss, and it offloads tokens from HBM to DRAM based on the LRU eviction policy. To reduce the cache miss latency, HiSparse overlaps KV cache loading of layer N with the execution of layer N-1 (layer-wise overlapping), introduced in HiSparse&amp;#8217;s prior work HiCache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!yJNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5373e7c-4b2c-4741-8213-ec54052779cd_1126x174.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="174" src="https://substackcdn.com/image/fetch/$s_!yJNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5373e7c-4b2c-4741-8213-ec54052779cd_1126x174.png" width="1126" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Layer-wise overlapping. Source: &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2403.19708"&gt;&lt;span&gt;CachedAttention&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With HiSparse, SGLang greatly boosts throughput at high concurrency and long context scenarios, at the cost of top-k cache miss I/O overhead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Sparse attention reduces KV cache memory and bandwidth requirements at the SDPA operation, but it does not reduce the overall memory capacity usage.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; In addition, HiSparse shows that system optimizations can overcome sparse attention&amp;#8217;s memory capacity limitations, so &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sparse attention memory profile alone cannot sufficiently portray the full picture of system KV cache efficiency&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. To provide a more holistic picture of serving sparse attention models, here we explain the design of Z.ai&amp;#8217;s GLM-5 model series, and how they are served in practice.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;GLM5.3 Agentic Inference Serving &lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In our realtime benchmark board InferenceX, GB300 delivers the lowest modeled serving cost in our comparison at a response speed of 150 tokens per second. GB300 handles more tokens per GPU, and its higher hourly cost still leaves it ahead of GB200 on cost efficiency. The GB300 result uses Dynamo-TRT-LLM, while the GB200 result uses Dynamo-SGLang.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We use the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/glm-5-3?g_model=GLM-5.2&amp;amp;g_rundate=2026-09-17&amp;amp;i_seq=agentic-traces&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_pctl=p90&amp;amp;i_best=0&amp;amp;i_optimal=1&amp;amp;i_metric=y_costh&amp;amp;i_xmode=interactivity"&gt;&lt;span&gt;September 17 AgentX snapshot&lt;/span&gt;&lt;/a&gt;&lt;span&gt; results to help illustrate the serving implications of GLM-5.3. We estimate costs using InferenceX&amp;#8217;s model of owning and operating infrastructure at hyperscaler scale. Total tokens include input and generated output, including cached input history reused across turns. Streaming speed is measured using p90 interactivity; time to first token is evaluated separately.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At 150 tokens per second, GB200 costs approximately $0.044 per million total tokens, compared with $0.238 for MI355X running ATOM. That is about 82% lower cost at the same streaming-speed target. These values are estimated from the measured curves, rather than from a separate test at exactly 150 tokens per second.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For this comparison, we use InferenceX&amp;#8217;s estimated cost of owning and operating the infrastructure at hyperscaler scale. Total tokens include input and generated output, including input history reused from cache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!T1jb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e16fb0-fc56-4b65-b5f3-585ae5d76312_2048x1441.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1024" src="https://substackcdn.com/image/fetch/$s_!T1jb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e16fb0-fc56-4b65-b5f3-585ae5d76312_2048x1441.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX &lt;a href="https://inferencex.semianalysis.com/inference/glm-5-3?g_model=GLM-5.2&amp;amp;g_rundate=2026-09-17&amp;amp;i_seq=agentic-traces&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_pctl=p90&amp;amp;i_best=0&amp;amp;i_optimal=1&amp;amp;i_metric=y_costh&amp;amp;i_xmode=interactivity"&gt;&lt;span&gt;current InferenceX dashboard&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX-app/blob/dfefa9333c9ea1a797ab5699252b1b0a98eaefa7/packages/app/src/components/calculator/interpolation.ts"&gt;&lt;span&gt;interpolation method&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/actions/runs/34413290524/attempts/1"&gt;&lt;span&gt;GB300 source run&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/actions/runs/34783501425/attempts/1"&gt;&lt;span&gt;MI355X source run&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Among the Dynamo-SGLang results, GB300 serves roughly 13950 total tokens per second per GPU here, a 17.5% throughput advantage versus 11873 total tokens for GB200. However, we assume $2.31 per GB300 GPU hour versus $1.86 for GB200. The higher hourly cost more than offsets GB300&amp;#8217;s throughput lead at this target.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the comparison with AMD, GB200 costs about 52% less than ATOM at 100 tokens per second, 62% less at 125, and 82% less at 150. Across these three targets, the gap widens as response speed increases.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Counting only generated output, GB200 costs $5.92 per million output tokens at a response speed of 150 tokens per second, which is 79% less than $28.52 for MI355X ATOM. This metric is useful to analyze cost under agentic workloads, where agents repeatedly reuse long input histories while generating relatively little new text.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pr50!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f39faf-aba5-4c35-b0a9-ca9229c2d722_2048x1638.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1165" src="https://substackcdn.com/image/fetch/$s_!pr50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f39faf-aba5-4c35-b0a9-ca9229c2d722_2048x1638.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: SemiAnalysis InferenceX;  &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/glm-5-3?g_model=GLM-5.2&amp;amp;g_rundate=2026-09-17&amp;amp;i_seq=agentic-traces&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_pctl=p90&amp;amp;i_best=0&amp;amp;i_optimal=1&amp;amp;i_metric=y_costh&amp;amp;i_xmode=interactivity"&gt;&lt;span&gt;current InferenceX dashboard&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The GB200 measurements on either side of the 150 token per second target have p90 TTFT (time to first token) of 14-19 seconds, compared with 1.3-1.7 seconds for MI355X ATOM. Some of the GB200 lowest cost runs have much longer waits for the first token.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We therefore make a second comparison using only configurations that were actually tested and achieved at least 150 tokens per second with p90 TTFT below two seconds. The chart below shows B200 with Dynamo-SGLang at $0.0666 per million total tokens versus $0.1265 for MI355X with SGLang. B200 still costs about 47% less with the first-token limit.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1s-Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99fd34b-71e8-4249-9ec4-f1e52b688b76_2048x1365.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="970" src="https://substackcdn.com/image/fetch/$s_!1s-Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99fd34b-71e8-4249-9ec4-f1e52b688b76_2048x1365.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX &lt;a href="https://inferencex.semianalysis.com/inference/agentic/442071"&gt;&lt;span&gt;B200 run 442071&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/441597"&gt;&lt;span&gt;GB300 run 441597&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/442075"&gt;&lt;span&gt;MI355X run 442075&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Optimizations&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In GLM&amp;#8217;s 5.2 / 5.3 model, its attention architecture reduces memory demands, and long running agents still need to retain earlier conversation history. GLM reduces the cost of handling this history in two ways: KV compression reduces the cached state stored per token, and sparse attention reduces how much of that state each attention operation reads. Then the serving engine would determine where to store the cache and how to retrieve it efficiently.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;These B200 results show how much reuse can happen outside of GPU memory. When concurrency increases from 8 to 16 requests, the share of prompt tokens reused from GPU memory falls from 90.3% to 54.8%. Much of that reuse shifts to host memory, which rose from 6.0% to 40.3%. Much of the decline in GPU cache is offset by reuse from host memory, keeping the overall cache hit rate above 95% at all concurrency levels.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XMNu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc49af533-cf97-4c90-8c33-0d5bee12e029_2048x1772.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1260" src="https://substackcdn.com/image/fetch/$s_!XMNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc49af533-cf97-4c90-8c33-0d5bee12e029_2048x1772.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX; &lt;span&gt;InferenceX B200 rows &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440962"&gt;&lt;span&gt;440962&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440961"&gt;&lt;span&gt;440961&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440959"&gt;&lt;span&gt;440959&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/actions/runs/33683520699/attempts/1"&gt;&lt;span&gt;workflow run 33683520699&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Beyond cache management, changes to how the serving engine executes prefill and decoding can also change performance. Two separate GLM-5.2 studies illustrate this:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;vLLM keeping the first decoding step on a consistent CUDA graph execution path reduced average TPOT (time per output token) from about 40 ms to 22 ms in an&lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm-project.github.io/blob/3be7020c6da40428eca107387d7faa8e58bd7074/_posts/2026-07-23-glm-5.2-nvfp4-b300-pd.md#22-optimization-speculative-padding-on-the-decode-side"&gt;&lt;span&gt; NVFP4 study&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On a different 8 MI355X long context workload, ATOM  engine processing prefill in chunks across pipeline stages delivered 98% higher total throughput and reduced median TTFT from&lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1552"&gt;&lt;span&gt; 28.6 to 8.7 seconds&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;TileRT&lt;/h2&gt;&lt;p&gt;For GLM5.3 on TileRT, AMD MI355X was supported first. TileRT is a low-latency LLM inference engine for that compiles decoding into a single persistent kernel, reducing launch overhead and overlapping computation, memory access, and communication.&lt;/p&gt;&lt;p&gt;It prioritizes faster token generation per user, rather than maximum batched throughput, while vLLM handle prefill.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;On AgentX, FP8 TileRT MI355X achieves 2x the P90 interactivity than the best FP4 MI335X config. Comparing to GB300 NVL72, it brings a 40% uplift in interactivity. These are serving metrics that used to require specialized hardware.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3tYc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22959305-42e4-48ef-afb2-913f9474f339_1582x1450.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1335" src="https://substackcdn.com/image/fetch/$s_!3tYc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22959305-42e4-48ef-afb2-913f9474f339_1582x1450.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;However, TTFT is suboptimal and there is still room for development, such as optimizing KV transfer, FP4 support, and larger batch sizes.&lt;/p&gt;&lt;h1&gt;&lt;span&gt;DeepSeek Sparse Attention&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;GLM-5 (and GLM-5.x models) is a 744B total, 40B active-parameter mixture-of-experts model. For every token, it has 1 shared expert and is routed through 8 out of 256 experts, which is sparsity 32. It features DeepSeek Sparse Attention, which we will discuss in this section.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DeepSeek Sparse Attention (DSA), introduced in &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2512.02556"&gt;&lt;span&gt;DeepSeek V3.2&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, consists of two components: A &lt;/span&gt;&lt;strong&gt;&lt;span&gt;lightning indexer&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; that selects top K tokens, and a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sparse Multi-Latent Attention&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (MLA).&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Lightning Indexer&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A lightning indexer is functionally similar to a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;lightweight attention mechanism&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Queries and keys are down-projected to lower dimensions, with indexer queries being multi-headed and indexer keys single-headed. Since we only need a query and key relation score (logits) for selecting top K tokens, the indexer doesn&amp;#8217;t need value embeddings or the softmax operation for normalized logits. Instead, it computes a query-key dot product, followed by a ReLU non-linearity. The indexer then computes each token&amp;#8217;s indexer score as a weighted sum of logits across all query heads, which we use to select the top K tokens with. This means despite the indexer having multiple heads, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;token selection is shared across multiple attention heads&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. When selecting top K tokens, we keep &lt;/span&gt;&lt;strong&gt;&lt;span&gt;queries that attend to less than K tokens as dense attention&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, and we select top K otherwise.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-FZf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3abe0c5-92c8-4912-ad2b-1b5ba3753580_1404x682.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="682" src="https://substackcdn.com/image/fetch/$s_!-FZf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3abe0c5-92c8-4912-ad2b-1b5ba3753580_1404x682.png" width="1404" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Conceptual example of the lightning indexer. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!n_SD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F375d0869-c668-4145-bf66-3b019701c834_2048x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!n_SD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F375d0869-c668-4145-bf66-3b019701c834_2048x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Indexer score is a weighted sum of all indexer query heads. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Sparse MLA&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/i/209189055/multi-head-latent-attention"&gt;&lt;span&gt;As we explained in our Kimi K3 article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, MLA operates in two modes: Multi-Head Attention (MHA) mode and Multi-Query Attention (MQA) mode. Both come with trade-offs: MHA mode has lower FLOPs but 42x higher memory cost, MQA mode has lower memory cost but up to 3.4x higher FLOPs. DSA uses MQA mode, since sparse attention attends to less tokens,mitigating the higher FLOP usage. However, in practice, there is a sequence length threshold where under it, MHA mode is actually more efficient that MQA mode. The intuition is that at shorter sequence length, the memory loading time isn&amp;#8217;t as dominating, and MHA mode may have an edge for being lower FLOPs. vLLM implements this feature, and configures MHA mode for sequence length 2K to about 5K for data parallel, and 2K to about 77K for tensor parallel. The 2K minimum is due to top K being 2048, and as mentioned above, attention below 2K is dense.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kk6W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff496f5be-6eff-4a54-ae7e-8d2555bc6716_1898x1265.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="970" src="https://substackcdn.com/image/fetch/$s_!kk6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff496f5be-6eff-4a54-ae7e-8d2555bc6716_1898x1265.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;MHA (green) can be faster than MQA (red). Source: &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/48770"&gt;&lt;span&gt;vLLM PR #48770&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;MLA Modifications&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Comparing the MLA dimension configurations of GLM-5 and DeepSeek V3.2, we see that the most notable differences are the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;number of query heads&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;query key head dimension&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!qpBS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0857f2d-5a6a-45a5-accd-3ec332737582_1258x204.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="204" src="https://substackcdn.com/image/fetch/$s_!qpBS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0857f2d-5a6a-45a5-accd-3ec332737582_1258x204.png" width="1258" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://arxiv.org/abs/2602.15763"&gt;&lt;span&gt;GLM-5 tech report&lt;/span&gt;&lt;/a&gt;&lt;span&gt; mentions DeepSeek chose the number of query heads according to the roofline of H800. This is likely referring to the fact that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;MLA&amp;#8217;s SDPA arithmetic intensity during decode is roughly at the ridge point of H800&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Derivation as follows. Assume&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;L&lt;/code&gt;&lt;span&gt;: Sequence length&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;d&lt;/code&gt;&lt;span&gt;: Head dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;r&lt;/code&gt;&lt;span&gt;: RoPE dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;H&lt;/code&gt;&lt;span&gt;: Number of heads&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;b&lt;/code&gt;&lt;span&gt;: Number of bytes per parameter&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;In MQA mode, the FLOPs are&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;2 * H * L * (d+r)  # P = Q [H, d+r] @ K.T [d+r, L]
2 * H * L * d      # O = P [H, L] @ V [L * d]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;and the memory loaded is&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;b * H * (d+r)  # Q
b * L * (d+r)  # K and V&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;So the arithmetic intensity is&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;(2 * H * L * (2 * d + r)) / (b * (d+r) * (L + H))
= (2 * H * L * (2 * d + r)) / (b * L * (d + r))  # L &amp;gt;&amp;gt; H
= (2 * H * (2 * d + r)) / (b * (d + r))&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If we plug in the DeepSeek V3.2 configuration &lt;/span&gt;&lt;code&gt;d&lt;/code&gt;&lt;span&gt; = 512, &lt;/span&gt;&lt;code&gt;r&lt;/code&gt;&lt;span&gt; = 64, &lt;/span&gt;&lt;code&gt;b&lt;/code&gt;&lt;span&gt; = 2), we get&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;(2 * H * (2 * 512 + 64) / (2 * (512 + 64)) ~= 2 * H&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;H800&amp;#8217;s practical arithmetic intensity is 258.2 FLOP/B (Practical peak 865 TFLOP/s, 3.35 TB/s bandwidth, &lt;/span&gt;&lt;a href="https://github.com/deepseek-ai/FlashMLA/blob/main/docs/20250422-new-kernel-deep-dive.md?utm_source=chatgpt.com#a-theoretical-analysis-of-the-mla-algorithm"&gt;&lt;span&gt;according to DeepSeek&lt;/span&gt;&lt;/a&gt;&lt;span&gt;), and plugging in the formula gives us &lt;/span&gt;&lt;code&gt;H&lt;/code&gt;&lt;span&gt; ~= 128.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The fact that GLM-5 has H = 64, half the number of query heads, implies that GLM-5 may be designed for different hardware. If we plug in GLM-5&amp;#8217;s configuration (d = 512, r = 64, b = 2, H = 64), we get an arithmetic intensity of 120.8 FLOP/B. Thus, we suspect GLM-5 is optimized for Moore Threads MTT S4000, which is about 128 FLOP/B. Moore Threads&amp;#8217; collaboration with Z.ai, such as &lt;/span&gt;&lt;a href="https://www.mthreads.com/news/341"&gt;&lt;span&gt;GLM-5.3-Flash day 0 support&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, corroborates our theory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Separately, GLM-5 increases the QK NoPE dimension from 128 to 192, as ablations show the configuration is superior under iso-FLOP and iso-parameter constraints. This increases the SDPA head dimension from 192 to 256, which is still a 33% FLOP reduction after considering the head number reduction.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;IndexShare&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The latency cost of the indexer becomes non-negligible as context grows. To mitigate the cost, Z.ai proposes IndexShare (aka IndexCache) in GLM-5.2, where every 4 DSA layers share one indexer.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gPFQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1afc9d13-969e-449a-91d1-cd3b310c779a_944x654.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="654" src="https://substackcdn.com/image/fetch/$s_!gPFQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1afc9d13-969e-449a-91d1-cd3b310c779a_944x654.png" width="944" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Latency cost at different context lengths for a 30B DSA model. Source: &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2603.12201"&gt;&lt;span&gt;IndexCache&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;IndexShare introduces complications in training and inference. Standard DSA training involves two stages: A dense warm-up stage where all model weights except the indexer are frozen and attention computation is dense, and then a sparse adaptation stage where the full model is trained with sparse attention.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!0XK_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2f29b-e00a-4240-92a0-2a1c30c7ee15_1258x264.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="264" src="https://substackcdn.com/image/fetch/$s_!0XK_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2f29b-e00a-4240-92a0-2a1c30c7ee15_1258x264.png" width="1258" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In terms of training objective, the indexer is trained to align with the sum of attention head scores, using a KL divergence objective. IndexShare adapts the training objective to &lt;/span&gt;&lt;strong&gt;&lt;span&gt;aligning the indexer logit distribution with the average distribution of attention scores across shared layers&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For inference, typically &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the indexer caches keys, like attention caches KV.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Since multiple layers share one indexer, we need to additionally cache the top K indices at the full layer, in order to reuse the top K selection information at shared layers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This design reduces indexer cache by 75%, reduces indexer FLOPs by 75%, and boosts throughput by 1.5x to 1.8x at different context lengths and prefill/decode.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!J1l1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70d8106-0784-4721-b55f-e2285ce91f6d_2048x629.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="447" src="https://substackcdn.com/image/fetch/$s_!J1l1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70d8106-0784-4721-b55f-e2285ce91f6d_2048x629.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Baseline vs. GLM-5.2 configuration (red) for a 30B DSA model. Source:  &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2603.12201"&gt;&lt;span&gt;IndexCache&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Post-Training Design&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Pipeline&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;After pre-training and mid-training, GLM-5&amp;#8217;s post-training pipeline starts with supervised fine-tuning (SFT), continues with &lt;/span&gt;&lt;strong&gt;&lt;span&gt;three RL training stages&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (reasoning RL, agentic RL, and general RL), and ends with an &lt;/span&gt;&lt;strong&gt;&lt;span&gt;on-policy cross-stage distillation&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, distilling reasoning and general RL back into the SFT checkpoint.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-nRK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2665b55-e60e-4d73-ac0f-68b93e205460_2048x1432.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1018" src="https://substackcdn.com/image/fetch/$s_!-nRK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2665b55-e60e-4d73-ac0f-68b93e205460_2048x1432.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;GLM-5 post-training pipeline. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here we highlight two details. First, the tech report states that the reasoning RL model is trained &lt;/span&gt;&lt;strong&gt;&lt;span&gt;entirely on-policy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, implying that it is trained synchronously. Synchronous RL training is low system efficiency but has higher RL training stability. Second, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;on-policy cross-stage distillation is similar to Multi-teacher On-Policy Distillation (MOPD)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, where a student model is RL trained with on-policy distillation over multiple teacher models. However, unlike MOPD, whose goal is to merge expert teacher models into one model, GLM-5 here seems to be more about &lt;/span&gt;&lt;strong&gt;&lt;span&gt;recovering old capability loss&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; when the model learns new capabilities. Following this assumption, we are not sure why the Z.ai only uses reasoning and general RL checkpoints as teachers, instead of using all three RL checkpoints.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Based on &lt;/span&gt;&lt;a href="https://z.ai/blog/glm-5.2"&gt;&lt;span&gt;the announcement blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, GLM-5.2 may have replaced the on-policy cross-stage distillation with a standard MOPD pipeline, which Z.ai named parallel OPD training. Z.ai touted its scale and training efficiency: they merged more than ten expert models into a final model by training for about two days.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;RL Training Algorithm&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Z.ai adopts different RL algorithms for synchronous and asynchronous RL stages. Here we compare the major differences in the RL objectives.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the synchronous RL stage, Z.ai adopts Group Relative Policy Optimization (GRPO)-based RL algorithm with modern adaptations, including:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Remove KL regularization term&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to improve system efficiency and allow more aggressive gradient updates&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;IcePop&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Apply token-level masking based on the training-inference mismatch ratio&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Clip-Higher&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Use a higher max threshold for importance sampling ratio to encourage exploration&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;In contrast, Z.ai employs a REINFORCE-like RL algorithm for asynchronous RL stage, adding Direct Double-Sided Importance Sampling (DIS), an IcePop-like clipping mechanism. Below we compare the token-level objectives for the two RL stages:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!gNw1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab874c6-4338-4a58-b394-8de2794966dd_2048x472.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="336" src="https://substackcdn.com/image/fetch/$s_!gNw1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab874c6-4338-4a58-b394-8de2794966dd_2048x472.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Token-level objective for the two RL stages. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The importance sampling (IS) ratio compares &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the probability of each sampled action under the current policy and the behavior policy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, scaling each action&amp;#8217;s contribution to the training objective. For IS ratio, the synchronous RL stage utilizes the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;trainer policy of the previous iteration&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for the behavior policy, whereas the asynchronous RL stage utilizes the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;inference policy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for that. In an asynchronous training setting, policy updates happen multiple times during rollouts, so we will need every checkpoint version in between to calculate the IS ratio. However, this is infeasible due to the high memory and latency overhead. As a result, Z.ai opts for using inference policy for efficiency and simplicity, at the cost of numeric stability challenges.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VIZ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb5823b7-0ac8-4326-af4f-5e3b3829f100_1654x484.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="426" src="https://substackcdn.com/image/fetch/$s_!VIZ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb5823b7-0ac8-4326-af4f-5e3b3829f100_1654x484.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;IS ratio for the two RL stages. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Finally, we highlight the major differences in advantage calculation in RL training, cross-distillation, and long-horizon RL training. RL training employs the GRPO standard group-normalized advantage, and cross-distillation uses the reverse KL divergence.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!7JkY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F855b6009-e0d8-4e01-bab5-d6abfdd5849b_2048x479.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="341" src="https://substackcdn.com/image/fetch/$s_!7JkY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F855b6009-e0d8-4e01-bab5-d6abfdd5849b_2048x479.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Advantage calculation comparison. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Single-Rollout Asynchronous Optimization&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Long horizon tasks produce extremely long trajectories, and in the context of GRPO, the high variance in trajectory length produces unstable training signals that may skew towards longer trajectories. What&amp;#8217;s worse, since &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/rl-systems-mind-the-gap-matching"&gt;&lt;span&gt;RL rollout workload is sensitive to end-to-end latency&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the tail-latency of a straggler rollout worsens for long horizon tasks. To mitigate this issue, Z.ai introduced &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2607.07508"&gt;&lt;span&gt;Single-rollout Asynchronous Optimization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (SAO) for long-horizon RL training in GLM-5.2. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;SAO replaces group-normalized advantage with a modified Generalized Advantage Estimation (GAE)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, inspired by &lt;/span&gt;&lt;a href="https://arxiv.org/abs/1707.06347"&gt;&lt;span&gt;Proximal Policy Optimization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (PPO). GAE only needs a single rollout to compute the advantage. This removes the need to do multiple rollouts per prompt, mitigating GRPO&amp;#8217;s short-come.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1MnE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29bbbf45-36e4-470f-be0c-092db886317d_1255x669.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="669" src="https://substackcdn.com/image/fetch/$s_!1MnE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29bbbf45-36e4-470f-be0c-092db886317d_1255x669.png" width="1255" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Generator node asking trainer node to wait for rollout completion. Source: &lt;/span&gt;&lt;a href="https://www.swordart-online.net/"&gt;&lt;span&gt;SAO&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;GAE is computed with &lt;/span&gt;&lt;strong&gt;&lt;span&gt;values&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (In RL terms, expected returns of the current state), estimated by a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;value model&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Concretely, the value model takes the rollout as input and produces a value estimation for every token. SAO adapts GAE to agentic RL training by removing the observation tokens, i.e. tool call results, from the optimization. Previously in GLM-5, skipping the tokens is sufficient; in SAO, we modify the advantage estimation formula to bypass the observation tokens. We refer readers to the &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2607.07508"&gt;&lt;span&gt;SAO paper&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and its appendix A.1 for more intuition on the Bellman target and the ablations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In SAO, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the value model is a separate LLM concurrently trained with the policy model&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. This means early stages of training are susceptible to high variance of advantage calculations, due to a weak value model. To combat this, SAO proposes multiple techniques for training value models:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Two Time-scale Update Rule&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Updating the value model twice as frequently as the policy model. This means training on each data batch twice at every policy training step&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Attention Parameter Freezing&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Freezing the value model&amp;#8217;s full attention layers to improve training stability&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Scaling Pre-training&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Scaling the value model pre-training corpus to initialize the value model, so that the value model can robustly estimate values in the early stages of training. Unfortunately, Z.ai didn&amp;#8217;t disclose the scaling information of pre-training corpus&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YbQd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83b1151-c583-4cb6-bd89-a247fb7f4f92_335x597.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="597" src="https://substackcdn.com/image/fetch/$s_!YbQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83b1151-c583-4cb6-bd89-a247fb7f4f92_335x597.png" width="335" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;At the cost of computational overhead and doubling memory footprint, SAO replaces group-wise sampling with a value model, mitigating the latency issues of GRPO.&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Post-Training Infrastructure&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Z.ai uses &lt;/span&gt;&lt;em&gt;&lt;span&gt;slime&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, one of the best open-source RL training frameworks,&lt;/span&gt;&lt;em&gt;&lt;span&gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;as the post-training infrastructure throughout all GLM-5 models. We refer readers to the &lt;/span&gt;&lt;em&gt;&lt;a href="https://github.com/THUDM/slime"&gt;&lt;span&gt;slime&lt;/span&gt;&lt;/a&gt;&lt;/em&gt;&lt;a href="https://github.com/THUDM/slime"&gt;&lt;span&gt; GitHub repo&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to learn more about its design and features, and here we highlight two features.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Performance characteristics of RL rollouts are highly task-dependent, and each task comes with different tools and reward functions. To ensure system efficiency, Z.ai designed a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;server-based multi-task rollout orchestrator&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Each task acts as an independent microservice server, controlling rollout and reward logic. The orchestrator &lt;/span&gt;&lt;strong&gt;&lt;span&gt;balances the overall performance&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, controlling the per-task rollout ratio and generation speed. Centralization also allows dynamic ratio adjustments across tasks, fine-grained progress monitoring, and many more. Z.ai claims the orchestrator supports 1000 concurrent rollouts when training GLM-5.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!u9lu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749e2de3-ef84-4776-864e-846243d30d9e_2048x1039.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="739" src="https://substackcdn.com/image/fetch/$s_!u9lu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749e2de3-ef84-4776-864e-846243d30d9e_2048x1039.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Architecture diagram of the multi-task rollout orchestrator. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In &lt;/span&gt;&lt;a href="https://z.ai/blog/glm-5.3"&gt;&lt;span&gt;the GLM-5.3 announcement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Z.ai claims to use local storage as a cache layer in addition to host memory, which enables &lt;/span&gt;&lt;strong&gt;&lt;span&gt;dynamic teacher model switching and prefetching for MOPD&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. &lt;/span&gt;&lt;em&gt;&lt;span&gt;slime &lt;/span&gt;&lt;/em&gt;&lt;a href="https://github.com/THUDM/slime/pull/1538"&gt;&lt;span&gt;PR#1538&lt;/span&gt;&lt;/a&gt;&lt;span&gt; implements teacher switching by introducing a &lt;/span&gt;&lt;code&gt;TensorBackuper&lt;/code&gt;&lt;span&gt; class, which stores teacher weights as PyTorch tensors pinned to CPU memory. When a rollout is routed to a teacher, a &lt;/span&gt;&lt;code&gt;TensorBackuper&lt;/code&gt;&lt;span&gt; object copies the teacher model back to GPU memory to perform a forward pass (&lt;/span&gt;&lt;a href="https://github.com/THUDM/slime/blob/main/slime/backends/megatron_utils/actor.py#L405-L425"&gt;&lt;span&gt;implementation here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). However, this is CPU-backed weight swapping, and we have yet to see storage-backed implementation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our paywall section, we present our analysis of GLM-5.3&amp;#8217;s cybersecurity capabilities.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/sparse-savings-persistent-demand-inside-glm53"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/sparse-savings-persistent-demand-inside-glm53"/>
    <summary type="html">&lt;h1&gt;&lt;span&gt;How Sparse Attention Affects DRAM/NAND Memory &lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;How does sparse attention affect the TAM of memory, including HBM and NAND? Sparse attention selects top-k most relevant tokens to attend to, reducing the memory consumption and bandwidth requirements during the core Scaled Dot-Production Attention (SDPA) operation. However, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the efficiency improvement doesn&amp;#8217;t directly translate to overall memory savings in practice&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Concretely, the top-k selection operation typically requires the full context to be in HBM, so &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sparse attention doesn&amp;#8217;t eliminate the memory capacity bottleneck.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1i4c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cd044d2-888a-4569-97ea-5354b07e4f62_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!1i4c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cd044d2-888a-4569-97ea-5354b07e4f62_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Sparse attention throughput is bottlenecked by memory capacity. Source: &lt;/span&gt;&lt;a href="https://www.lmsys.org/blog/2026-04-10-sglang-hisparse"&gt;&lt;span&gt;HiSparse&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To overcome this limitation, the SGLang team designed HiSparse, a hierarchical memory system that proactively offloads KV cache entries from device HBM to host DRAM. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;HiSparse behaves like an LRU (Least Recently Used) cache&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, where it loads tokens from DRAM to HBM upon top-k selection cache miss, and it offloads tokens from HBM to DRAM based on the LRU eviction policy. To reduce the cache miss latency, HiSparse overlaps KV cache loading of layer N with the execution of layer N-1 (layer-wise overlapping), introduced in HiSparse&amp;#8217;s prior work HiCache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!yJNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5373e7c-4b2c-4741-8213-ec54052779cd_1126x174.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="174" src="https://substackcdn.com/image/fetch/$s_!yJNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5373e7c-4b2c-4741-8213-ec54052779cd_1126x174.png" width="1126" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Layer-wise overlapping. Source: &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2403.19708"&gt;&lt;span&gt;CachedAttention&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With HiSparse, SGLang greatly boosts throughput at high concurrency and long context scenarios, at the cost of top-k cache miss I/O overhead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Sparse attention reduces KV cache memory and bandwidth requirements at the SDPA operation, but it does not reduce the overall memory capacity usage.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; In addition, HiSparse shows that system optimizations can overcome sparse attention&amp;#8217;s memory capacity limitations, so &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sparse attention memory profile alone cannot sufficiently portray the full picture of system KV cache efficiency&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. To provide a more holistic picture of serving sparse attention models, here we explain the design of Z.ai&amp;#8217;s GLM-5 model series, and how they are served in practice.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;GLM5.3 Agentic Inference Serving &lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In our realtime benchmark board InferenceX, GB300 delivers the lowest modeled serving cost in our comparison at a response speed of 150 tokens per second. GB300 handles more tokens per GPU, and its higher hourly cost still leaves it ahead of GB200 on cost efficiency. The GB300 result uses Dynamo-TRT-LLM, while the GB200 result uses Dynamo-SGLang.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We use the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/glm-5-3?g_model=GLM-5.2&amp;amp;g_rundate=2026-09-17&amp;amp;i_seq=agentic-traces&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_pctl=p90&amp;amp;i_best=0&amp;amp;i_optimal=1&amp;amp;i_metric=y_costh&amp;amp;i_xmode=interactivity"&gt;&lt;span&gt;September 17 AgentX snapshot&lt;/span&gt;&lt;/a&gt;&lt;span&gt; results to help illustrate the serving implications of GLM-5.3. We estimate costs using InferenceX&amp;#8217;s model of owning and operating infrastructure at hyperscaler scale. Total tokens include input and generated output, including cached input history reused across turns. Streaming speed is measured using p90 interactivity; time to first token is evaluated separately.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At 150 tokens per second, GB200 costs approximately $0.044 per million total tokens, compared with $0.238 for MI355X running ATOM. That is about 82% lower cost at the same streaming-speed target. These values are estimated from the measured curves, rather than from a separate test at exactly 150 tokens per second.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For this comparison, we use InferenceX&amp;#8217;s estimated cost of owning and operating the infrastructure at hyperscaler scale. Total tokens include input and generated output, including input history reused from cache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!T1jb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e16fb0-fc56-4b65-b5f3-585ae5d76312_2048x1441.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1024" src="https://substackcdn.com/image/fetch/$s_!T1jb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e16fb0-fc56-4b65-b5f3-585ae5d76312_2048x1441.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX &lt;a href="https://inferencex.semianalysis.com/inference/glm-5-3?g_model=GLM-5.2&amp;amp;g_rundate=2026-09-17&amp;amp;i_seq=agentic-traces&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_pctl=p90&amp;amp;i_best=0&amp;amp;i_optimal=1&amp;amp;i_metric=y_costh&amp;amp;i_xmode=interactivity"&gt;&lt;span&gt;current InferenceX dashboard&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX-app/blob/dfefa9333c9ea1a797ab5699252b1b0a98eaefa7/packages/app/src/components/calculator/interpolation.ts"&gt;&lt;span&gt;interpolation method&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/actions/runs/34413290524/attempts/1"&gt;&lt;span&gt;GB300 source run&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/actions/runs/34783501425/attempts/1"&gt;&lt;span&gt;MI355X source run&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Among the Dynamo-SGLang results, GB300 serves roughly 13950 total tokens per second per GPU here, a 17.5% throughput advantage versus 11873 total tokens for GB200. However, we assume $2.31 per GB300 GPU hour versus $1.86 for GB200. The higher hourly cost more than offsets GB300&amp;#8217;s throughput lead at this target.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the comparison with AMD, GB200 costs about 52% less than ATOM at 100 tokens per second, 62% less at 125, and 82% less at 150. Across these three targets, the gap widens as response speed increases.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Counting only generated output, GB200 costs $5.92 per million output tokens at a response speed of 150 tokens per second, which is 79% less than $28.52 for MI355X ATOM. This metric is useful to analyze cost under agentic workloads, where agents repeatedly reuse long input histories while generating relatively little new text.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pr50!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f39faf-aba5-4c35-b0a9-ca9229c2d722_2048x1638.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1165" src="https://substackcdn.com/image/fetch/$s_!pr50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f39faf-aba5-4c35-b0a9-ca9229c2d722_2048x1638.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: SemiAnalysis InferenceX;  &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/glm-5-3?g_model=GLM-5.2&amp;amp;g_rundate=2026-09-17&amp;amp;i_seq=agentic-traces&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_pctl=p90&amp;amp;i_best=0&amp;amp;i_optimal=1&amp;amp;i_metric=y_costh&amp;amp;i_xmode=interactivity"&gt;&lt;span&gt;current InferenceX dashboard&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The GB200 measurements on either side of the 150 token per second target have p90 TTFT (time to first token) of 14-19 seconds, compared with 1.3-1.7 seconds for MI355X ATOM. Some of the GB200 lowest cost runs have much longer waits for the first token.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We therefore make a second comparison using only configurations that were actually tested and achieved at least 150 tokens per second with p90 TTFT below two seconds. The chart below shows B200 with Dynamo-SGLang at $0.0666 per million total tokens versus $0.1265 for MI355X with SGLang. B200 still costs about 47% less with the first-token limit.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1s-Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99fd34b-71e8-4249-9ec4-f1e52b688b76_2048x1365.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="970" src="https://substackcdn.com/image/fetch/$s_!1s-Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa99fd34b-71e8-4249-9ec4-f1e52b688b76_2048x1365.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX &lt;a href="https://inferencex.semianalysis.com/inference/agentic/442071"&gt;&lt;span&gt;B200 run 442071&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/441597"&gt;&lt;span&gt;GB300 run 441597&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/442075"&gt;&lt;span&gt;MI355X run 442075&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Optimizations&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In GLM&amp;#8217;s 5.2 / 5.3 model, its attention architecture reduces memory demands, and long running agents still need to retain earlier conversation history. GLM reduces the cost of handling this history in two ways: KV compression reduces the cached state stored per token, and sparse attention reduces how much of that state each attention operation reads. Then the serving engine would determine where to store the cache and how to retrieve it efficiently.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;These B200 results show how much reuse can happen outside of GPU memory. When concurrency increases from 8 to 16 requests, the share of prompt tokens reused from GPU memory falls from 90.3% to 54.8%. Much of that reuse shifts to host memory, which rose from 6.0% to 40.3%. Much of the decline in GPU cache is offset by reuse from host memory, keeping the overall cache hit rate above 95% at all concurrency levels.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XMNu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc49af533-cf97-4c90-8c33-0d5bee12e029_2048x1772.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1260" src="https://substackcdn.com/image/fetch/$s_!XMNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc49af533-cf97-4c90-8c33-0d5bee12e029_2048x1772.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX; &lt;span&gt;InferenceX B200 rows &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440962"&gt;&lt;span&gt;440962&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440961"&gt;&lt;span&gt;440961&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440959"&gt;&lt;span&gt;440959&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/actions/runs/33683520699/attempts/1"&gt;&lt;span&gt;workflow run 33683520699&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Beyond cache management, changes to how the serving engine executes prefill and decoding can also change performance. Two separate GLM-5.2 studies illustrate this:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;vLLM keeping the first decoding step on a consistent CUDA graph execution path reduced average TPOT (time per output token) from about 40 ms to 22 ms in an&lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm-project.github.io/blob/3be7020c6da40428eca107387d7faa8e58bd7074/_posts/2026-07-23-glm-5.2-nvfp4-b300-pd.md#22-optimization-speculative-padding-on-the-decode-side"&gt;&lt;span&gt; NVFP4 study&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On a different 8 MI355X long context workload, ATOM  engine processing prefill in chunks across pipeline stages delivered 98% higher total throughput and reduced median TTFT from&lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1552"&gt;&lt;span&gt; 28.6 to 8.7 seconds&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;TileRT&lt;/h2&gt;&lt;p&gt;For GLM5.3 on TileRT, AMD MI355X was supported first. TileRT is a low-latency LLM inference engine for that compiles decoding into a single persistent kernel, reducing launch overhead and overlapping computation, memory access, and communication.&lt;/p&gt;&lt;p&gt;It prioritizes faster token generation per user, rather than maximum batched throughput, while vLLM handle prefill.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;On AgentX, FP8 TileRT MI355X achieves 2x the P90 interactivity than the best FP4 MI335X config. Comparing to GB300 NVL72, it brings a 40% uplift in interactivity. These are serving metrics that used to require specialized hardware.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3tYc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22959305-42e4-48ef-afb2-913f9474f339_1582x1450.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1335" src="https://substackcdn.com/image/fetch/$s_!3tYc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22959305-42e4-48ef-afb2-913f9474f339_1582x1450.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;However, TTFT is suboptimal and there is still room for development, such as optimizing KV transfer, FP4 support, and larger batch sizes.&lt;/p&gt;&lt;h1&gt;&lt;span&gt;DeepSeek Sparse Attention&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;GLM-5 (and GLM-5.x models) is a 744B total, 40B active-parameter mixture-of-experts model. For every token, it has 1 shared expert and is routed through 8 out of 256 experts, which is sparsity 32. It features DeepSeek Sparse Attention, which we will discuss in this section.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DeepSeek Sparse Attention (DSA), introduced in &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2512.02556"&gt;&lt;span&gt;DeepSeek V3.2&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, consists of two components: A &lt;/span&gt;&lt;strong&gt;&lt;span&gt;lightning indexer&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; that selects top K tokens, and a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sparse Multi-Latent Attention&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (MLA).&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Lightning Indexer&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A lightning indexer is functionally similar to a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;lightweight attention mechanism&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Queries and keys are down-projected to lower dimensions, with indexer queries being multi-headed and indexer keys single-headed. Since we only need a query and key relation score (logits) for selecting top K tokens, the indexer doesn&amp;#8217;t need value embeddings or the softmax operation for normalized logits. Instead, it computes a query-key dot product, followed by a ReLU non-linearity. The indexer then computes each token&amp;#8217;s indexer score as a weighted sum of logits across all query heads, which we use to select the top K tokens with. This means despite the indexer having multiple heads, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;token selection is shared across multiple attention heads&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. When selecting top K tokens, we keep &lt;/span&gt;&lt;strong&gt;&lt;span&gt;queries that attend to less than K tokens as dense attention&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, and we select top K otherwise.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-FZf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3abe0c5-92c8-4912-ad2b-1b5ba3753580_1404x682.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="682" src="https://substackcdn.com/image/fetch/$s_!-FZf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3abe0c5-92c8-4912-ad2b-1b5ba3753580_1404x682.png" width="1404" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Conceptual example of the lightning indexer. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!n_SD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F375d0869-c668-4145-bf66-3b019701c834_2048x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!n_SD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F375d0869-c668-4145-bf66-3b019701c834_2048x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Indexer score is a weighted sum of all indexer query heads. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Sparse MLA&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/i/209189055/multi-head-latent-attention"&gt;&lt;span&gt;As we explained in our Kimi K3 article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, MLA operates in two modes: Multi-Head Attention (MHA) mode and Multi-Query Attention (MQA) mode. Both come with trade-offs: MHA mode has lower FLOPs but 42x higher memory cost, MQA mode has lower memory cost but up to 3.4x higher FLOPs. DSA uses MQA mode, since sparse attention attends to less tokens,mitigating the higher FLOP usage. However, in practice, there is a sequence length threshold where under it, MHA mode is actually more efficient that MQA mode. The intuition is that at shorter sequence length, the memory loading time isn&amp;#8217;t as dominating, and MHA mode may have an edge for being lower FLOPs. vLLM implements this feature, and configures MHA mode for sequence length 2K to about 5K for data parallel, and 2K to about 77K for tensor parallel. The 2K minimum is due to top K being 2048, and as mentioned above, attention below 2K is dense.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kk6W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff496f5be-6eff-4a54-ae7e-8d2555bc6716_1898x1265.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="970" src="https://substackcdn.com/image/fetch/$s_!kk6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff496f5be-6eff-4a54-ae7e-8d2555bc6716_1898x1265.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;MHA (green) can be faster than MQA (red). Source: &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/48770"&gt;&lt;span&gt;vLLM PR #48770&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;MLA Modifications&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Comparing the MLA dimension configurations of GLM-5 and DeepSeek V3.2, we see that the most notable differences are the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;number of query heads&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;query key head dimension&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!qpBS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0857f2d-5a6a-45a5-accd-3ec332737582_1258x204.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="204" src="https://substackcdn.com/image/fetch/$s_!qpBS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0857f2d-5a6a-45a5-accd-3ec332737582_1258x204.png" width="1258" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://arxiv.org/abs/2602.15763"&gt;&lt;span&gt;GLM-5 tech report&lt;/span&gt;&lt;/a&gt;&lt;span&gt; mentions DeepSeek chose the number of query heads according to the roofline of H800. This is likely referring to the fact that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;MLA&amp;#8217;s SDPA arithmetic intensity during decode is roughly at the ridge point of H800&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Derivation as follows. Assume&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;L&lt;/code&gt;&lt;span&gt;: Sequence length&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;d&lt;/code&gt;&lt;span&gt;: Head dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;r&lt;/code&gt;&lt;span&gt;: RoPE dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;H&lt;/code&gt;&lt;span&gt;: Number of heads&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;b&lt;/code&gt;&lt;span&gt;: Number of bytes per parameter&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;In MQA mode, the FLOPs are&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;2 * H * L * (d+r)  # P = Q [H, d+r] @ K.T [d+r, L]
2 * H * L * d      # O = P [H, L] @ V [L * d]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;and the memory loaded is&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;b * H * (d+r)  # Q
b * L * (d+r)  # K and V&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;So the arithmetic intensity is&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;(2 * H * L * (2 * d + r)) / (b * (d+r) * (L + H))
= (2 * H * L * (2 * d + r)) / (b * L * (d + r))  # L &amp;gt;&amp;gt; H
= (2 * H * (2 * d + r)) / (b * (d + r))&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If we plug in the DeepSeek V3.2 configuration &lt;/span&gt;&lt;code&gt;d&lt;/code&gt;&lt;span&gt; = 512, &lt;/span&gt;&lt;code&gt;r&lt;/code&gt;&lt;span&gt; = 64, &lt;/span&gt;&lt;code&gt;b&lt;/code&gt;&lt;span&gt; = 2), we get&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;(2 * H * (2 * 512 + 64) / (2 * (512 + 64)) ~= 2 * H&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;H800&amp;#8217;s practical arithmetic intensity is 258.2 FLOP/B (Practical peak 865 TFLOP/s, 3.35 TB/s bandwidth, &lt;/span&gt;&lt;a href="https://github.com/deepseek-ai/FlashMLA/blob/main/docs/20250422-new-kernel-deep-dive.md?utm_source=chatgpt.com#a-theoretical-analysis-of-the-mla-algorithm"&gt;&lt;span&gt;according to DeepSeek&lt;/span&gt;&lt;/a&gt;&lt;span&gt;), and plugging in the formula gives us &lt;/span&gt;&lt;code&gt;H&lt;/code&gt;&lt;span&gt; ~= 128.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The fact that GLM-5 has H = 64, half the number of query heads, implies that GLM-5 may be designed for different hardware. If we plug in GLM-5&amp;#8217;s configuration (d = 512, r = 64, b = 2, H = 64), we get an arithmetic intensity of 120.8 FLOP/B. Thus, we suspect GLM-5 is optimized for Moore Threads MTT S4000, which is about 128 FLOP/B. Moore Threads&amp;#8217; collaboration with Z.ai, such as &lt;/span&gt;&lt;a href="https://www.mthreads.com/news/341"&gt;&lt;span&gt;GLM-5.3-Flash day 0 support&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, corroborates our theory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Separately, GLM-5 increases the QK NoPE dimension from 128 to 192, as ablations show the configuration is superior under iso-FLOP and iso-parameter constraints. This increases the SDPA head dimension from 192 to 256, which is still a 33% FLOP reduction after considering the head number reduction.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;IndexShare&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The latency cost of the indexer becomes non-negligible as context grows. To mitigate the cost, Z.ai proposes IndexShare (aka IndexCache) in GLM-5.2, where every 4 DSA layers share one indexer.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gPFQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1afc9d13-969e-449a-91d1-cd3b310c779a_944x654.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="654" src="https://substackcdn.com/image/fetch/$s_!gPFQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1afc9d13-969e-449a-91d1-cd3b310c779a_944x654.png" width="944" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Latency cost at different context lengths for a 30B DSA model. Source: &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2603.12201"&gt;&lt;span&gt;IndexCache&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;IndexShare introduces complications in training and inference. Standard DSA training involves two stages: A dense warm-up stage where all model weights except the indexer are frozen and attention computation is dense, and then a sparse adaptation stage where the full model is trained with sparse attention.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!0XK_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2f29b-e00a-4240-92a0-2a1c30c7ee15_1258x264.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="264" src="https://substackcdn.com/image/fetch/$s_!0XK_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2f29b-e00a-4240-92a0-2a1c30c7ee15_1258x264.png" width="1258" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In terms of training objective, the indexer is trained to align with the sum of attention head scores, using a KL divergence objective. IndexShare adapts the training objective to &lt;/span&gt;&lt;strong&gt;&lt;span&gt;aligning the indexer logit distribution with the average distribution of attention scores across shared layers&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For inference, typically &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the indexer caches keys, like attention caches KV.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Since multiple layers share one indexer, we need to additionally cache the top K indices at the full layer, in order to reuse the top K selection information at shared layers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This design reduces indexer cache by 75%, reduces indexer FLOPs by 75%, and boosts throughput by 1.5x to 1.8x at different context lengths and prefill/decode.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!J1l1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70d8106-0784-4721-b55f-e2285ce91f6d_2048x629.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="447" src="https://substackcdn.com/image/fetch/$s_!J1l1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70d8106-0784-4721-b55f-e2285ce91f6d_2048x629.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Baseline vs. GLM-5.2 configuration (red) for a 30B DSA model. Source:  &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2603.12201"&gt;&lt;span&gt;IndexCache&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Post-Training Design&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Pipeline&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;After pre-training and mid-training, GLM-5&amp;#8217;s post-training pipeline starts with supervised fine-tuning (SFT), continues with &lt;/span&gt;&lt;strong&gt;&lt;span&gt;three RL training stages&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (reasoning RL, agentic RL, and general RL), and ends with an &lt;/span&gt;&lt;strong&gt;&lt;span&gt;on-policy cross-stage distillation&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, distilling reasoning and general RL back into the SFT checkpoint.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-nRK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2665b55-e60e-4d73-ac0f-68b93e205460_2048x1432.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1018" src="https://substackcdn.com/image/fetch/$s_!-nRK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2665b55-e60e-4d73-ac0f-68b93e205460_2048x1432.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;GLM-5 post-training pipeline. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here we highlight two details. First, the tech report states that the reasoning RL model is trained &lt;/span&gt;&lt;strong&gt;&lt;span&gt;entirely on-policy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, implying that it is trained synchronously. Synchronous RL training is low system efficiency but has higher RL training stability. Second, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;on-policy cross-stage distillation is similar to Multi-teacher On-Policy Distillation (MOPD)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, where a student model is RL trained with on-policy distillation over multiple teacher models. However, unlike MOPD, whose goal is to merge expert teacher models into one model, GLM-5 here seems to be more about &lt;/span&gt;&lt;strong&gt;&lt;span&gt;recovering old capability loss&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; when the model learns new capabilities. Following this assumption, we are not sure why the Z.ai only uses reasoning and general RL checkpoints as teachers, instead of using all three RL checkpoints.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Based on &lt;/span&gt;&lt;a href="https://z.ai/blog/glm-5.2"&gt;&lt;span&gt;the announcement blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, GLM-5.2 may have replaced the on-policy cross-stage distillation with a standard MOPD pipeline, which Z.ai named parallel OPD training. Z.ai touted its scale and training efficiency: they merged more than ten expert models into a final model by training for about two days.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;RL Training Algorithm&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Z.ai adopts different RL algorithms for synchronous and asynchronous RL stages. Here we compare the major differences in the RL objectives.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the synchronous RL stage, Z.ai adopts Group Relative Policy Optimization (GRPO)-based RL algorithm with modern adaptations, including:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Remove KL regularization term&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to improve system efficiency and allow more aggressive gradient updates&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;IcePop&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Apply token-level masking based on the training-inference mismatch ratio&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Clip-Higher&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Use a higher max threshold for importance sampling ratio to encourage exploration&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;In contrast, Z.ai employs a REINFORCE-like RL algorithm for asynchronous RL stage, adding Direct Double-Sided Importance Sampling (DIS), an IcePop-like clipping mechanism. Below we compare the token-level objectives for the two RL stages:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!gNw1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab874c6-4338-4a58-b394-8de2794966dd_2048x472.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="336" src="https://substackcdn.com/image/fetch/$s_!gNw1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab874c6-4338-4a58-b394-8de2794966dd_2048x472.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Token-level objective for the two RL stages. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The importance sampling (IS) ratio compares &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the probability of each sampled action under the current policy and the behavior policy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, scaling each action&amp;#8217;s contribution to the training objective. For IS ratio, the synchronous RL stage utilizes the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;trainer policy of the previous iteration&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for the behavior policy, whereas the asynchronous RL stage utilizes the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;inference policy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for that. In an asynchronous training setting, policy updates happen multiple times during rollouts, so we will need every checkpoint version in between to calculate the IS ratio. However, this is infeasible due to the high memory and latency overhead. As a result, Z.ai opts for using inference policy for efficiency and simplicity, at the cost of numeric stability challenges.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VIZ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb5823b7-0ac8-4326-af4f-5e3b3829f100_1654x484.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="426" src="https://substackcdn.com/image/fetch/$s_!VIZ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb5823b7-0ac8-4326-af4f-5e3b3829f100_1654x484.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;IS ratio for the two RL stages. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Finally, we highlight the major differences in advantage calculation in RL training, cross-distillation, and long-horizon RL training. RL training employs the GRPO standard group-normalized advantage, and cross-distillation uses the reverse KL divergence.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!7JkY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F855b6009-e0d8-4e01-bab5-d6abfdd5849b_2048x479.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="341" src="https://substackcdn.com/image/fetch/$s_!7JkY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F855b6009-e0d8-4e01-bab5-d6abfdd5849b_2048x479.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Advantage calculation comparison. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Single-Rollout Asynchronous Optimization&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Long horizon tasks produce extremely long trajectories, and in the context of GRPO, the high variance in trajectory length produces unstable training signals that may skew towards longer trajectories. What&amp;#8217;s worse, since &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/rl-systems-mind-the-gap-matching"&gt;&lt;span&gt;RL rollout workload is sensitive to end-to-end latency&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the tail-latency of a straggler rollout worsens for long horizon tasks. To mitigate this issue, Z.ai introduced &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2607.07508"&gt;&lt;span&gt;Single-rollout Asynchronous Optimization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (SAO) for long-horizon RL training in GLM-5.2. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;SAO replaces group-normalized advantage with a modified Generalized Advantage Estimation (GAE)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, inspired by &lt;/span&gt;&lt;a href="https://arxiv.org/abs/1707.06347"&gt;&lt;span&gt;Proximal Policy Optimization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (PPO). GAE only needs a single rollout to compute the advantage. This removes the need to do multiple rollouts per prompt, mitigating GRPO&amp;#8217;s short-come.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1MnE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29bbbf45-36e4-470f-be0c-092db886317d_1255x669.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="669" src="https://substackcdn.com/image/fetch/$s_!1MnE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29bbbf45-36e4-470f-be0c-092db886317d_1255x669.png" width="1255" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Generator node asking trainer node to wait for rollout completion. Source: &lt;/span&gt;&lt;a href="https://www.swordart-online.net/"&gt;&lt;span&gt;SAO&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;GAE is computed with &lt;/span&gt;&lt;strong&gt;&lt;span&gt;values&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (In RL terms, expected returns of the current state), estimated by a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;value model&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Concretely, the value model takes the rollout as input and produces a value estimation for every token. SAO adapts GAE to agentic RL training by removing the observation tokens, i.e. tool call results, from the optimization. Previously in GLM-5, skipping the tokens is sufficient; in SAO, we modify the advantage estimation formula to bypass the observation tokens. We refer readers to the &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2607.07508"&gt;&lt;span&gt;SAO paper&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and its appendix A.1 for more intuition on the Bellman target and the ablations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In SAO, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the value model is a separate LLM concurrently trained with the policy model&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. This means early stages of training are susceptible to high variance of advantage calculations, due to a weak value model. To combat this, SAO proposes multiple techniques for training value models:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Two Time-scale Update Rule&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Updating the value model twice as frequently as the policy model. This means training on each data batch twice at every policy training step&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Attention Parameter Freezing&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Freezing the value model&amp;#8217;s full attention layers to improve training stability&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Scaling Pre-training&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Scaling the value model pre-training corpus to initialize the value model, so that the value model can robustly estimate values in the early stages of training. Unfortunately, Z.ai didn&amp;#8217;t disclose the scaling information of pre-training corpus&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YbQd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83b1151-c583-4cb6-bd89-a247fb7f4f92_335x597.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="597" src="https://substackcdn.com/image/fetch/$s_!YbQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83b1151-c583-4cb6-bd89-a247fb7f4f92_335x597.png" width="335" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;At the cost of computational overhead and doubling memory footprint, SAO replaces group-wise sampling with a value model, mitigating the latency issues of GRPO.&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Post-Training Infrastructure&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Z.ai uses &lt;/span&gt;&lt;em&gt;&lt;span&gt;slime&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, one of the best open-source RL training frameworks,&lt;/span&gt;&lt;em&gt;&lt;span&gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;as the post-training infrastructure throughout all GLM-5 models. We refer readers to the &lt;/span&gt;&lt;em&gt;&lt;a href="https://github.com/THUDM/slime"&gt;&lt;span&gt;slime&lt;/span&gt;&lt;/a&gt;&lt;/em&gt;&lt;a href="https://github.com/THUDM/slime"&gt;&lt;span&gt; GitHub repo&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to learn more about its design and features, and here we highlight two features.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Performance characteristics of RL rollouts are highly task-dependent, and each task comes with different tools and reward functions. To ensure system efficiency, Z.ai designed a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;server-based multi-task rollout orchestrator&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Each task acts as an independent microservice server, controlling rollout and reward logic. The orchestrator &lt;/span&gt;&lt;strong&gt;&lt;span&gt;balances the overall performance&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, controlling the per-task rollout ratio and generation speed. Centralization also allows dynamic ratio adjustments across tasks, fine-grained progress monitoring, and many more. Z.ai claims the orchestrator supports 1000 concurrent rollouts when training GLM-5.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!u9lu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749e2de3-ef84-4776-864e-846243d30d9e_2048x1039.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="739" src="https://substackcdn.com/image/fetch/$s_!u9lu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F749e2de3-ef84-4776-864e-846243d30d9e_2048x1039.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Architecture diagram of the multi-task rollout orchestrator. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In &lt;/span&gt;&lt;a href="https://z.ai/blog/glm-5.3"&gt;&lt;span&gt;the GLM-5.3 announcement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Z.ai claims to use local storage as a cache layer in addition to host memory, which enables &lt;/span&gt;&lt;strong&gt;&lt;span&gt;dynamic teacher model switching and prefetching for MOPD&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. &lt;/span&gt;&lt;em&gt;&lt;span&gt;slime &lt;/span&gt;&lt;/em&gt;&lt;a href="https://github.com/THUDM/slime/pull/1538"&gt;&lt;span&gt;PR#1538&lt;/span&gt;&lt;/a&gt;&lt;span&gt; implements teacher switching by introducing a &lt;/span&gt;&lt;code&gt;TensorBackuper&lt;/code&gt;&lt;span&gt; class, which stores teacher weights as PyTorch tensors pinned to CPU memory. When a rollout is routed to a teacher, a &lt;/span&gt;&lt;code&gt;TensorBackuper&lt;/code&gt;&lt;span&gt; object copies the teacher model back to GPU memory to perform a forward pass (&lt;/span&gt;&lt;a href="https://github.com/THUDM/slime/blob/main/slime/backends/megatron_utils/actor.py#L405-L425"&gt;&lt;span&gt;implementation here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). However, this is CPU-backed weight swapping, and we have yet to see storage-backed implementation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our paywall section, we present our analysis of GLM-5.3&amp;#8217;s cybersecurity capabilities.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/sparse-savings-persistent-demand-inside-glm53"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-28T11:26:41+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/intel-panther-lake-teardown</id>
    <title>Intel Panther Lake Teardown</title>
    <updated>2026-09-26T05:36:32+00:00</updated>
    <author>
      <name>Adith Shankar</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;Panther Lake debuts the first commercial implementation of backside power delivery (BSPDN), introduces Intel&amp;#8217;s first iteration of gate-all-around (GAA) transistors, and showcases their advanced packaging capabilities with its Foveros-S assembly. With Panther Lake, Intel&amp;#8217;s manufacturing arc has shifted from nebulous roadmaps to shipped silicon, a significant milestone on their long road back to competitive semiconductor manufacturing. To evaluate the extent of Intel&amp;#8217;s comeback, we tore down Panther Lake.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!c6w-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe91f7b46-2f79-4ce2-814c-4ed684985a3e_1591x1290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1181" src="https://substackcdn.com/image/fetch/$s_!c6w-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe91f7b46-2f79-4ce2-814c-4ed684985a3e_1591x1290.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel Core Ultra 7 365 (Panther Lake). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our teardown traces 18A from its four-sheet RibbonFETs (Intel&amp;#8217;s marketing name for GAAFETs) and gate stacks through contacts, frontside and backside wiring, and the bonded carrier. We explain how these material and integration choices improve gate control and reduce resistance, while adding capacitance, thermal resistance, and process complexity. Our measurements put Panther Lake&amp;#8217;s 18A compute logic and TSMC N3E GPU logic at similar logic density. However, 18A does not lead TSMC N3P, N2 or Samsung SF2 in peak density. Panther Lake&amp;#8217;s CPU cores are incremental updates, and the high-end GPU still uses TSMC N3E.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QPIE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2a71a33-864f-4814-9e63-efeb211025a8_640x302.gif" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="302" src="https://substackcdn.com/image/fetch/$s_!QPIE!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2a71a33-864f-4814-9e63-efeb211025a8_640x302.gif" width="640" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;X-ray of Intel Panther Lake package. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Panther Lake assembles one compute tile, one GPU tile, and one I/O tile atop a passive base tile using Intel&amp;#8217;s Foveros-S advanced packaging. Both compute tile variants use Intel 18A. The Xe3 GPU options are a 4-core GT1 tile on Intel 3 and a larger 12-core GT2 tile on TSMC N3E. Both I/O tile variants use TSMC N6. [1], [2]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!O5ML!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f41d1d-51ef-401b-81f5-cabe50f2b0e9_1349x769.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="769" src="https://substackcdn.com/image/fetch/$s_!O5ML!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f41d1d-51ef-401b-81f5-cabe50f2b0e9_1349x769.png" width="1349" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake configurations. PTL-U (3xx, left), PTL-H (3x6H, center), PTL-H with Arc B390/B370 (X-tier, 3x8H, right). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Our analysis centers on the PTL-U compute tile, both the 4-core and 12-core GPU tiles, as well as the 12-lane I/O tile.&lt;/p&gt;&lt;h1&gt;PowerVia&lt;/h1&gt;&lt;p&gt;In conventional chips, power and signal are routed through the same frontside metal stack towards the device frontend. Power rails consume scarce routing resources near the transistors, while tall via stacks carry VDD and VSS from the coarse upper wires to local rails. Backside power delivery (BSPD) moves the main power network behind the transistor layer, to the backside, separating it from frontside signal routing. We covered BSPD and its impacts in 2024. [3], [4], [5] Intel&amp;#8217;s BSPD implementation, branded as &amp;#8220;PowerVia&amp;#8221;, routes power through dedicated backside metals to nano-TSVs, which connect those rails to local source/drain (S/D) contacts.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rsvx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333a960-a4cb-4310-95fe-91efaf9da41f_1493x851.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="830" src="https://substackcdn.com/image/fetch/$s_!rsvx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333a960-a4cb-4310-95fe-91efaf9da41f_1493x851.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt; Schematic orientation of the retained carrier, devices and frontside/backside interconnects. Layer counts are illustrative; not to scale. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Implementing that separation requires Intel to build the interconnect stacks from both sides of the wafer. The frontside comprises the M0-M14 signal stack, while the backside comprises the BM0-BM5 power stack. M0 and BM0 are closest to the transistors.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_sOw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F877a2e36-a956-4c1a-befe-39823e6ab5fc_1441x1404.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1404" src="https://substackcdn.com/image/fetch/$s_!_sOw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F877a2e36-a956-4c1a-befe-39823e6ab5fc_1441x1404.png" width="1441" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Generalized PowerVia process sequence and comparison of buried power rails, PowerVia and direct backside contact schemes. Integration details and layer counts are illustrative; the schematic is not to scale. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The nano-TSVs connect the two sides, but Intel patterns and etches each via from the front after forming the contacts. A narrow via runs from the side of the contact deep into the silicon substrate. Intel then completes the frontside signal metal stack, bonds the wafer to a carrier, flips it and removes the original substrate until the buried via tips are exposed. The backside metal stack is then deposited directly on the revealed vias.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The nano-TSV and backside-via profiles taper in opposite directions because Intel forms them from opposite sides of the wafer. The transistor structures form the FEOL. Local contacts and nano-TSVs connect them to the wiring. M0 begins the frontside interconnect stack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The silicon carrier remains attached above the frontside interconnects. It supports the device wafer during substrate removal and backside processing and remains part of the finished chip&amp;#8217;s thermal path.&lt;/p&gt;&lt;p&gt;PowerVia removes the main power distribution from the congested frontside metals, routing supply through shorter and wider backside wires. Its lateral landing still occupies area in the standard cell, so it recovers less cell area than a direct backside contact. [3] Nano-TSVs beside the logic devices carry VDD or VSS from the backside power network, while signal connections continue upward through the frontside metals.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fNCs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd416cb6f-2dd4-4e0a-b046-791f0a12823b_1431x918.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="456.75471698113205" src="https://substackcdn.com/image/fetch/$s_!fNCs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd416cb6f-2dd4-4e0a-b046-791f0a12823b_1431x918.png" width="712" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qRdI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07f47dd-574d-47bb-aa0d-b399e2445562_714x460.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="460" src="https://substackcdn.com/image/fetch/$s_!qRdI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07f47dd-574d-47bb-aa0d-b399e2445562_714x460.png" width="714" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A RibbonFET and nano-TSV in XTEM (top) and EDS (bottom). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Backside Interconnects&lt;/h2&gt;&lt;p&gt;Samsung SF2 data is included for comparison to Panther Lake&amp;#8217;s within this article. SF2 is the incumbent GAA foundry node but lacks BSPD, serving as a useful reference to evaluate 18A. A full teardown of Samsung&amp;#8217;s S26 products, processed on SF2, will be shared soon.Nanosheet-cut EDS comparison. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xdu_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518abef6-0eaf-41ba-9bb1-59fe4088bdc1_2200x1270.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="841" src="https://substackcdn.com/image/fetch/$s_!xdu_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518abef6-0eaf-41ba-9bb1-59fe4088bdc1_2200x1270.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A Panther Lake P-core logic (left) and Samsung SF2 Exynos 2600 C1-Ultra logic (right). HFW 550 nm (Intel) and 423 nm (Samsung). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The PowerVia supply path runs from the backside Cu rails through Mo-lined W nano-TSVs to the local transistor contacts. In this cross section, the tapered connection spans roughly 150 nm from the contact level to BM0. The Ta liner confines Cu and promotes adhesion to the surrounding stack; the AlO&lt;span&gt;&amp;#8339; etch stop controls the next dielectric etch above the rail. Dielectric beneath the ribbons electrically separates the devices from the backside wiring and removes the conducting silicon body below the channel. [6] &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1OnH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae0c0e2-440b-4937-bf39-6afa3549f20c_2065x1024.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1024" src="https://substackcdn.com/image/fetch/$s_!1OnH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae0c0e2-440b-4937-bf39-6afa3549f20c_2065x1024.png" width="2065" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A Mo-lined W nano-TSV and Cu BM0 rail. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AlO&lt;span&gt;&amp;#8339; serves as an etchstop (ES), enabling endpointing and protecting the underlying layers. Low-volatility aluminum fluoride reaction products resist the fluorinated plasma, allowing a thin AlO&amp;#8339; film to protect the metal while the surrounding low-k dielectric is removed. [6], [7]. While the BM0 and layers above the M1 lines show double AlO&lt;/span&gt;&lt;sub&gt;&lt;span&gt;x&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; layers, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/199606144/process-flow"&gt;&lt;span&gt;Our SMIC N+3 teardown&lt;/span&gt;&lt;/a&gt;&lt;span&gt; showed single AlO&amp;#8339; layers. SMIC uses a simpler local AlO&amp;#8339; substack, while the remaining cap and etch sequence provide the required landing protection.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!cP3E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4363b1d8-2954-4dd8-8e0d-6ffedec7317a_1050x176.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="176" src="https://substackcdn.com/image/fetch/$s_!cP3E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4363b1d8-2954-4dd8-8e0d-6ffedec7317a_1050x176.png" width="1050" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A backside metallization materials. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;So why double layers? The closely spaced AlO&amp;#8339; doublets provide two protected endpoints in the etch sequence. Intel documents an AlO&amp;#8339;/SiN/AlO&amp;#8339; stack that explains the benefit. The main dielectric plasma etch stops on the first AlO&amp;#8339; film; a selective wet clear opens that film; a second plasma etch removes the intermediate SiN and stops on the second AlO&amp;#8339; film. The final wet clear exposes the metal landing surface. SiN is the intermediate dielectric in Intel&amp;#8217;s published example. [8]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The second stop protects the metal through a cap breakthrough. Wide openings can etch faster than narrow ones, and etch depth varies across the wafer. Metal under an early-clearing opening would otherwise be exposed while other openings still need more etching. Staged protection widens the process window and reduces metal erosion, corrosion and void formation. [8]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TSMC documents AlN/AlO&amp;#8339;/SiOC/AlO&amp;#8339; above Cu, with AlN blocking Cu diffusion, and a simpler AlN/SiOC/AlO&amp;#8339; variant that omits one AlOx film. [9] Levels with different opening sizes, aspect ratios, pattern densities and cap materials need different etch margins. A double AlOx stop is useful where another protected endpoint justifies the added processing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The extra film adds formation, selective opening and cleaning steps, plus another set of interfaces to control adhesion, moisture, and stress. These blanket films are opened through the existing via pattern, so each film does not require another lithography mask. AlO&amp;#8339; adds parasitic capacitance when it replaces lower-k dielectric; two thin AlO&amp;#8339; films can nevertheless contain less AlO&amp;#8339; than one thick film. Total thickness, placement, and theintermediate dielectric determine the electrical cost. Deposition chemistry also changes AlOx permittivity and residual hydroxyl content, which can oxidize the underlying metal. [7], [8], [10], [11]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The backside stack separates into relatively fine BM0-BM2 wiring near the devices and coarser BM3-BM5 power distribution. The largest pitch increase occurs between BM2 and BM3. BM0&amp;#8217;s pitch closely matches the logic-row height, fitting local power delivery to the cell rows. Higher levels aggregate current through larger conductors: routing density becomes less important than low resistance and current capacity as the network approaches the package. This hierarchy provides wide power wiring for the power delivery network without consuming scarce frontside signal-routing resources. [3]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ic9c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97ef329b-fb8e-4535-9830-92fe3cef5894_946x301.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="301" src="https://substackcdn.com/image/fetch/$s_!Ic9c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97ef329b-fb8e-4535-9830-92fe3cef5894_946x301.png" width="946" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A BM0-BM5 minimum measured pitches. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h2&gt;Frontside Interconnects&lt;/h2&gt;&lt;p&gt;Intel 18A combines Mo-lined W contacts and nano-TSVs with a separate backside Cu power network. Samsung SF2 keeps power on the frontside, using Ti-based contact interfaces and Ta-based barriers and Co liners around Cu wiring.&lt;/p&gt;&lt;p&gt;&lt;span&gt;In 18A standard-cell rows, backside power rails supply the devices through nano-TSVs within the cells, freeing frontside routing resources. Samsung&amp;#8217;s M0 accommodates both power and signal connections.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8qNX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F953dd218-0da3-4081-934e-3db17adfa526_946x624.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="624" src="https://substackcdn.com/image/fetch/$s_!8qNX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F953dd218-0da3-4081-934e-3db17adfa526_946x624.png" width="946" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A M0-M14 minimum measured pitches. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;From the device toward M0, the connection runs through a Ti-based S/D interface, W contact fill, a Mo-lined W via, and the Cu M0 wire. Mo supplies a conductive nucleation and adhesion layer for W, replacing the resistive TiN liner used in conventional W integration. This increases the effective conduction volume within the feature while retaining W fill and its established polishing, cleaning and etching processes. Intel&amp;#8217;s Mo/W patent describes this integration tradeoff. The nano-TSV uses the same Mo-lined W construction in the backside supply path. [12]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Yo77!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff116d635-da7e-4106-8025-7b6aac641a3f_1188x313.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="313" src="https://substackcdn.com/image/fetch/$s_!Yo77!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff116d635-da7e-4106-8025-7b6aac641a3f_1188x313.png" width="1188" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A and Samsung SF2 contact and via materials. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The move from TiN to Mo is an incremental change. While a full Co or Mo fill can also reduce the volume lost to liners in very small features, it requires new integration schemes that increase complexity and risk. Cu remains attractive for wider wires due to its low resistance. As wires and vias shrink, the diffusion barrier consumes an increasing fraction of their cross-section. [12], [12], [14]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pdj9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebf286e-3662-4147-812d-cc37e96d2731_6060x2251.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2251" src="https://substackcdn.com/image/fetch/$s_!pdj9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebf286e-3662-4147-812d-cc37e96d2731_6060x2251.png" width="6060" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A Panther Lake P-core logic (top) and Samsung SF2 C1U logic (bottom), interconnect EDS maps. Cu, Ta, Co, Ru, and combined Co/Nb maps, left to right. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Intel uses Co/Ru liners at M0-M1, Co at M2-M4, and Nb at M5-M9. The lower-level liners help Cu adhere and reduce void formation during trench fills. Applied Materials&amp;#8217; Endura has new thermal control that facilitate wetting process, so the thin film continuity is good enough that good capillary pressure will drive Cu atoms to the via bottom without voiding.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel&amp;#8217;s choice to use Nb is particularly interesting. Intel&amp;#8217;s Nb patent describes a conductive diffusion barrier intended to reduce the barrier&amp;#8217;s contribution to resistance relative to conventional Ta-based barriers, particularly at via bottoms where all current crosses the barrier. The patent pairs Nb in coarser levels with the option of lower-cost PVD processing. [15], [16]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The upper metal layers support thicker barriers formed through physical vapor deposition (PVD) despite its worse coverage and uniformity. Meanwhile, the lower metal layers require thinner barriers deposited through conformal atomic layer deposition (ALD). Co/Ru adds another material interface and requires controlled deposition and Cu fill. Changing liners and barriers by metal layer allows Intel to optimize interconnect resistance, process complexity, and reliability. [15, 16]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Cn7G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0faf32e-6f06-4087-8fc5-e5b8862893a9_1600x542.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="493" src="https://substackcdn.com/image/fetch/$s_!Cn7G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0faf32e-6f06-4087-8fc5-e5b8862893a9_1600x542.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A and Samsung SF2 M0-M9 liner, fill and etchstop materials. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;RibbonFET&lt;/h1&gt;&lt;p&gt;RibbonFET, Intel&amp;#8217;s name for its gate-all-around FETs (GAAFETs), replaces the FinFET&amp;#8217;s vertical fins with four stacked horizontal silicon nanosheets, allowing the gate to surround the channel on every side.&lt;span&gt; The path to GAAFET begins with the planar transistor.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_HPT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714d286b-6d60-4d1a-8d35-8a31935de9a7_1151x410.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="410" src="https://substackcdn.com/image/fetch/$s_!_HPT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714d286b-6d60-4d1a-8d35-8a31935de9a7_1151x410.png" width="1151" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;strong&gt;Planar NMOS structure (left) and CMOS inverter (right). Source: SemiAnalysis&lt;/strong&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A planar MOSFET places the gate above the channel between its source and drain. Pairing an NMOS with a PMOS transistor creates a CMOS inverter, in which the NMOS pulls the output low for a high input, and the PMOS pulls it high for a low input. The gate must retain electrostatic control of the channel to ensure clean switching. As gate lengths shrank, the drain began to compete with the gate for that control, increasing off-state leakage.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Electrostatic control was restored through an architectural evolution that raised the channel into a vertical fin and wrapping the gate around three sides. Called &amp;#8220;FinFET&amp;#8221;, this new architecture packed more effective channel width into a smaller footprint. Further scaling made it harder to maintain both drive current and leakage within smaller cells, and reintroduced the same problems planar MOSFETs faced. Nanosheet GAAFETs close the fourth side by replacing the vertical fin with a stack of horizontal nanosheets, each surrounded by the gate. The tighter electrostatic control suppresses leakage at shorter gate lengths while stacking adds effective channel width within the cell footprint.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ci5j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c40c53f-5c63-4e12-abc6-feeb8fdce130_1183x635.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="635" src="https://substackcdn.com/image/fetch/$s_!Ci5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c40c53f-5c63-4e12-abc6-feeb8fdce130_1183x635.png" width="1183" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Controlling gate leakage through architectural evolution. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In a FinFET process, channel width changes in discrete steps as designers must add or remove whole fins. Nanosheet width can instead be adjusted continuously within the process&amp;#8217;s design rules. Wider sheets increase drive current, while narrower sheets reduce capacitance at the cost of drive current. Intel 18A uses stacks of four nanosheets each and varies their widths across logic and SRAM. At the process level, adding more sheets to each stack increases effective channel width and drive current, but complicates fabrication.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;RibbonFET vs MBCFET&lt;/h2&gt;&lt;p&gt;Samsung began GAAFET production in 2022 with SF3E, following with SF3 and now SF2. Its &amp;#8216;MBCFET&amp;#8217; provides a useful structural comparison with Intel&amp;#8217;s first RibbonFET implementation. [17] STEEL is digging deeper into SF2, used in the Exynos 2600, and TSMC&amp;#8217;s GAAFET N2, used in Apple&amp;#8217;s A20 Pro, in upcoming newsletter articles. We&amp;#8217;re throwing some teasers on X. Let&amp;#8217;s compare Samsung SF2&amp;#8217;s MBCFET with Intel 18A&amp;#8217;s RibbonFET.&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even to the untrained eye, Intel&amp;#8217;s extra nanosheet is obvious. Intel stacks four ribbons to Samsung&amp;#8217;s three. Samsung&amp;#8217;s sheets are much wider in these fields, so both sheet count and width matter to the available channel perimeter. Sheet width also changes which silicon surfaces carry current. On conventional (001) silicon, wide nanosheets emphasize the broad top and bottom surfaces, favoring electron transport; the larger sidewall contribution in a narrow sheet favors hole transport. Thinner sheets improve gate control but increase confinement and scattering. This makes width and thickness part of the NMOS/PMOS balance, alongside strain and threshold voltage. &lt;/span&gt;[18], [19]&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;GAAFET designs like 18A use different work-function-metal (WFM) stacks for NMOS and PMOS. Around each ribbon, a thin SiOx interfacial layer separates the silicon channel from the HfOx high-k dielectric, with La providing dipole tuning and the WFM wrapping the dielectric. NMOS uses a TiAl-based stack, while PMOS uses TiN WFM. W fills the remaining gate trench, providing a lower-resistivity path where the work-function layers are no longer needed. In this field, the PMOS stacks leave room for W between ribbons, while the NMOS stacks occupy more of those gaps. A silicon-based dielectric marks the P/N boundary, allowing the PMOS and NMOS gates, sharing the same gate trench, to be processed sequentially.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Fast logic paths, retention circuits, and SRAM need a family of threshold options. Changing threshold without substantially changing device dimensions, capacitance or fabrication complexity is valuable. FinFET processes typically use different work-function-metal stacks. In a four-ribbon GAA stack, the narrow sheet-to-sheet gap limits how much WFM can fit around each channel. La in the gate dielectric creates interfacial dipoles at the SiOx/HfOx boundary, shifting effective work function and tuning threshold voltage. This gives Intel another control alongside its NMOS and PMOS WFM stacks. Low-threshold devices improve critical-path drive; higher thresholds reduce leakage elsewhere. Dipole tuning is especially useful in GAA because it changes threshold without consuming the narrow intersheet gap with thicker WFM.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Precise control of La incorporation, diffusion and interface quality has long been a challenge, limiting viability in high volume production but is now seen from every leading-edge foundry. Intel&amp;#8217;s patent describes depositing a dipole-forming oxide above HfOx and annealing it toward the interfacial oxide before completing the work-function and fill metals. This separates threshold tuning from the space available for metal. Newer research addresses the thermal cost: imec&amp;#8217;s 2026 dipole-middle research inserts the shifter between two HfO&lt;/span&gt;&lt;sub&gt;&lt;span&gt;x&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; depositions, shortening the diffusion path while protecting SiO&lt;/span&gt;&lt;sub&gt;&lt;span&gt;x&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; during patterning. &lt;/span&gt;[20], [21]Matched-cut EDS, Intel 18A (left) vs. Samsung SF2 (right). &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zMTv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3325ca6-4a44-4e9a-ae33-69ba59f57406_2832x2486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1278" src="https://substackcdn.com/image/fetch/$s_!zMTv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3325ca6-4a44-4e9a-ae33-69ba59f57406_2832x2486.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Top: sheet cuts, Intel P-core logic and the Samsung logic field labelled CU. Bottom: gate cuts, Intel P-core logic and Samsung NPU logic. Cut directions are matched; cell functions and drive targets differ. Scale bars per panel. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel retains raised source/drain epi beneath its contacts, while Samsung recesses W deep into the epi to form a V-shaped Ti-lined interface. The deeper contact increases metal-to-semiconductor area and shortens the current path from the lower sheets, reducing contact and spreading resistance. It also removes epi volume and brings the contact etch closer to the channel ends. Retaining more epi preserves the material available for strain transfer, especially from SiGe into PMOS. These geometries balance contact access against stress engineering and etch margin. [22], [23]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Samsung stacks three sheets to Intel&amp;#8217;s four ribbons, and both processes use sheet width to tune drive strength. In our Samsung cross-sections, widths range roughly from 19 to 30 nm in the NPU rows and 37 to 50 nm in the CU cell. The Samsung nanosheets taper, with the widest sheet at the bottom and the narrowest at the top. Both processes use HfOx gate dielectric and Ti-based work-function stacks, with Al in the NMOS stack. In the Samsung devices shown here, the dielectric and WFM occupy the intersheet gaps, leaving W above the top sheet. Intel&amp;#8217;s PMOS stack leaves more room between ribbons, and W fills those gaps while the thicker NMOS stack leaves W mainly in the upper trench. &lt;/span&gt;Gate-stack EDS maps. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!a7Zl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c00f05f-2aaf-43ea-8718-d2a616b3d5d0_6076x2424.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="581" src="https://substackcdn.com/image/fetch/$s_!a7Zl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c00f05f-2aaf-43ea-8718-d2a616b3d5d0_6076x2424.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Top: Intel 18A P-core logic. Bottom: Samsung SF2 CU logic. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The W between Intel&amp;#8217;s PMOS ribbons provides a conductive path close to the lower gates. Where WFM fills the entire gap, the gate still surrounds the channel, but voltage reaches it through the more resistive work-function films. Thinner WFM and dipole tuning preserve room for low-resistivity fill; Mo and Ru are alternative fill metals being developed for further scaling. [24]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A masked, sequential WFM flow explains the different gate heights and inter-nanosheet fill. The proposed sequence below shows how separate NMOS and PMOS work-function steps produce that geometry.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NB05!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F041768b6-ca30-4eba-8a2d-f9e786e10cba_1260x1165.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1165" src="https://substackcdn.com/image/fetch/$s_!NB05!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F041768b6-ca30-4eba-8a2d-f9e786e10cba_1260x1165.png" width="1260" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Proposed Intel 18A NMOS and PMOS WFM integration sequence. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Enabled by the BSPDN process, Intel replaces the dense-logic silicon subfin with dielectric, removing the parasitic conduction path below the ribbons and reducing substrate-related capacitance. A retained silicon body as in classical, non-SOI, planar and FinFET designs needs junction and punchthrough-stop engineering to suppress leakage. Dielectric isolation makes that leakage less sensitive to the subfin doping profile but adds removal and fill steps. It also weakens the direct thermal path through silicon, making the contacts, metal stacks and package more important for heat extraction. [24], [26]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Fluorine is concentrated around selected Intel device structures in the maps. WF&lt;/span&gt;&lt;sub&gt;&lt;span&gt;6&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; is a standard precursor for W nucleation and fill, while barrier films protect adjacent dielectrics from fluorine attack. Low-fluorine W processes reduce the residual-F burden. Chloride-based precursors avoid introducing F during W deposition, but require control of chlorine attack, nucleation and fill quality. The integration target is a continuous, low-resistance W path with a thin protective liner and minimal chemical damage to the surrounding stack. [20], [27], [28]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DiW4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13daab3-c017-4c12-a531-a91839c58c3f_1435x2196.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2196" src="https://substackcdn.com/image/fetch/$s_!DiW4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13daab3-c017-4c12-a531-a91839c58c3f_1435x2196.png" width="1435" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Proposed GAAFET Process Flow. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;Library analysis&lt;/h1&gt;&lt;p&gt;We measured cell height, gate pitch, metal geometry, and ribbon dimensions at the XTEM sites shown below. The tables group these dimensions by site and device polarity. Our &amp;#8220;sheet cuts&amp;#8221; cross the silicon channel and show the ribbons end-on. &amp;#8220;gate cuts&amp;#8221; run along the channel through successive gates.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gqg5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca26391-75aa-4ca5-ba84-b3c047155b38_1666x1712.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1496" src="https://substackcdn.com/image/fetch/$s_!gqg5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca26391-75aa-4ca5-ba84-b3c047155b38_1666x1712.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;em&gt;Measured library dimensions. *Intel 18A PDK provides M0 pitch of 32 nm, but Panther Lake HP libraries shipped at 36 nm, **3rd party discolsures. Source: SemiAnalysis&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The 18A logic cell dimensions point to a five-track logic library while the N3E and Intel 3 cell dimensions evidence a seven-track logic library. The DDR-PHY uses wider M0 wires and much larger spacing than core logic. That trades routing density for lower wire resistance and weaker coupling between neighboring nets. The geometry suits the current delivery and coupling requirements of analog, clock, and I/O circuitry.&lt;/p&gt;&lt;p&gt;PowerVia lets 18A combine a compact cell height with wider M0 geometry by moving the main power rails off the signal-routing tracks. That relaxes local wire scaling while preserving a small cell footprint. Cell height and gate pitch set the geometric density; pin access and routability determine how much of it a real block can use. [29]&lt;/p&gt;&lt;p&gt;&lt;span&gt;The biggest takeaway from our gate-pitch measurements is that Intel 18A compute logic and TSMC N3E GPU logic have similar density in the Bohr representative-cell model. The 18A example is 18.6% denser than the Intel 3 GPU example. Gate pitches are nearly identical across the three sites, so cell height drives most of the difference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The Bohr model combines a four-transistor NAND2 spanning three gate pitches and a 32-transistor scan flip-flop (SFF) spanning nineteen pitches, weighting their densities 60:40. The sensitivity column shows how independently changing cell height and gate pitch by &amp;#177;1 nm changes the result. This compares representative cell geometries; whole-die density also depends on cell mix and placement.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!wUqw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8012b4b-76c8-4ed5-b7c5-a0ffb9b953a3_1809x445.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="358" src="https://substackcdn.com/image/fetch/$s_!wUqw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8012b4b-76c8-4ed5-b7c5-a0ffb9b953a3_1809x445.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Representative-cell density and input sensitivity. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The 18A P-core gives M0 substantially more metal cross section than the N3E vector engine. Treating each profile as a trapezoid gives 2.63 times the area per line and 1.84 times the area after normalization by routing pitch. The larger section reduces the geometric contribution to line resistance and lowers current density for a given current. Taller and wider wires also add capacitance, so circuit delay depends on the balance of resistance and capacitance. The DDR-PHY has less metal area per routing width than the 18A core fields, while remaining above N3E. [30]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g5dH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e3fd4d0-e346-4acb-831f-238795842d53_1274x349.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="349" src="https://substackcdn.com/image/fetch/$s_!g5dH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e3fd4d0-e346-4acb-831f-238795842d53_1274x349.png" width="1274" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;M0 cross-section geometry. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Area = height &amp;#215; (top CD + bottom CD) / 2, including liners. Area/pitch normalizes by routing width. Taper is the symmetric sidewall angle from vertical, with the largest angle belonging to the DDR-PHY.&lt;/p&gt;&lt;h2&gt;Compute tile&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9PH4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c91f14b-ede6-4f5a-ba74-17cbcdf9dd14_2895x2009.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1010" src="https://substackcdn.com/image/fetch/$s_!9PH4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c91f14b-ede6-4f5a-ba74-17cbcdf9dd14_2895x2009.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Compute-tile XTEM sampling locations. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The measurements show how ribbon dimensions and gate-stack geometry vary across the compute tile and between NMOS and PMOS to balance channel drive, gate load and the space needed for the dielectric/WFM stack across logic, SRAM and the DDR-PHY. Width mainly changes available channel perimeter; thickness also changes electrostatic control and carrier confinement. Gate-stack thickness then determines the space left for low-resistivity fill&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5Pha!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52a1dad6-3279-42de-abb4-14c9de265f01_1710x606.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="516" src="https://substackcdn.com/image/fetch/$s_!5Pha!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52a1dad6-3279-42de-abb4-14c9de265f01_1710x606.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Ribbon dimensions. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;P-core and LP E-core logic&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Both the P-core and LP E-core use multiple nanosheet widths. Widths are measured on high-magnification XTEMs while wider-field images demonstrate additional width choices within the LP E-core. Multiple widths are expected even within an LP E-core. Timing-critical paths, buffers and cells with different fanout need different drive strengths. The lower-magnification fields show this width diversity beyond the sites quantified in the table.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;L2 and L3 SRAM&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;GAA gives SRAM designers another way to balance the pull-up (PU), pass-gate (PG), and pull-down (PD) transistors. FinFET bitcells set device strength through fin count while GAA adds nanosheet width as a sizing knob. In a 6T SRAM cell, a strong pull-down relative to the pass-gate limits read disturbance, while a strong pass-gate relative to the pull-up improves writability. During a write, the pass-gate and write driver pull the node storing &amp;#8220;1&amp;#8221; below the inverter trip point. During a read, the pull-down holds the node storing &amp;#8220;0&amp;#8221; low. Bias, threshold voltage, mismatch and assist circuitry set the remaining margin. FinFET high-current cells commonly use a PU:PG:PD fin-count pattern of 1:2:2, a device-sizing ratio rather than a current ratio.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!F-4E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290da0e9-8b7f-4f12-b480-2dfc9f6b3db6_1488x655.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="641" src="https://substackcdn.com/image/fetch/$s_!F-4E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290da0e9-8b7f-4f12-b480-2dfc9f6b3db6_1488x655.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A SRAM bitcell features. Source: Intel, ISSCC 2025 (&amp;#169; IEEE). [31]&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ribbon width lets Intel balance SRAM strengths without adding whole fins. The L2 cell uses its narrowest ribbons for PU and widest for PD, improving writability and read stability respectively. Intel&amp;#8217;s disclosed HCC operates without assist; its denser HDC uses negative-bitline write assist. Pulling the selected bitline briefly below ground increases pass-gate overdrive so it can overpower the pull-up at lower supply voltage. That buys density and low voltage writability at the cost of boosting circuitry, switching energy, and additional voltage stress that must be controlled. [31], [32]&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;Four rectangular ribbons give the perimeter = 8 &amp;#215; (width + thickness), before corner rounding. PG/PU is 1.49 and PD/PG is 1.16.&lt;/p&gt;&lt;p&gt;The L3 structures closely resemble L2 in layout and cell height. Fewer L3 nanosheet widths are tabulated because fewer high-magnification images were available.&lt;/p&gt;&lt;h3&gt;DDR PHY&lt;/h3&gt;&lt;p&gt;The DDR-PHY trades density for controlled analog behavior and reliable off-chip signaling. It contains drivers, receivers, delay circuits, and calibration logic that set drive strength, sampling time, and voltage margin. Repeated four-sheet devices with similar widths fit the use of regular transistor units for matching and programmable drive. Its wider local wiring provides room for current delivery and separation of sensitive signals, while consuming more area than a dense core-logic grid. The layout serves the memory channel&amp;#8217;s electrical requirements as well as digital logic density. [33]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iEvK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d6334e-d412-47d4-bfa8-65653b442347_2048x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!iEvK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d6334e-d412-47d4-bfa8-65653b442347_2048x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;DDR PHY. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h3&gt;Intel 3 GPU devices&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2aab!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F066f4605-8131-4de5-8f71-ab74b69a0568_2465x1290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="762" src="https://substackcdn.com/image/fetch/$s_!2aab!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F066f4605-8131-4de5-8f71-ab74b69a0568_2465x1290.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 3 GT1 GPU: sampling locations and device fields. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;Vector engine logic&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Intel 3&amp;#8217;s XVE logic uses two-fin PMOS and NMOS devices with power rails in M0. Its cell height and M0 pitch give a seven-track geometry, two tracks more than the 18A logic. One-fin groups also appear among the two-fin devices.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;Intel 3 L2 SRAM&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The Intel 3 L2 SRAM uses the familiar HCC sizing pattern: one PU fin, two PG fins, and two PD fins.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mk0v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cfdec65-5e08-46de-a569-ec139002c164_2068x2068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!Mk0v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cfdec65-5e08-46de-a569-ec139002c164_2068x2068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 3 L2 SRAM. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;N3E GPU devices&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RiVn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc1dd16-e652-4654-812d-30661fad6a5c_2525x2231.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1286" src="https://substackcdn.com/image/fetch/$s_!RiVn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc1dd16-e652-4654-812d-30661fad6a5c_2525x2231.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;N3E GT2 GPU sampling locations. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;Vector engine logic&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8f0A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb36ce4c2-ce55-4f6d-ab60-5ab48bb15b30_2068x2068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!8f0A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb36ce4c2-ce55-4f6d-ab60-5ab48bb15b30_2068x2068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;N3E vector-engine logic cross-section. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The N3E XVE field contains repeated two-fin devices with seven-track cell geometry. N3E remains a FinFET process, giving Panther Lake a direct FinFET-to-RibbonFET comparison.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;N3E L2 SRAM&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The N3E L2 SRAM uses the same PU:PG:PD fin-count pattern of 1:2:2.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jseK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24a24b3-f827-4b29-ac49-2f067db39f61_2068x2068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!jseK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24a24b3-f827-4b29-ac49-2f067db39f61_2068x2068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;N3E vector-engine logic cross-section. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Floorplan analysis&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!x4aK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377bc2eb-a382-4a12-9fcb-fc2f2efed37a_5022x1948.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="565" src="https://substackcdn.com/image/fetch/$s_!x4aK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377bc2eb-a382-4a12-9fcb-fc2f2efed37a_5022x1948.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel Lunar Lake (left) and Panther Lake-U (right) floorplans. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Panther Lake-U follows Lunar Lake&amp;#8217;s floorplan quite closely. Both pair 4 P-cores with 4 LP E-cores and NPU, media and display engines in similar locations. Lunar Lake also uses Xe2, the direct predecessor to Panther Lake&amp;#8217;s Xe3 GPU. This makes Lunar Lake the most direct basis for our comparisons. Arrow Lake differs in core count and uses the older Xe-LPG GPU architecture, so we only use it where it offers a more direct component-level comparison.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zMYE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe85ce992-989f-48e9-a8f1-4a588c2ea798_1712x804.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="684" src="https://substackcdn.com/image/fetch/$s_!zMYE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe85ce992-989f-48e9-a8f1-4a588c2ea798_1712x804.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake, Panther Lake 8-core, Panther Lake 16-core/12-Xe, and Arrow Lake-H configurations. Source: Intel&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Compute tile&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Panther Lake compute-tile floorplans remain sparse even months after launch.&lt;span&gt; &lt;/span&gt;Intel 18A&amp;#8217;s backside metal and dielectric stack must be removed without damaging the underlying structures before a clean transistor-level floorplan can be imaged. Most published die shots hide or heavily process the background, but we are quite proud of the die shot we achieved and are excited to show the work we have done.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Pw1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55cad0f3-f2e4-4f5a-b607-9311fececde7_2476x2082.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1224" src="https://substackcdn.com/image/fetch/$s_!Pw1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55cad0f3-f2e4-4f5a-b607-9311fececde7_2476x2082.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Annotated Panther Lake-U 4+0+4 compute tile. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We measured the areas of the key components on the compute tile and compared them with their Lunar Lake predecessors on TSMC N3B. These help us to capture changes in block area and compare the two chips across process nodes and designs.&lt;/p&gt;&lt;p&gt;Our total tile areas exclude the scribe-line area. The compute-plus-GPU subtotal below uses the PTL-U compute tile and GT1 GPU; it excludes the I/O tile and passive base. Individual block areas use the boundaries marked on the floorplans&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!z_1g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78ff7a-30a1-4bb6-91bf-56f3859e9a87_1600x1589.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1446" src="https://substackcdn.com/image/fetch/$s_!z_1g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78ff7a-30a1-4bb6-91bf-56f3859e9a87_1600x1589.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake 4+0+4 compute-tile areas compared with Lunar Lake. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The compute-plus-GPU row is recomputed from the displayed PTL-U and GT1 areas. Component rows use their stated per-region counts and are not an additive partition of the whole tile.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o5gM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01032afd-9c69-4b3d-a103-26a24e01ae21_2386x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!o5gM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01032afd-9c69-4b3d-a103-26a24e01ae21_2386x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake Lion Cove (left) vs Panther Lake Cougar Cove (right) P-cores. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The P-core area remains almost unchanged between Lunar Lake and Panther Lake, despite L2 capacity increasing from 2.5 MiB to 3 MiB. Arrow Lake uses the same Lion Cove core as Lunar Lake but also has a 3 MiB L2. Cougar Cove fits 20% more L2 into the same P-core area. The larger private cache keeps more of each core&amp;#8217;s working set close to its execution units, reducing access to shared L3 and DRAM. Extra capacity adds storage leakage and lookup energy, so designers balance it against avoided lower-level accesses. The shared P-core L3 cache also shrank by 14.8%. [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Cougar Cove combines a similar footprint with Intel&amp;#8217;s reported power-efficiency improvements. RibbonFET&amp;#8217;s tighter channel control reduces leakage, while PowerVia reduces supply droop and allows tighter voltage guardbands. [1]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zopf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30fe82f2-6be2-4de2-88bc-f57b6c47914d_2729x1466.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="782" src="https://substackcdn.com/image/fetch/$s_!zopf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30fe82f2-6be2-4de2-88bc-f57b6c47914d_2729x1466.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake Skymont (left) and Darkmont (right) LP E-core clusters. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Darkmont&amp;#8217;s four-core LP E-core cluster is 5.0% smaller than Skymont&amp;#8217;s on Lunar Lake, with most of the reduction in its L2 regions. The 1 MiB region shrank by 8.4% and the 1.5 MiB region by 14.9%. The tag arrays also use one fewer visible row. Tags identify which memory addresses the data array holds, so rearranging them changes the cache&amp;#8217;s layout and wiring without requiring less data capacity. [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The LP E-cores share one L2. This pools capacity and avoids duplicating all the cache machinery, but the four cores contend for its banks and bandwidth. Their separate cluster also keeps light work away from the performance cluster and its L3, allowing that larger domain to sleep. [1], [2]&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cache area includes more than the storage cells. Tags identify each line, decoders select rows, sense amplifiers read the small bitline signal, and wires connect to the banks. Splitting an array into smaller sections shortens wordlines and bitlines, improving access speed, but duplicates peripheral circuits. Panther Lake&amp;#8217;s smaller cache regions therefore reflect the complete memory implementation, including how much of each region is devoted to storage. [34]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Unlike Meteor Lake and Arrow Lake, Panther Lake has no separate SoC tile. The NPU, LP E-cores, memory controllers, PHYs, media and display engines now share the compute tile. This removes an active die and keeps CPU memory traffic on one die. The cost is moving PHY and I/O-related circuitry onto 18A: drivers, receivers and analog circuits must still meet external voltage, loading and signal-integrity requirements, so their area does not shrink like dense digital logic. [1], [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The biggest shrink comes from the NPU, which occupies 36.9% less area. NPU 5 consolidates the same total INT8 MAC count into half as many neural compute engines. Each of the three NCEs has a larger MAC array to make the complete NCE envelope 22.6% larger than an NPU 4 engine. Consolidation also halves the number of scratchpads and SHAVE DSPs, from 12 to 6. The MAC array handles matrix multiplication and convolution, while SHAVE executes vector and custom operations that fit the array poorly. [1], [2], [35]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Yxkt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bff1891-aabd-4e2d-9358-45793075a886_2382x1433.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="876" src="https://substackcdn.com/image/fetch/$s_!Yxkt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bff1891-aabd-4e2d-9358-45793075a886_2382x1433.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake NPU 4 (left) vs Panther Lake NPU 5 (right). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The paired floorplans identify each NCE envelope and its scratchpad, MAC, and SHAVE regions. Each measured MAC polygon is counted once per NCE in the area accounting below.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!ad_T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1093cf-6bcd-44e8-aec5-a96f4f15de77_1664x393.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="344" src="https://substackcdn.com/image/fetch/$s_!ad_T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1093cf-6bcd-44e8-aec5-a96f4f15de77_1664x393.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;NPU area savings from the measured floorplan regions. Child regions are included in the NCE subtotal. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The scratchpads store weights, activations, and intermediate results near the MAC arrays, allowing repeated use without fetching them again from DRAM. Halving their number delivers the largest measured area saving but leaves less local storage for the same total MAC count. Layers that no longer fit locally require smaller working tiles or more transfers of intermediate data. The benefit depends on keeping the enlarged arrays busy while managing that tighter storage budget. [36]&lt;/p&gt;&lt;p&gt;&lt;span&gt;NPU 5 also adds native FP8. Using half the operand width of FP16 reduces storage and transfer demand, helping workloads fit the smaller local memory budget. Lower precision and format-dependent range make scaling and model validation part of deployment. Hardware activation functions further reduce work that would otherwise occupy the programmable DSPs. [1], [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Microsoft requires an NPU to deliver at least 40 TOPS for Copilot+ PCs. Both Lunar Lake and Panther Lake meet this threshold, but Panther Lake uses significantly less silicon.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;GPU tiles&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Panther Lake is Intel&amp;#8217;s first product with Xe3, its latest GPU architecture. It offers two different GPU tiles: a smaller GT1 tile with 4 Xe3 cores on Intel 3 and a larger GT2 tile with 12 Xe3 cores on TSMC N3E.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Panther Lake allows us to compare the same GPU architecture across both Intel 3 and TSMC N3E. Wildcat Lake adds a third Xe3 implementation on Intel 18A. &lt;/span&gt;A future newsletter will detail&lt;span&gt; Xe3 and its implementation differences across all three process nodes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VErO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b74ae9-3a90-41c4-b954-42d368f939de_1906x981.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="749" src="https://substackcdn.com/image/fetch/$s_!VErO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b74ae9-3a90-41c4-b954-42d368f939de_1906x981.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8gce!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a70b129-6de6-4449-8e5a-cac7b7a99c10_1761x1475.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1220" src="https://substackcdn.com/image/fetch/$s_!8gce!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a70b129-6de6-4449-8e5a-cac7b7a99c10_1761x1475.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel Panther Lake GT1 (Intel 3, 4 Xe cores) and GT2 (TSMC N3E, 12 Xe cores) GPU tile floorplans. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;GT2 scales Xe3 to a different physical layout, with render slices arranged vertically instead of GT1&amp;#8217;s horizontal arrangement. Slice placement sets the distances to shared cache banks and the D2D interface. Those wires consume area and add delay, so scaling the number of Xe cores also requires a new balance of cache placement, routing and timing. [1]&lt;/p&gt;&lt;p&gt;&lt;span&gt;What&amp;#8217;s immediately obvious is that the GT2 tile on TSMC N3E has much smaller Xe cores than GT1. These block areas include logic, caches, and routing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M_4N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34458780-2d3f-4f4f-b8f1-f0992b0a1dc8_1600x489.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="445" src="https://substackcdn.com/image/fetch/$s_!M_4N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34458780-2d3f-4f4f-b8f1-f0992b0a1dc8_1600x489.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake GPU tile area comparison with Lunar Lake. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;An Xe core on the GT1 tile is ~69% larger than one on Lunar Lake, and ~55% larger than one on GT2. Intel 3 therefore uses substantially more area per Xe core. The block-area gap exceeds the measured logic and SRAM density gaps, bringing routing, timing targets, cell mix, and floorplan allocation into the comparison.&lt;/p&gt;&lt;p&gt;The measured vector/matrix engine region is almost unchanged between Lunar Lake and Panther Lake&amp;#8217;s GT2 tile. Xe3 retains eight 512-bit vector engines and eight 2048-bit XMX engines per core. Its gains also come from feeding those engines more effectively: more resident threads hide stalls, and variable register allocation lets shaders trade registers per thread against the number of threads kept active. [1]&lt;/p&gt;&lt;p&gt;The shared L1/SLM capacity increased by 33% from 192 KiB to 256 KiB, while its area increased only 5%, raising effective density by 27%. L1 retains reused cache lines, while software-managed SLM lets a thread group share data locally. Both reduce traffic to more distant memory. Allocating more SLM per group can also limit how many groups reside on a core at once. [1], [37]&lt;/p&gt;&lt;p&gt;&lt;span&gt;The GT1 tile carries 4 MiB of L2 against 16 MiB on the GT2 tile. GT1 divides its L2 cache into four 1 MiB banks, while GT2 uses eight 2 MiB banks. Each bank contains 128 macros, but each N3E macro stores 16 KiB, twice the Intel 3 macro&amp;#8217;s 8 KiB capacity. The N3E macro is only 54% larger while holding twice as many bits, giving it 30% higher density: ~23.7 Mbit/mm&amp;#178; versus 18.3 Mbit/mm&amp;#178;. Including bank-level circuitry, the gap widens to ~16.9 Mbit/mm&amp;#178; on GT2 versus ~10.4 Mbit/mm&amp;#178; on GT1.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!mP_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856024b-1cd3-4088-9ac2-b8b0ef954918_1600x329.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="299" src="https://substackcdn.com/image/fetch/$s_!mP_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856024b-1cd3-4088-9ac2-b8b0ef954918_1600x329.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake Intel 3 (GT1) and TSMC N3E (GT2) area comparison. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;GT2 gains density with its macros storing more bits per unit area, and those macros occupy more of each cache bank. Larger macros spread decoder and sense-amplifier overhead across more storage, while a more compact bank layout reduces the share spent on control and routing. The compromise is longer wordlines and bitlines that carry more capacitance. [34]&lt;/p&gt;&lt;h2&gt;&lt;span&gt;I/O tile&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Panther Lake uses two I/O tile variants, both fabricated on TSMC N6. The smaller one provides 4 PCIe 5.0 and 8 PCIe 4.0 lanes and serves lower-tier systems as well as those without a discrete GPU, while the larger one adds 8 PCIe 5.0 lanes, bringing the total to 20 lanes, for discrete-GPU connectivity. Panther Lake SKUs with the larger 10- or 12-Xe GPUs use the smaller I/O tile. [38]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RAyF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea5fd8fb-d7d4-4a0d-bc3b-61a71e59325a_1909x615.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="469" src="https://substackcdn.com/image/fetch/$s_!RAyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea5fd8fb-d7d4-4a0d-bc3b-61a71e59325a_1909x615.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake 12-lane I/O tile floorplan. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The smaller I/O tile adds a PCIe 4.0 block and a Thunderbolt block to Lunar Lake&amp;#8217;s I/O layout, providing four additional PCIe 4.0 lanes and another Thunderbolt 4 port. Its repeated N6 blocks retain nearly identical areas and layouts. Reusing these proven PHYs and controllers avoids porting and requalifying external interfaces on 18A, where faster digital logic offers less benefit to circuits constrained by the off-chip link. [38]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!A0l4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe504db0a-5851-45f8-8c27-8cc96a0ac5fe_1600x655.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="596" src="https://substackcdn.com/image/fetch/$s_!A0l4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe504db0a-5851-45f8-8c27-8cc96a0ac5fe_1600x655.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake 12-lane I/O tile area comparison with Lunar Lake. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;SemiAnalysis&amp;#8217;s teardown lab (STEEL) dives deep &lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;into the world&amp;#8217;s advanced datacenter and AI hardware. To learn more &lt;/strong&gt;&lt;em&gt;&lt;strong&gt;about &lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;our pipeline or to commission a &lt;/strong&gt;&lt;em&gt;&lt;strong&gt;teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;&lt;span&gt;sales@semianalysis.com&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;We&amp;#8217;re hiring technical experts from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;&lt;span&gt;Careers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; page.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;Foveros-S&lt;/h1&gt;&lt;p&gt;Panther Lake offers scalability and modularity through its disaggregated packaging that partition compute, GPU, and I/O silicon into separate tiles allowing for a suite of tile configurations. This partitioning makes the package part of Intel&amp;#8217;s node economics as it determines how much leading-edge wafer area each product consumes, which functions can remain on other processes, and how much configuration freedom Intel can offer from a shared set of tiles.&lt;/p&gt;&lt;p&gt;Furthermore, fabricating the compute and GPU tiles separately confines the new 18A process to the compute tile and allows graphics and I/O to use other, more established, and more cost-effective processes. For Panther Lake, the GPU and I/O tiles are assembled alongside the compute tile on a passive silicon base using Foveros-S.&lt;/p&gt;&lt;p&gt;Intel&amp;#8217;s current technology brief lists a nominal 36 &amp;#181;m pitch for Foveros-S. Through-silicon vias (TSVs) in the base connect the fine wiring above to the larger package connections below. The functional tiles sit side by side on that passive base in a 2.5D configuration. [39]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ufv2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a11c35f-101e-404d-815d-f75ba672170b_1216x503.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="503" src="https://substackcdn.com/image/fetch/$s_!ufv2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a11c35f-101e-404d-815d-f75ba672170b_1216x503.png" width="1216" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Foveros-S package schematic: active tiles connect through microbumps to a passive silicon base. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Our cross-section through the compute and GPU tiles shows the package&amp;#8217;s wiring hierarchy. Microbumps connect each active tile to the passive silicon base; its fine redistribution layer (RDL) carries the short, dense tile-to-tile links. TSVs carry connections through the base to the package substrate, which fans them out to the much coarser motherboard solder joints. The base supplies interconnect, while computation remains in the active tiles above it. [39]&lt;/p&gt;&lt;p&gt;At the compute-tile edge, the higher-magnification inset shows a local microbump spacing of approximately 25.24 &amp;#181;m and a feature width of 12.33 &amp;#181;m.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8jFH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a5b31b-6002-4da0-81f7-9903e64f7648_4892x1572.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="468" src="https://substackcdn.com/image/fetch/$s_!8jFH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a5b31b-6002-4da0-81f7-9903e64f7648_4892x1572.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake package cross section through the compute and graphics tiles. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8nXN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2135ac47-dab7-4b8b-9ed3-a74786ec0c5e_2852x2102.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1073" src="https://substackcdn.com/image/fetch/$s_!8nXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2135ac47-dab7-4b8b-9ed3-a74786ec0c5e_2852x2102.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake top-down image showing where the cross-section was taken. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;These local spacings are finer than Intel&amp;#8217;s nominal Foveros-S value. The X-ray fields further confirm tighter neighboring bumps, consistent across every die-to-die area found on each tile. Additional X-ray analysis is offered after the paywall. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o_HE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b3cb654-3821-4b60-8d79-1b1810a6af47_688x362.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="362" src="https://substackcdn.com/image/fetch/$s_!o_HE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b3cb654-3821-4b60-8d79-1b1810a6af47_688x362.png" width="688" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;GPU D2D region with annotated local neighbor separations. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Putting the memory controller beside the CPU removes the D2D transfer that CPU memory requests required in Meteor Lake and Arrow Lake. This avoids the extra transmitter, receiver, and link traversal, saving interface energy and latency. Panther Lake&amp;#8217;s separate GPU still crosses a D2D link to reach DRAM, so its larger local caches also help contain package traffic. [1], [40]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Smaller dies are less likely to contain a random fatal defect, and screening them before assembly prevents one bad tile from consuming a complete package of good silicon. Reuse also spreads design and qualification work across more products. Against those gains, Intel pays for the passive base, D2D circuits, extra bonding and test steps, and losses during assembly. Cost per working product across the portfolio captures the combined effect of wafer yield, reuse, test, and assembly. [29]&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Wildcat Lake packaging&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Intel launched Core Series 3, formerly Wildcat Lake, on 16 April 2026 for value mobile and edge systems. Wildcat Lake keeps 18A but removes the passive base and combines more functions on one die to simplify the package. The two products therefore reveal two distinct ways to commercialize the same leading-edge process. [41]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!qPFK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8585318-1938-4fab-b4eb-a7176d587e1f_1664x384.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="336" src="https://substackcdn.com/image/fetch/$s_!qPFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8585318-1938-4fab-b4eb-a7176d587e1f_1664x384.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake vs Wildcat Lake Packaging. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Wildcat Lake&amp;#8217;s 18A die combines up to two Cougar Cove P-cores, four Darkmont LP E-cores, two Xe3 cores and a smaller NPU. A separate platform-controller die supplies I/O, connected through UCIe, Intel&amp;#8217;s first processor implementation of the standard. Consolidating graphics remove a tile boundary and the passive base, reducing assembly complexity for a modest-bandwidth value product. It also ties CPU and graphics scaling to the same die, giving up Panther Lake&amp;#8217;s ability to swap in a much larger GPU. [42], [43]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!O1Oy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb5655a5-b55b-46d4-898c-f192d0abed89_5569x5697.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1489" src="https://substackcdn.com/image/fetch/$s_!O1Oy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb5655a5-b55b-46d4-898c-f192d0abed89_5569x5697.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Wildcat Lake Die Shot. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Intel&amp;#8217;s manufacturing recovery&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;In July 2021, Intel CEO Pat Gelsinger set out an ambitious process roadmap aimed at regaining performance leadership by 2025, later described as five nodes in four years. Five years and one CEO later, Intel&amp;#8217;s comeback story is not as unambiguously positive as Pat may have hoped. [44], [45]&lt;/p&gt;&lt;p&gt;Intel once set the pace for process technology, bringing high-k metal gate technology and FinFETs into volume production years ahead of the rest of the industry. Its 22 nm FinFET process reached consumers with Ivy Bridge in 2012. [46] Intel&amp;#8217;s integrated device manufacturing (IDM) model allowed its architects and process engineers to co-optimize products and processes. Starting with Sandy Bridge, Intel dominated x86, while AMD struggled with Bulldozer.&lt;/p&gt;&lt;p&gt;&lt;span&gt;That lead faltered at 14 nm and broke at 10 nm. Intel targeted a massive 2.7&amp;#215; density increase, but the node arrived years late and required several revisions before it could support Intel&amp;#8217;s full lineup. This delay forced Intel to stretch 14 nm across six generations, while TSMC moved ahead in process technology and AMD recovered in x86.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;By 2019, Intel was still shipping 14 nm across most of its product stack, with its 10 nm client ramp focused on Ice Lake mobile processors. Meanwhile, TSMC was shipping N7 and N7+, and AMD&amp;#8217;s Zen 2 compute chiplets used N7 to raise core counts and improve efficiency.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel&amp;#8217;s process failures were central to its decline, but unsound business decisions furthered their downward slide. Product delays compounded product mistakes, pushing client, server, and FPGA roadmaps off schedule. Several attempts to enter AI (Nervana and Gaudi) and networking (Tofino) also failed to establish lasting businesses.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Intel&amp;#8217;s recovery has focused on consumer CPUs and advanced packaging. Tiger Lake, Alder Lake, Lunar Lake and now Panther Lake have restored Intel&amp;#8217;s consumer roadmap. On the process side, Intel 4 shipped with Meteor Lake, Intel 3 with Granite Rapids and Sierra Forest, and Intel 18A with Panther Lake. Intel has also made advanced packaging part of its foundry offering. However, Intel is still playing catch-up in servers. Several Xeon generations arrived years late and trailed contemporary AMD and Arm server CPUs in performance, efficiency, and core count. The process roadmap is back, but Intel does not hold the same process-technology leadership position it held prior to 10 nm.&lt;/p&gt;&lt;p&gt;The introduction of gate-all-around nanosheets and backside power delivery are two of the biggest changes to transistor integration in a decade. Intel took on both changes at once: 18A paired its first RibbonFET with PowerVia in Panther Lake.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Panther Lake is a substantial manufacturing milestone. Our cross-sections show how RibbonFET and PowerVia reshape local contacts and wiring, while the floorplans show where architectural consolidation and process choices save area. A sustained competitive lead depends on product performance, cost, yield, and the next implementation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;span&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;References&lt;/h1&gt;&lt;p&gt;&lt;span&gt;[1] Intel, &amp;#8220;Intel Tech Tour 2025 Panther Lake recap,&amp;#8221; Doc. 866361, 2025. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/866361/ITT_2025_Panther_Lake_Recap1.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/866361/ITT_2025_Panther_Lake_Recap1.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[2] Intel, &amp;#8220;Core Ultra processors Series 3 datasheet, volume 1,&amp;#8221; Doc. 872188-001, Jan. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/872188/872188-001.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/872188/872188-001.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[3] N. Horiguchi and E. Beyne, &amp;#8220;Backside power delivery: How to power chips from the backside,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;imec Reading Room&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Nov. 25, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.imec-int.com/en/articles/how-power-chips-backside"&gt;&lt;span&gt;https://www.imec-int.com/en/articles/how-power-chips-backside&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[4] W. Hafez &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Intel PowerVia technology: Backside power delivery for high density and high-performance computing,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. IEEE Symp. VLSI Technol. Circuits&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Kyoto, Japan, Jun. 2023, pp. 1&amp;#8211;2, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.23919/vlsitechnologyandcir57934.2023.10185208"&gt;&lt;span&gt;10.23919/vlsitechnologyandcir57934.2023.10185208&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[5] K. Fischer &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Intel 18A platform technology featuring RibbonFET (GAA) and PowerVia for advanced high-performance computing,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. Symp. VLSI Technol. Circuits&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Kyoto, Japan, Jun. 2025, pp. 1&amp;#8211;3, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.23919/vlsitechnologyandcir65189.2025.11075006"&gt;&lt;span&gt;10.23919/vlsitechnologyandcir65189.2025.11075006&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[6] K.-F. Cheng, C.-L. Teng, H.-Y. Huang, and H.-C. Chen, &amp;#8220;Metal oxide composite as etch stop layer,&amp;#8221; U.S. Patent 12 176 247 B2, Dec. 24, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US12176247B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US12176247B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[7] S. W. King, &amp;#8220;Dielectric barrier, etch stop, and metal capping materials for state of the art and beyond metal interconnects,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;ECS J. Solid State Sci. Technol.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, vol. 4, no. 1, pp. N3029&amp;#8211;N3047, 2015, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1149/2.0051501jss"&gt;&lt;span&gt;10.1149/2.0051501jss&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[8] A. V. Mule&amp;#8217;, D. J. Towner, D. Seghete, C. R. Ryder, and A. A. Gonzalez, &amp;#8220;Multi-layer etch stop layers for advanced integrated circuit structure fabrication,&amp;#8221; U.S. Patent Appl. 20220102343 A1, Mar. 31, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20220102343A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20220102343A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[9] C.-C. Wang and J. H. Wang, &amp;#8220;Interconnect structure with dielectric cap layer and etch stop layer stack,&amp;#8221; U.S. Patent Appl. 20230253247 A1, Aug. 10, 2023. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20230253247A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20230253247A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[10] Y. J. Wu, K.-F. Cheng, C.-C. Lee, H.-K. Chang, and H.-Y. Huang, &amp;#8220;Etch stop layer for interconnect structures,&amp;#8221; U.S. Patent Appl. 20240332070 A1, Oct. 3, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20240332070A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20240332070A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[11] M. G. Rainville, N. Shankar, K. S. Reddy, and D. M. Hausmann, &amp;#8220;Deposition of aluminum oxide etch stop layers,&amp;#8221; U.S. Patent Appl. 20180197770 A1, Jul. 12, 2018. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.justia.com/patent/20180197770"&gt;&lt;span&gt;https://patents.justia.com/patent/20180197770&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[12] J. S. Leib &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Conductive lines having molybdenum liner and tungsten fill for advanced integrated circuit structure fabrication,&amp;#8221; U.S. Patent Appl. 20240429126 A1, Dec. 26, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.justia.com/patent/20240429126"&gt;&lt;span&gt;https://patents.justia.com/patent/20240429126&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[13] M. Naik, &amp;#8220;Cobalt enables power and performance scaling at single-digit logic nodes,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Applied Materials&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 17, 2018. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.appliedmaterials.com/us/en/blog/blog-posts/cobalt-enables-power-and-performance-scaling-at-single-digit-logic-nodes.html"&gt;&lt;span&gt;https://www.appliedmaterials.com/us/en/blog/blog-posts/cobalt-enables-power-and-performance-scaling-at-single-digit-logic-nodes.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[14] Lam Research, &amp;#8220;Breaking through AI&amp;#8217;s invisible barrier with molybdenum,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Lam Research Newsroom&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, May 6, 2025. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://newsroom.lamresearch.com/molybdenum-metallization-ai-revolution"&gt;&lt;span&gt;https://newsroom.lamresearch.com/molybdenum-metallization-ai-revolution&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[15] P. Yashar, G. Malyavanatham, and H. Vijwani, &amp;#8220;Integrated circuit interconnect structures with niobium barrier materials,&amp;#8221; U.S. Patent Appl. 20240112951 A1, Apr. 4, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20240112951A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20240112951A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[16] Applied Materials, &amp;#8220;Applied Materials unveils chip wiring innovations for more energy-efficient computing,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Applied Materials Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jul. 8, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://ir.appliedmaterials.com/news-releases/news-release-details/applied-materials-unveils-chip-wiring-innovations-more-energy"&gt;&lt;span&gt;https://ir.appliedmaterials.com/news-releases/news-release-details/applied-materials-unveils-chip-wiring-innovations-more-energy&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[17] Samsung, &amp;#8220;Samsung showcases AI-era vision and latest foundry technologies at SFF 2024,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Samsung Semiconductor&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jun. 13, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://semiconductor.samsung.com/news-events/news/samsung-showcases-ai-era-vision-and-latest-foundry-technologies-at-sff-2024/"&gt;&lt;span&gt;https://semiconductor.samsung.com/news-events/news/samsung-showcases-ai-era-vision-and-latest-foundry-technologies-at-sff-2024/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[18] C. W. Yeung &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Channel geometry impact and narrow sheet effect of stacked nanosheet,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. IEEE Int. Electron Devices Meeting (IEDM)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 2018, pp. 28.6.1&amp;#8211;28.6.4, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/iedm.2018.8614608"&gt;&lt;span&gt;10.1109/iedm.2018.8614608&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[19] S. Mochizuki &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Evaluation of (110) versus (001) channel orientation for improved nFET/pFET device performance trade-off in gate-all-around nanosheet technology,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. Int. Electron Devices Meeting (IEDM)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 2023, pp. 1&amp;#8211;4, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/iedm45741.2023.10413854"&gt;&lt;span&gt;10.1109/iedm45741.2023.10413854&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[20] D. G. Ouellette &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Fabrication of gate-all-around integrated circuit structures having molybdenum nitride metal gates and gate dielectrics with a dipole layer,&amp;#8221; U.S. Patent 12 051 698 B2, Jul. 30, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US12051698B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US12051698B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[21] imec, &amp;#8220;Advancing the CFET-based device roadmap with novel integration modules and standard-cell architectures,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;imec&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.imec-int.com/en/articles/advancing-cfet-based-device-roadmap-novel-integration-modules-and-standard-cell"&gt;&lt;span&gt;https://www.imec-int.com/en/articles/advancing-cfet-based-device-roadmap-novel-integration-modules-and-standard-cell&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[22] A. Reznicek, X. Miao, C. Lee, and J. Zhang, &amp;#8220;Wrap around contact for nanosheet source drain epitaxy,&amp;#8221; U.S. Patent 11 302 813 B2, Apr. 12, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US11302813B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US11302813B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[23] J. A. Kittl, J. G. Hong, D. R. Palle, and M. S. Rodder, &amp;#8220;Methods for varied strain on nano-scale field effect transistor devices,&amp;#8221; U.S. Patent 9 978 833 B2, May 22, 2018. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US9978833B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US9978833B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[24] S. Gandikota &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Method of reducing metal gate resistance for next generation NMOS device application,&amp;#8221; Int. Patent Appl. WO 2024/137272 A1, Jun. 27, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/WO2024137272A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/WO2024137272A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[25] J. Zhang &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Full bottom dielectric isolation to enable stacked nanosheet transistor for low power and high performance applications,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. IEEE Int. Electron Devices Meeting (IEDM)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 2019, pp. 11.6.1&amp;#8211;11.6.4, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/iedm19573.2019.8993490"&gt;&lt;span&gt;10.1109/iedm19573.2019.8993490&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[26] C. Yoo, J. Chang, Y. Seon, H. Kim, and J. Jeon, &amp;#8220;Analysis of self-heating effects in multi-nanosheet FET considering bottom isolation and package options,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;IEEE Trans. Electron Devices&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, vol. 69, no. 3, pp. 1524&amp;#8211;1531, Mar. 2022, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/ted.2022.3141327"&gt;&lt;span&gt;10.1109/ted.2022.3141327&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[27] S. S. Pradhan, D. B. Bergstrom, J.-S. Chun, and J. Chiu, &amp;#8220;Tungsten gates for non-planar transistors,&amp;#8221; European Patent Appl. EP 3 506 367 A1, Jul. 3, 2019. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/EP3506367A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/EP3506367A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[28] L. Schloss and X. Ba, &amp;#8220;Tungsten films having low fluorine content,&amp;#8221; U.S. Patent 9 754 824 B2, Sep. 5, 2017. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US9754824B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US9754824B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[29] Intel Foundry, &amp;#8220;Accelerating AI and HPC with advanced process and packaging technologies,&amp;#8221; Doc. 367370-001US, Jun. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-11/intel-foundry-hpc-ai-brief.pdf"&gt;&lt;span&gt;https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-11/intel-foundry-hpc-ai-brief.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[30] M. Lofrano, X. Chang, H. Oprins, and Z. Tokei, &amp;#8220;Mitigating the thermal bottleneck in advanced interconnects,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;imec&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Sep. 28, 2023. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.imec-int.com/en/articles/mitigating-thermal-bottleneck-advanced-interconnects"&gt;&lt;span&gt;https://www.imec-int.com/en/articles/mitigating-thermal-bottleneck-advanced-interconnects&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[31] S. Bair, &amp;#8220;Intel at ISSCC 2025: Navid Shahriari invited talk, eight papers, forums, panelist &amp;amp; product details,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Community&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Feb. 19, 2025. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://community.intel.com/t5/Blogs/Tech-Innovation/Edge-5G/Intel-at-ISSCC-2025-Navid-Shahriari-Invited-Talk-Eight-Papers/post/1667592"&gt;&lt;span&gt;https://community.intel.com/t5/Blogs/Tech-Innovation/Edge-5G/Intel-at-ISSCC-2025-Navid-Shahriari-Invited-Talk-Eight-Papers/post/1667592&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[32] D. Chandra, E. Potladhurthi, D. R. S. Reddy, and K. S. Rengarajan, &amp;#8220;Tunable negative bitline write assist and boost attenuation circuit,&amp;#8221; U.S. Patent Appl. 20160203857 A1, Jul. 14, 2016. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20160203857A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20160203857A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[33] Synopsys, &amp;#8220;Advantages of firmware-based training in high-speed DDR IP,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Synopsys IP Technical Bulletin&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.synopsys.com/articles/firmware-based-training-ddr-ip.html"&gt;&lt;span&gt;https://www.synopsys.com/articles/firmware-based-training-ddr-ip.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[34] N. Muralimanohar, R. Balasubramonian, and N. P. Jouppi, &amp;#8220;CACTI 6.0: A tool to understand large caches,&amp;#8221; Hewlett-Packard Laboratories, 2009. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://users.cs.utah.edu/~rajeev/cacti6/cacti6-tr.pdf"&gt;&lt;span&gt;https://users.cs.utah.edu/~rajeev/cacti6/cacti6-tr.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[35] Intel, &amp;#8220;Intel Tech Tour 2024 Lunar Lake AI hardware accelerators,&amp;#8221; Doc. 824436, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/824436/2024_Intel_Tech%20Tour%20TW_Lunar%20Lake%20AI%20Hardware%20Accelerators.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/824436/2024_Intel_Tech%20Tour%20TW_Lunar%20Lake%20AI%20Hardware%20Accelerators.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[36] Y.-H. Chen, J. Emer, and V. Sze, &amp;#8220;Eyeriss: A spatial architecture for energy-efficient dataflow for convolutional neural networks,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. 43rd ACM/IEEE Annu. Int. Symp. Comput. Archit. (ISCA)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jun. 2016, pp. 367&amp;#8211;379, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/isca.2016.40"&gt;&lt;span&gt;10.1109/isca.2016.40&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[37] Intel, &amp;#8220;Introduction to the Xe-HPG architecture,&amp;#8221; Doc. 758306, Nov. 4, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/developer/articles/technical/introduction-to-the-xe-hpg-architecture.html"&gt;&lt;span&gt;https://www.intel.com/content/www/us/en/developer/articles/technical/introduction-to-the-xe-hpg-architecture.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[38] Intel, &amp;#8220;Core Ultra processors Series 3 for the edge,&amp;#8221; Doc. 855291. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/855291/Intel%C2%AE%20Core%E2%84%A2%20Ultra%20Processors%20Series%203%20for%20Edge%20Overview_2.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/855291/Intel%C2%AE%20Core%E2%84%A2%20Ultra%20Processors%20Series%203%20for%20Edge%20Overview_2.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[39] Intel Foundry, &amp;#8220;Foveros technology brief,&amp;#8221; Doc. 366411-001US, Feb. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-07/foveros-25d-product-brief.pdf"&gt;&lt;span&gt;https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-07/foveros-25d-product-brief.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[40] D. Das Sharma, &amp;#8220;UCIe: Building an open chiplet ecosystem,&amp;#8221; UCIe Consortium, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.uciexpress.org/_files/ugd/0c1418_c5970a68ab214ffc97fab16d11581449.pdf"&gt;&lt;span&gt;https://www.uciexpress.org/_files/ugd/0c1418_c5970a68ab214ffc97fab16d11581449.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[41] Intel, &amp;#8220;Intel launches Intel Core Series 3 processors,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Newsroom&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Apr. 16, 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-launches-intel-core-series-3-processors-changing-the-game-for-everyday-computing.html"&gt;&lt;span&gt;https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-launches-intel-core-series-3-processors-changing-the-game-for-everyday-computing.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[42] Intel, &amp;#8220;Core Series 3 launch press deck,&amp;#8221; Apr. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://download.intel.com/newsroom/2026/Intel-Core-Series-3/Intel-Core-Series-3-Launch-Press-Deck.pdf"&gt;&lt;span&gt;https://download.intel.com/newsroom/2026/Intel-Core-Series-3/Intel-Core-Series-3-Launch-Press-Deck.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[43] Intel, &amp;#8220;Intel outlines architectures for agentic AI at Hot Chips 2026,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Newsroom&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Aug. 24, 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-outlines-architectures-for-agentic-ai-at-hot-chips-2026.html"&gt;&lt;span&gt;https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-outlines-architectures-for-agentic-ai-at-hot-chips-2026.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[44] Intel, &amp;#8220;Intel accelerates process and packaging innovations,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jul. 26, 2021. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intc.com/filings-reports/all-sec-filings/content/0001193125-21-224438/d199788dex991.htm"&gt;&lt;span&gt;https://www.intc.com/filings-reports/all-sec-filings/content/0001193125-21-224438/d199788dex991.htm&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[45] Intel, &amp;#8220;Intel reports third-quarter 2021 financial results,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Oct. 21, 2021. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intc.com/news-events/press-releases/detail/1505/intel-reports-third-quarter-2021-financial-results"&gt;&lt;span&gt;https://www.intc.com/news-events/press-releases/detail/1505/intel-reports-third-quarter-2021-financial-results&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[46] Intel, &amp;#8220;3rd generation Intel Core processors bring exciting new experiences and fun to the PC,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Apr. 23, 2012. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intc.com/news-events/press-releases/detail/577/3rd-generation-intel-core-processors-bring-exciting"&gt;&lt;span&gt;https://www.intc.com/news-events/press-releases/detail/577/3rd-generation-intel-core-processors-bring-exciting&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1&gt;Extended carrier and bond stack detail&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/intel-panther-lake-teardown"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/intel-panther-lake-teardown"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;Panther Lake debuts the first commercial implementation of backside power delivery (BSPDN), introduces Intel&amp;#8217;s first iteration of gate-all-around (GAA) transistors, and showcases their advanced packaging capabilities with its Foveros-S assembly. With Panther Lake, Intel&amp;#8217;s manufacturing arc has shifted from nebulous roadmaps to shipped silicon, a significant milestone on their long road back to competitive semiconductor manufacturing. To evaluate the extent of Intel&amp;#8217;s comeback, we tore down Panther Lake.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!c6w-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe91f7b46-2f79-4ce2-814c-4ed684985a3e_1591x1290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1181" src="https://substackcdn.com/image/fetch/$s_!c6w-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe91f7b46-2f79-4ce2-814c-4ed684985a3e_1591x1290.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel Core Ultra 7 365 (Panther Lake). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our teardown traces 18A from its four-sheet RibbonFETs (Intel&amp;#8217;s marketing name for GAAFETs) and gate stacks through contacts, frontside and backside wiring, and the bonded carrier. We explain how these material and integration choices improve gate control and reduce resistance, while adding capacitance, thermal resistance, and process complexity. Our measurements put Panther Lake&amp;#8217;s 18A compute logic and TSMC N3E GPU logic at similar logic density. However, 18A does not lead TSMC N3P, N2 or Samsung SF2 in peak density. Panther Lake&amp;#8217;s CPU cores are incremental updates, and the high-end GPU still uses TSMC N3E.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QPIE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2a71a33-864f-4814-9e63-efeb211025a8_640x302.gif" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="302" src="https://substackcdn.com/image/fetch/$s_!QPIE!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2a71a33-864f-4814-9e63-efeb211025a8_640x302.gif" width="640" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;X-ray of Intel Panther Lake package. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Panther Lake assembles one compute tile, one GPU tile, and one I/O tile atop a passive base tile using Intel&amp;#8217;s Foveros-S advanced packaging. Both compute tile variants use Intel 18A. The Xe3 GPU options are a 4-core GT1 tile on Intel 3 and a larger 12-core GT2 tile on TSMC N3E. Both I/O tile variants use TSMC N6. [1], [2]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!O5ML!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f41d1d-51ef-401b-81f5-cabe50f2b0e9_1349x769.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="769" src="https://substackcdn.com/image/fetch/$s_!O5ML!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f41d1d-51ef-401b-81f5-cabe50f2b0e9_1349x769.png" width="1349" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake configurations. PTL-U (3xx, left), PTL-H (3x6H, center), PTL-H with Arc B390/B370 (X-tier, 3x8H, right). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Our analysis centers on the PTL-U compute tile, both the 4-core and 12-core GPU tiles, as well as the 12-lane I/O tile.&lt;/p&gt;&lt;h1&gt;PowerVia&lt;/h1&gt;&lt;p&gt;In conventional chips, power and signal are routed through the same frontside metal stack towards the device frontend. Power rails consume scarce routing resources near the transistors, while tall via stacks carry VDD and VSS from the coarse upper wires to local rails. Backside power delivery (BSPD) moves the main power network behind the transistor layer, to the backside, separating it from frontside signal routing. We covered BSPD and its impacts in 2024. [3], [4], [5] Intel&amp;#8217;s BSPD implementation, branded as &amp;#8220;PowerVia&amp;#8221;, routes power through dedicated backside metals to nano-TSVs, which connect those rails to local source/drain (S/D) contacts.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rsvx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333a960-a4cb-4310-95fe-91efaf9da41f_1493x851.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="830" src="https://substackcdn.com/image/fetch/$s_!rsvx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3333a960-a4cb-4310-95fe-91efaf9da41f_1493x851.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt; Schematic orientation of the retained carrier, devices and frontside/backside interconnects. Layer counts are illustrative; not to scale. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Implementing that separation requires Intel to build the interconnect stacks from both sides of the wafer. The frontside comprises the M0-M14 signal stack, while the backside comprises the BM0-BM5 power stack. M0 and BM0 are closest to the transistors.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_sOw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F877a2e36-a956-4c1a-befe-39823e6ab5fc_1441x1404.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1404" src="https://substackcdn.com/image/fetch/$s_!_sOw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F877a2e36-a956-4c1a-befe-39823e6ab5fc_1441x1404.png" width="1441" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Generalized PowerVia process sequence and comparison of buried power rails, PowerVia and direct backside contact schemes. Integration details and layer counts are illustrative; the schematic is not to scale. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The nano-TSVs connect the two sides, but Intel patterns and etches each via from the front after forming the contacts. A narrow via runs from the side of the contact deep into the silicon substrate. Intel then completes the frontside signal metal stack, bonds the wafer to a carrier, flips it and removes the original substrate until the buried via tips are exposed. The backside metal stack is then deposited directly on the revealed vias.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The nano-TSV and backside-via profiles taper in opposite directions because Intel forms them from opposite sides of the wafer. The transistor structures form the FEOL. Local contacts and nano-TSVs connect them to the wiring. M0 begins the frontside interconnect stack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The silicon carrier remains attached above the frontside interconnects. It supports the device wafer during substrate removal and backside processing and remains part of the finished chip&amp;#8217;s thermal path.&lt;/p&gt;&lt;p&gt;PowerVia removes the main power distribution from the congested frontside metals, routing supply through shorter and wider backside wires. Its lateral landing still occupies area in the standard cell, so it recovers less cell area than a direct backside contact. [3] Nano-TSVs beside the logic devices carry VDD or VSS from the backside power network, while signal connections continue upward through the frontside metals.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fNCs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd416cb6f-2dd4-4e0a-b046-791f0a12823b_1431x918.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="456.75471698113205" src="https://substackcdn.com/image/fetch/$s_!fNCs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd416cb6f-2dd4-4e0a-b046-791f0a12823b_1431x918.png" width="712" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qRdI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07f47dd-574d-47bb-aa0d-b399e2445562_714x460.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="460" src="https://substackcdn.com/image/fetch/$s_!qRdI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07f47dd-574d-47bb-aa0d-b399e2445562_714x460.png" width="714" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A RibbonFET and nano-TSV in XTEM (top) and EDS (bottom). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Backside Interconnects&lt;/h2&gt;&lt;p&gt;Samsung SF2 data is included for comparison to Panther Lake&amp;#8217;s within this article. SF2 is the incumbent GAA foundry node but lacks BSPD, serving as a useful reference to evaluate 18A. A full teardown of Samsung&amp;#8217;s S26 products, processed on SF2, will be shared soon.Nanosheet-cut EDS comparison. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xdu_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518abef6-0eaf-41ba-9bb1-59fe4088bdc1_2200x1270.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="841" src="https://substackcdn.com/image/fetch/$s_!xdu_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518abef6-0eaf-41ba-9bb1-59fe4088bdc1_2200x1270.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A Panther Lake P-core logic (left) and Samsung SF2 Exynos 2600 C1-Ultra logic (right). HFW 550 nm (Intel) and 423 nm (Samsung). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The PowerVia supply path runs from the backside Cu rails through Mo-lined W nano-TSVs to the local transistor contacts. In this cross section, the tapered connection spans roughly 150 nm from the contact level to BM0. The Ta liner confines Cu and promotes adhesion to the surrounding stack; the AlO&lt;span&gt;&amp;#8339; etch stop controls the next dielectric etch above the rail. Dielectric beneath the ribbons electrically separates the devices from the backside wiring and removes the conducting silicon body below the channel. [6] &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1OnH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae0c0e2-440b-4937-bf39-6afa3549f20c_2065x1024.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1024" src="https://substackcdn.com/image/fetch/$s_!1OnH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae0c0e2-440b-4937-bf39-6afa3549f20c_2065x1024.png" width="2065" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A Mo-lined W nano-TSV and Cu BM0 rail. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AlO&lt;span&gt;&amp;#8339; serves as an etchstop (ES), enabling endpointing and protecting the underlying layers. Low-volatility aluminum fluoride reaction products resist the fluorinated plasma, allowing a thin AlO&amp;#8339; film to protect the metal while the surrounding low-k dielectric is removed. [6], [7]. While the BM0 and layers above the M1 lines show double AlO&lt;/span&gt;&lt;sub&gt;&lt;span&gt;x&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; layers, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/199606144/process-flow"&gt;&lt;span&gt;Our SMIC N+3 teardown&lt;/span&gt;&lt;/a&gt;&lt;span&gt; showed single AlO&amp;#8339; layers. SMIC uses a simpler local AlO&amp;#8339; substack, while the remaining cap and etch sequence provide the required landing protection.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!cP3E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4363b1d8-2954-4dd8-8e0d-6ffedec7317a_1050x176.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="176" src="https://substackcdn.com/image/fetch/$s_!cP3E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4363b1d8-2954-4dd8-8e0d-6ffedec7317a_1050x176.png" width="1050" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A backside metallization materials. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;So why double layers? The closely spaced AlO&amp;#8339; doublets provide two protected endpoints in the etch sequence. Intel documents an AlO&amp;#8339;/SiN/AlO&amp;#8339; stack that explains the benefit. The main dielectric plasma etch stops on the first AlO&amp;#8339; film; a selective wet clear opens that film; a second plasma etch removes the intermediate SiN and stops on the second AlO&amp;#8339; film. The final wet clear exposes the metal landing surface. SiN is the intermediate dielectric in Intel&amp;#8217;s published example. [8]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The second stop protects the metal through a cap breakthrough. Wide openings can etch faster than narrow ones, and etch depth varies across the wafer. Metal under an early-clearing opening would otherwise be exposed while other openings still need more etching. Staged protection widens the process window and reduces metal erosion, corrosion and void formation. [8]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TSMC documents AlN/AlO&amp;#8339;/SiOC/AlO&amp;#8339; above Cu, with AlN blocking Cu diffusion, and a simpler AlN/SiOC/AlO&amp;#8339; variant that omits one AlOx film. [9] Levels with different opening sizes, aspect ratios, pattern densities and cap materials need different etch margins. A double AlOx stop is useful where another protected endpoint justifies the added processing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The extra film adds formation, selective opening and cleaning steps, plus another set of interfaces to control adhesion, moisture, and stress. These blanket films are opened through the existing via pattern, so each film does not require another lithography mask. AlO&amp;#8339; adds parasitic capacitance when it replaces lower-k dielectric; two thin AlO&amp;#8339; films can nevertheless contain less AlO&amp;#8339; than one thick film. Total thickness, placement, and theintermediate dielectric determine the electrical cost. Deposition chemistry also changes AlOx permittivity and residual hydroxyl content, which can oxidize the underlying metal. [7], [8], [10], [11]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The backside stack separates into relatively fine BM0-BM2 wiring near the devices and coarser BM3-BM5 power distribution. The largest pitch increase occurs between BM2 and BM3. BM0&amp;#8217;s pitch closely matches the logic-row height, fitting local power delivery to the cell rows. Higher levels aggregate current through larger conductors: routing density becomes less important than low resistance and current capacity as the network approaches the package. This hierarchy provides wide power wiring for the power delivery network without consuming scarce frontside signal-routing resources. [3]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ic9c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97ef329b-fb8e-4535-9830-92fe3cef5894_946x301.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="301" src="https://substackcdn.com/image/fetch/$s_!Ic9c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97ef329b-fb8e-4535-9830-92fe3cef5894_946x301.png" width="946" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A BM0-BM5 minimum measured pitches. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h2&gt;Frontside Interconnects&lt;/h2&gt;&lt;p&gt;Intel 18A combines Mo-lined W contacts and nano-TSVs with a separate backside Cu power network. Samsung SF2 keeps power on the frontside, using Ti-based contact interfaces and Ta-based barriers and Co liners around Cu wiring.&lt;/p&gt;&lt;p&gt;&lt;span&gt;In 18A standard-cell rows, backside power rails supply the devices through nano-TSVs within the cells, freeing frontside routing resources. Samsung&amp;#8217;s M0 accommodates both power and signal connections.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8qNX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F953dd218-0da3-4081-934e-3db17adfa526_946x624.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="624" src="https://substackcdn.com/image/fetch/$s_!8qNX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F953dd218-0da3-4081-934e-3db17adfa526_946x624.png" width="946" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A M0-M14 minimum measured pitches. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;From the device toward M0, the connection runs through a Ti-based S/D interface, W contact fill, a Mo-lined W via, and the Cu M0 wire. Mo supplies a conductive nucleation and adhesion layer for W, replacing the resistive TiN liner used in conventional W integration. This increases the effective conduction volume within the feature while retaining W fill and its established polishing, cleaning and etching processes. Intel&amp;#8217;s Mo/W patent describes this integration tradeoff. The nano-TSV uses the same Mo-lined W construction in the backside supply path. [12]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Yo77!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff116d635-da7e-4106-8025-7b6aac641a3f_1188x313.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="313" src="https://substackcdn.com/image/fetch/$s_!Yo77!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff116d635-da7e-4106-8025-7b6aac641a3f_1188x313.png" width="1188" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A and Samsung SF2 contact and via materials. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The move from TiN to Mo is an incremental change. While a full Co or Mo fill can also reduce the volume lost to liners in very small features, it requires new integration schemes that increase complexity and risk. Cu remains attractive for wider wires due to its low resistance. As wires and vias shrink, the diffusion barrier consumes an increasing fraction of their cross-section. [12], [12], [14]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pdj9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebf286e-3662-4147-812d-cc37e96d2731_6060x2251.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2251" src="https://substackcdn.com/image/fetch/$s_!pdj9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebf286e-3662-4147-812d-cc37e96d2731_6060x2251.png" width="6060" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A Panther Lake P-core logic (top) and Samsung SF2 C1U logic (bottom), interconnect EDS maps. Cu, Ta, Co, Ru, and combined Co/Nb maps, left to right. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Intel uses Co/Ru liners at M0-M1, Co at M2-M4, and Nb at M5-M9. The lower-level liners help Cu adhere and reduce void formation during trench fills. Applied Materials&amp;#8217; Endura has new thermal control that facilitate wetting process, so the thin film continuity is good enough that good capillary pressure will drive Cu atoms to the via bottom without voiding.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel&amp;#8217;s choice to use Nb is particularly interesting. Intel&amp;#8217;s Nb patent describes a conductive diffusion barrier intended to reduce the barrier&amp;#8217;s contribution to resistance relative to conventional Ta-based barriers, particularly at via bottoms where all current crosses the barrier. The patent pairs Nb in coarser levels with the option of lower-cost PVD processing. [15], [16]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The upper metal layers support thicker barriers formed through physical vapor deposition (PVD) despite its worse coverage and uniformity. Meanwhile, the lower metal layers require thinner barriers deposited through conformal atomic layer deposition (ALD). Co/Ru adds another material interface and requires controlled deposition and Cu fill. Changing liners and barriers by metal layer allows Intel to optimize interconnect resistance, process complexity, and reliability. [15, 16]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Cn7G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0faf32e-6f06-4087-8fc5-e5b8862893a9_1600x542.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="493" src="https://substackcdn.com/image/fetch/$s_!Cn7G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0faf32e-6f06-4087-8fc5-e5b8862893a9_1600x542.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A and Samsung SF2 M0-M9 liner, fill and etchstop materials. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;RibbonFET&lt;/h1&gt;&lt;p&gt;RibbonFET, Intel&amp;#8217;s name for its gate-all-around FETs (GAAFETs), replaces the FinFET&amp;#8217;s vertical fins with four stacked horizontal silicon nanosheets, allowing the gate to surround the channel on every side.&lt;span&gt; The path to GAAFET begins with the planar transistor.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_HPT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714d286b-6d60-4d1a-8d35-8a31935de9a7_1151x410.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="410" src="https://substackcdn.com/image/fetch/$s_!_HPT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714d286b-6d60-4d1a-8d35-8a31935de9a7_1151x410.png" width="1151" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;strong&gt;Planar NMOS structure (left) and CMOS inverter (right). Source: SemiAnalysis&lt;/strong&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A planar MOSFET places the gate above the channel between its source and drain. Pairing an NMOS with a PMOS transistor creates a CMOS inverter, in which the NMOS pulls the output low for a high input, and the PMOS pulls it high for a low input. The gate must retain electrostatic control of the channel to ensure clean switching. As gate lengths shrank, the drain began to compete with the gate for that control, increasing off-state leakage.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Electrostatic control was restored through an architectural evolution that raised the channel into a vertical fin and wrapping the gate around three sides. Called &amp;#8220;FinFET&amp;#8221;, this new architecture packed more effective channel width into a smaller footprint. Further scaling made it harder to maintain both drive current and leakage within smaller cells, and reintroduced the same problems planar MOSFETs faced. Nanosheet GAAFETs close the fourth side by replacing the vertical fin with a stack of horizontal nanosheets, each surrounded by the gate. The tighter electrostatic control suppresses leakage at shorter gate lengths while stacking adds effective channel width within the cell footprint.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ci5j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c40c53f-5c63-4e12-abc6-feeb8fdce130_1183x635.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="635" src="https://substackcdn.com/image/fetch/$s_!Ci5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c40c53f-5c63-4e12-abc6-feeb8fdce130_1183x635.png" width="1183" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Controlling gate leakage through architectural evolution. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In a FinFET process, channel width changes in discrete steps as designers must add or remove whole fins. Nanosheet width can instead be adjusted continuously within the process&amp;#8217;s design rules. Wider sheets increase drive current, while narrower sheets reduce capacitance at the cost of drive current. Intel 18A uses stacks of four nanosheets each and varies their widths across logic and SRAM. At the process level, adding more sheets to each stack increases effective channel width and drive current, but complicates fabrication.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;RibbonFET vs MBCFET&lt;/h2&gt;&lt;p&gt;Samsung began GAAFET production in 2022 with SF3E, following with SF3 and now SF2. Its &amp;#8216;MBCFET&amp;#8217; provides a useful structural comparison with Intel&amp;#8217;s first RibbonFET implementation. [17] STEEL is digging deeper into SF2, used in the Exynos 2600, and TSMC&amp;#8217;s GAAFET N2, used in Apple&amp;#8217;s A20 Pro, in upcoming newsletter articles. We&amp;#8217;re throwing some teasers on X. Let&amp;#8217;s compare Samsung SF2&amp;#8217;s MBCFET with Intel 18A&amp;#8217;s RibbonFET.&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even to the untrained eye, Intel&amp;#8217;s extra nanosheet is obvious. Intel stacks four ribbons to Samsung&amp;#8217;s three. Samsung&amp;#8217;s sheets are much wider in these fields, so both sheet count and width matter to the available channel perimeter. Sheet width also changes which silicon surfaces carry current. On conventional (001) silicon, wide nanosheets emphasize the broad top and bottom surfaces, favoring electron transport; the larger sidewall contribution in a narrow sheet favors hole transport. Thinner sheets improve gate control but increase confinement and scattering. This makes width and thickness part of the NMOS/PMOS balance, alongside strain and threshold voltage. &lt;/span&gt;[18], [19]&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;GAAFET designs like 18A use different work-function-metal (WFM) stacks for NMOS and PMOS. Around each ribbon, a thin SiOx interfacial layer separates the silicon channel from the HfOx high-k dielectric, with La providing dipole tuning and the WFM wrapping the dielectric. NMOS uses a TiAl-based stack, while PMOS uses TiN WFM. W fills the remaining gate trench, providing a lower-resistivity path where the work-function layers are no longer needed. In this field, the PMOS stacks leave room for W between ribbons, while the NMOS stacks occupy more of those gaps. A silicon-based dielectric marks the P/N boundary, allowing the PMOS and NMOS gates, sharing the same gate trench, to be processed sequentially.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Fast logic paths, retention circuits, and SRAM need a family of threshold options. Changing threshold without substantially changing device dimensions, capacitance or fabrication complexity is valuable. FinFET processes typically use different work-function-metal stacks. In a four-ribbon GAA stack, the narrow sheet-to-sheet gap limits how much WFM can fit around each channel. La in the gate dielectric creates interfacial dipoles at the SiOx/HfOx boundary, shifting effective work function and tuning threshold voltage. This gives Intel another control alongside its NMOS and PMOS WFM stacks. Low-threshold devices improve critical-path drive; higher thresholds reduce leakage elsewhere. Dipole tuning is especially useful in GAA because it changes threshold without consuming the narrow intersheet gap with thicker WFM.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Precise control of La incorporation, diffusion and interface quality has long been a challenge, limiting viability in high volume production but is now seen from every leading-edge foundry. Intel&amp;#8217;s patent describes depositing a dipole-forming oxide above HfOx and annealing it toward the interfacial oxide before completing the work-function and fill metals. This separates threshold tuning from the space available for metal. Newer research addresses the thermal cost: imec&amp;#8217;s 2026 dipole-middle research inserts the shifter between two HfO&lt;/span&gt;&lt;sub&gt;&lt;span&gt;x&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; depositions, shortening the diffusion path while protecting SiO&lt;/span&gt;&lt;sub&gt;&lt;span&gt;x&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; during patterning. &lt;/span&gt;[20], [21]Matched-cut EDS, Intel 18A (left) vs. Samsung SF2 (right). &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zMTv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3325ca6-4a44-4e9a-ae33-69ba59f57406_2832x2486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1278" src="https://substackcdn.com/image/fetch/$s_!zMTv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3325ca6-4a44-4e9a-ae33-69ba59f57406_2832x2486.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Top: sheet cuts, Intel P-core logic and the Samsung logic field labelled CU. Bottom: gate cuts, Intel P-core logic and Samsung NPU logic. Cut directions are matched; cell functions and drive targets differ. Scale bars per panel. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel retains raised source/drain epi beneath its contacts, while Samsung recesses W deep into the epi to form a V-shaped Ti-lined interface. The deeper contact increases metal-to-semiconductor area and shortens the current path from the lower sheets, reducing contact and spreading resistance. It also removes epi volume and brings the contact etch closer to the channel ends. Retaining more epi preserves the material available for strain transfer, especially from SiGe into PMOS. These geometries balance contact access against stress engineering and etch margin. [22], [23]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Samsung stacks three sheets to Intel&amp;#8217;s four ribbons, and both processes use sheet width to tune drive strength. In our Samsung cross-sections, widths range roughly from 19 to 30 nm in the NPU rows and 37 to 50 nm in the CU cell. The Samsung nanosheets taper, with the widest sheet at the bottom and the narrowest at the top. Both processes use HfOx gate dielectric and Ti-based work-function stacks, with Al in the NMOS stack. In the Samsung devices shown here, the dielectric and WFM occupy the intersheet gaps, leaving W above the top sheet. Intel&amp;#8217;s PMOS stack leaves more room between ribbons, and W fills those gaps while the thicker NMOS stack leaves W mainly in the upper trench. &lt;/span&gt;Gate-stack EDS maps. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!a7Zl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c00f05f-2aaf-43ea-8718-d2a616b3d5d0_6076x2424.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="581" src="https://substackcdn.com/image/fetch/$s_!a7Zl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c00f05f-2aaf-43ea-8718-d2a616b3d5d0_6076x2424.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Top: Intel 18A P-core logic. Bottom: Samsung SF2 CU logic. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The W between Intel&amp;#8217;s PMOS ribbons provides a conductive path close to the lower gates. Where WFM fills the entire gap, the gate still surrounds the channel, but voltage reaches it through the more resistive work-function films. Thinner WFM and dipole tuning preserve room for low-resistivity fill; Mo and Ru are alternative fill metals being developed for further scaling. [24]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A masked, sequential WFM flow explains the different gate heights and inter-nanosheet fill. The proposed sequence below shows how separate NMOS and PMOS work-function steps produce that geometry.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NB05!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F041768b6-ca30-4eba-8a2d-f9e786e10cba_1260x1165.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1165" src="https://substackcdn.com/image/fetch/$s_!NB05!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F041768b6-ca30-4eba-8a2d-f9e786e10cba_1260x1165.png" width="1260" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Proposed Intel 18A NMOS and PMOS WFM integration sequence. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Enabled by the BSPDN process, Intel replaces the dense-logic silicon subfin with dielectric, removing the parasitic conduction path below the ribbons and reducing substrate-related capacitance. A retained silicon body as in classical, non-SOI, planar and FinFET designs needs junction and punchthrough-stop engineering to suppress leakage. Dielectric isolation makes that leakage less sensitive to the subfin doping profile but adds removal and fill steps. It also weakens the direct thermal path through silicon, making the contacts, metal stacks and package more important for heat extraction. [24], [26]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Fluorine is concentrated around selected Intel device structures in the maps. WF&lt;/span&gt;&lt;sub&gt;&lt;span&gt;6&lt;/span&gt;&lt;/sub&gt;&lt;span&gt; is a standard precursor for W nucleation and fill, while barrier films protect adjacent dielectrics from fluorine attack. Low-fluorine W processes reduce the residual-F burden. Chloride-based precursors avoid introducing F during W deposition, but require control of chlorine attack, nucleation and fill quality. The integration target is a continuous, low-resistance W path with a thin protective liner and minimal chemical damage to the surrounding stack. [20], [27], [28]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DiW4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13daab3-c017-4c12-a531-a91839c58c3f_1435x2196.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2196" src="https://substackcdn.com/image/fetch/$s_!DiW4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe13daab3-c017-4c12-a531-a91839c58c3f_1435x2196.png" width="1435" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Proposed GAAFET Process Flow. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;Library analysis&lt;/h1&gt;&lt;p&gt;We measured cell height, gate pitch, metal geometry, and ribbon dimensions at the XTEM sites shown below. The tables group these dimensions by site and device polarity. Our &amp;#8220;sheet cuts&amp;#8221; cross the silicon channel and show the ribbons end-on. &amp;#8220;gate cuts&amp;#8221; run along the channel through successive gates.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gqg5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca26391-75aa-4ca5-ba84-b3c047155b38_1666x1712.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1496" src="https://substackcdn.com/image/fetch/$s_!gqg5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca26391-75aa-4ca5-ba84-b3c047155b38_1666x1712.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;em&gt;Measured library dimensions. *Intel 18A PDK provides M0 pitch of 32 nm, but Panther Lake HP libraries shipped at 36 nm, **3rd party discolsures. Source: SemiAnalysis&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The 18A logic cell dimensions point to a five-track logic library while the N3E and Intel 3 cell dimensions evidence a seven-track logic library. The DDR-PHY uses wider M0 wires and much larger spacing than core logic. That trades routing density for lower wire resistance and weaker coupling between neighboring nets. The geometry suits the current delivery and coupling requirements of analog, clock, and I/O circuitry.&lt;/p&gt;&lt;p&gt;PowerVia lets 18A combine a compact cell height with wider M0 geometry by moving the main power rails off the signal-routing tracks. That relaxes local wire scaling while preserving a small cell footprint. Cell height and gate pitch set the geometric density; pin access and routability determine how much of it a real block can use. [29]&lt;/p&gt;&lt;p&gt;&lt;span&gt;The biggest takeaway from our gate-pitch measurements is that Intel 18A compute logic and TSMC N3E GPU logic have similar density in the Bohr representative-cell model. The 18A example is 18.6% denser than the Intel 3 GPU example. Gate pitches are nearly identical across the three sites, so cell height drives most of the difference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The Bohr model combines a four-transistor NAND2 spanning three gate pitches and a 32-transistor scan flip-flop (SFF) spanning nineteen pitches, weighting their densities 60:40. The sensitivity column shows how independently changing cell height and gate pitch by &amp;#177;1 nm changes the result. This compares representative cell geometries; whole-die density also depends on cell mix and placement.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!wUqw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8012b4b-76c8-4ed5-b7c5-a0ffb9b953a3_1809x445.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="358" src="https://substackcdn.com/image/fetch/$s_!wUqw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8012b4b-76c8-4ed5-b7c5-a0ffb9b953a3_1809x445.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Representative-cell density and input sensitivity. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The 18A P-core gives M0 substantially more metal cross section than the N3E vector engine. Treating each profile as a trapezoid gives 2.63 times the area per line and 1.84 times the area after normalization by routing pitch. The larger section reduces the geometric contribution to line resistance and lowers current density for a given current. Taller and wider wires also add capacitance, so circuit delay depends on the balance of resistance and capacitance. The DDR-PHY has less metal area per routing width than the 18A core fields, while remaining above N3E. [30]&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g5dH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e3fd4d0-e346-4acb-831f-238795842d53_1274x349.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="349" src="https://substackcdn.com/image/fetch/$s_!g5dH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e3fd4d0-e346-4acb-831f-238795842d53_1274x349.png" width="1274" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;M0 cross-section geometry. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Area = height &amp;#215; (top CD + bottom CD) / 2, including liners. Area/pitch normalizes by routing width. Taper is the symmetric sidewall angle from vertical, with the largest angle belonging to the DDR-PHY.&lt;/p&gt;&lt;h2&gt;Compute tile&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9PH4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c91f14b-ede6-4f5a-ba74-17cbcdf9dd14_2895x2009.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1010" src="https://substackcdn.com/image/fetch/$s_!9PH4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c91f14b-ede6-4f5a-ba74-17cbcdf9dd14_2895x2009.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Compute-tile XTEM sampling locations. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The measurements show how ribbon dimensions and gate-stack geometry vary across the compute tile and between NMOS and PMOS to balance channel drive, gate load and the space needed for the dielectric/WFM stack across logic, SRAM and the DDR-PHY. Width mainly changes available channel perimeter; thickness also changes electrostatic control and carrier confinement. Gate-stack thickness then determines the space left for low-resistivity fill&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5Pha!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52a1dad6-3279-42de-abb4-14c9de265f01_1710x606.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="516" src="https://substackcdn.com/image/fetch/$s_!5Pha!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52a1dad6-3279-42de-abb4-14c9de265f01_1710x606.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Ribbon dimensions. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;P-core and LP E-core logic&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Both the P-core and LP E-core use multiple nanosheet widths. Widths are measured on high-magnification XTEMs while wider-field images demonstrate additional width choices within the LP E-core. Multiple widths are expected even within an LP E-core. Timing-critical paths, buffers and cells with different fanout need different drive strengths. The lower-magnification fields show this width diversity beyond the sites quantified in the table.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;L2 and L3 SRAM&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;GAA gives SRAM designers another way to balance the pull-up (PU), pass-gate (PG), and pull-down (PD) transistors. FinFET bitcells set device strength through fin count while GAA adds nanosheet width as a sizing knob. In a 6T SRAM cell, a strong pull-down relative to the pass-gate limits read disturbance, while a strong pass-gate relative to the pull-up improves writability. During a write, the pass-gate and write driver pull the node storing &amp;#8220;1&amp;#8221; below the inverter trip point. During a read, the pull-down holds the node storing &amp;#8220;0&amp;#8221; low. Bias, threshold voltage, mismatch and assist circuitry set the remaining margin. FinFET high-current cells commonly use a PU:PG:PD fin-count pattern of 1:2:2, a device-sizing ratio rather than a current ratio.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!F-4E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290da0e9-8b7f-4f12-b480-2dfc9f6b3db6_1488x655.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="641" src="https://substackcdn.com/image/fetch/$s_!F-4E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290da0e9-8b7f-4f12-b480-2dfc9f6b3db6_1488x655.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 18A SRAM bitcell features. Source: Intel, ISSCC 2025 (&amp;#169; IEEE). [31]&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ribbon width lets Intel balance SRAM strengths without adding whole fins. The L2 cell uses its narrowest ribbons for PU and widest for PD, improving writability and read stability respectively. Intel&amp;#8217;s disclosed HCC operates without assist; its denser HDC uses negative-bitline write assist. Pulling the selected bitline briefly below ground increases pass-gate overdrive so it can overpower the pull-up at lower supply voltage. That buys density and low voltage writability at the cost of boosting circuitry, switching energy, and additional voltage stress that must be controlled. [31], [32]&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;Four rectangular ribbons give the perimeter = 8 &amp;#215; (width + thickness), before corner rounding. PG/PU is 1.49 and PD/PG is 1.16.&lt;/p&gt;&lt;p&gt;The L3 structures closely resemble L2 in layout and cell height. Fewer L3 nanosheet widths are tabulated because fewer high-magnification images were available.&lt;/p&gt;&lt;h3&gt;DDR PHY&lt;/h3&gt;&lt;p&gt;The DDR-PHY trades density for controlled analog behavior and reliable off-chip signaling. It contains drivers, receivers, delay circuits, and calibration logic that set drive strength, sampling time, and voltage margin. Repeated four-sheet devices with similar widths fit the use of regular transistor units for matching and programmable drive. Its wider local wiring provides room for current delivery and separation of sensitive signals, while consuming more area than a dense core-logic grid. The layout serves the memory channel&amp;#8217;s electrical requirements as well as digital logic density. [33]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iEvK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d6334e-d412-47d4-bfa8-65653b442347_2048x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!iEvK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d6334e-d412-47d4-bfa8-65653b442347_2048x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;DDR PHY. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h3&gt;Intel 3 GPU devices&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2aab!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F066f4605-8131-4de5-8f71-ab74b69a0568_2465x1290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="762" src="https://substackcdn.com/image/fetch/$s_!2aab!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F066f4605-8131-4de5-8f71-ab74b69a0568_2465x1290.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 3 GT1 GPU: sampling locations and device fields. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;Vector engine logic&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Intel 3&amp;#8217;s XVE logic uses two-fin PMOS and NMOS devices with power rails in M0. Its cell height and M0 pitch give a seven-track geometry, two tracks more than the 18A logic. One-fin groups also appear among the two-fin devices.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;Intel 3 L2 SRAM&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The Intel 3 L2 SRAM uses the familiar HCC sizing pattern: one PU fin, two PG fins, and two PD fins.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mk0v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cfdec65-5e08-46de-a569-ec139002c164_2068x2068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!Mk0v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cfdec65-5e08-46de-a569-ec139002c164_2068x2068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel 3 L2 SRAM. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;N3E GPU devices&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RiVn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc1dd16-e652-4654-812d-30661fad6a5c_2525x2231.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1286" src="https://substackcdn.com/image/fetch/$s_!RiVn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc1dd16-e652-4654-812d-30661fad6a5c_2525x2231.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;N3E GT2 GPU sampling locations. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;Vector engine logic&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8f0A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb36ce4c2-ce55-4f6d-ab60-5ab48bb15b30_2068x2068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!8f0A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb36ce4c2-ce55-4f6d-ab60-5ab48bb15b30_2068x2068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;N3E vector-engine logic cross-section. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The N3E XVE field contains repeated two-fin devices with seven-track cell geometry. N3E remains a FinFET process, giving Panther Lake a direct FinFET-to-RibbonFET comparison.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;em&gt;&lt;span&gt;N3E L2 SRAM&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The N3E L2 SRAM uses the same PU:PG:PD fin-count pattern of 1:2:2.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jseK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24a24b3-f827-4b29-ac49-2f067db39f61_2068x2068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!jseK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24a24b3-f827-4b29-ac49-2f067db39f61_2068x2068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;N3E vector-engine logic cross-section. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Floorplan analysis&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!x4aK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377bc2eb-a382-4a12-9fcb-fc2f2efed37a_5022x1948.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="565" src="https://substackcdn.com/image/fetch/$s_!x4aK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377bc2eb-a382-4a12-9fcb-fc2f2efed37a_5022x1948.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel Lunar Lake (left) and Panther Lake-U (right) floorplans. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Panther Lake-U follows Lunar Lake&amp;#8217;s floorplan quite closely. Both pair 4 P-cores with 4 LP E-cores and NPU, media and display engines in similar locations. Lunar Lake also uses Xe2, the direct predecessor to Panther Lake&amp;#8217;s Xe3 GPU. This makes Lunar Lake the most direct basis for our comparisons. Arrow Lake differs in core count and uses the older Xe-LPG GPU architecture, so we only use it where it offers a more direct component-level comparison.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zMYE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe85ce992-989f-48e9-a8f1-4a588c2ea798_1712x804.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="684" src="https://substackcdn.com/image/fetch/$s_!zMYE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe85ce992-989f-48e9-a8f1-4a588c2ea798_1712x804.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake, Panther Lake 8-core, Panther Lake 16-core/12-Xe, and Arrow Lake-H configurations. Source: Intel&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Compute tile&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Panther Lake compute-tile floorplans remain sparse even months after launch.&lt;span&gt; &lt;/span&gt;Intel 18A&amp;#8217;s backside metal and dielectric stack must be removed without damaging the underlying structures before a clean transistor-level floorplan can be imaged. Most published die shots hide or heavily process the background, but we are quite proud of the die shot we achieved and are excited to show the work we have done.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Pw1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55cad0f3-f2e4-4f5a-b607-9311fececde7_2476x2082.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1224" src="https://substackcdn.com/image/fetch/$s_!Pw1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55cad0f3-f2e4-4f5a-b607-9311fececde7_2476x2082.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Annotated Panther Lake-U 4+0+4 compute tile. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We measured the areas of the key components on the compute tile and compared them with their Lunar Lake predecessors on TSMC N3B. These help us to capture changes in block area and compare the two chips across process nodes and designs.&lt;/p&gt;&lt;p&gt;Our total tile areas exclude the scribe-line area. The compute-plus-GPU subtotal below uses the PTL-U compute tile and GT1 GPU; it excludes the I/O tile and passive base. Individual block areas use the boundaries marked on the floorplans&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!z_1g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78ff7a-30a1-4bb6-91bf-56f3859e9a87_1600x1589.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1446" src="https://substackcdn.com/image/fetch/$s_!z_1g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78ff7a-30a1-4bb6-91bf-56f3859e9a87_1600x1589.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake 4+0+4 compute-tile areas compared with Lunar Lake. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The compute-plus-GPU row is recomputed from the displayed PTL-U and GT1 areas. Component rows use their stated per-region counts and are not an additive partition of the whole tile.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o5gM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01032afd-9c69-4b3d-a103-26a24e01ae21_2386x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!o5gM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01032afd-9c69-4b3d-a103-26a24e01ae21_2386x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake Lion Cove (left) vs Panther Lake Cougar Cove (right) P-cores. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The P-core area remains almost unchanged between Lunar Lake and Panther Lake, despite L2 capacity increasing from 2.5 MiB to 3 MiB. Arrow Lake uses the same Lion Cove core as Lunar Lake but also has a 3 MiB L2. Cougar Cove fits 20% more L2 into the same P-core area. The larger private cache keeps more of each core&amp;#8217;s working set close to its execution units, reducing access to shared L3 and DRAM. Extra capacity adds storage leakage and lookup energy, so designers balance it against avoided lower-level accesses. The shared P-core L3 cache also shrank by 14.8%. [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Cougar Cove combines a similar footprint with Intel&amp;#8217;s reported power-efficiency improvements. RibbonFET&amp;#8217;s tighter channel control reduces leakage, while PowerVia reduces supply droop and allows tighter voltage guardbands. [1]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zopf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30fe82f2-6be2-4de2-88bc-f57b6c47914d_2729x1466.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="782" src="https://substackcdn.com/image/fetch/$s_!zopf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30fe82f2-6be2-4de2-88bc-f57b6c47914d_2729x1466.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake Skymont (left) and Darkmont (right) LP E-core clusters. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Darkmont&amp;#8217;s four-core LP E-core cluster is 5.0% smaller than Skymont&amp;#8217;s on Lunar Lake, with most of the reduction in its L2 regions. The 1 MiB region shrank by 8.4% and the 1.5 MiB region by 14.9%. The tag arrays also use one fewer visible row. Tags identify which memory addresses the data array holds, so rearranging them changes the cache&amp;#8217;s layout and wiring without requiring less data capacity. [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The LP E-cores share one L2. This pools capacity and avoids duplicating all the cache machinery, but the four cores contend for its banks and bandwidth. Their separate cluster also keeps light work away from the performance cluster and its L3, allowing that larger domain to sleep. [1], [2]&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cache area includes more than the storage cells. Tags identify each line, decoders select rows, sense amplifiers read the small bitline signal, and wires connect to the banks. Splitting an array into smaller sections shortens wordlines and bitlines, improving access speed, but duplicates peripheral circuits. Panther Lake&amp;#8217;s smaller cache regions therefore reflect the complete memory implementation, including how much of each region is devoted to storage. [34]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Unlike Meteor Lake and Arrow Lake, Panther Lake has no separate SoC tile. The NPU, LP E-cores, memory controllers, PHYs, media and display engines now share the compute tile. This removes an active die and keeps CPU memory traffic on one die. The cost is moving PHY and I/O-related circuitry onto 18A: drivers, receivers and analog circuits must still meet external voltage, loading and signal-integrity requirements, so their area does not shrink like dense digital logic. [1], [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The biggest shrink comes from the NPU, which occupies 36.9% less area. NPU 5 consolidates the same total INT8 MAC count into half as many neural compute engines. Each of the three NCEs has a larger MAC array to make the complete NCE envelope 22.6% larger than an NPU 4 engine. Consolidation also halves the number of scratchpads and SHAVE DSPs, from 12 to 6. The MAC array handles matrix multiplication and convolution, while SHAVE executes vector and custom operations that fit the array poorly. [1], [2], [35]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Yxkt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bff1891-aabd-4e2d-9358-45793075a886_2382x1433.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="876" src="https://substackcdn.com/image/fetch/$s_!Yxkt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bff1891-aabd-4e2d-9358-45793075a886_2382x1433.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Lunar Lake NPU 4 (left) vs Panther Lake NPU 5 (right). Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The paired floorplans identify each NCE envelope and its scratchpad, MAC, and SHAVE regions. Each measured MAC polygon is counted once per NCE in the area accounting below.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!ad_T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1093cf-6bcd-44e8-aec5-a96f4f15de77_1664x393.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="344" src="https://substackcdn.com/image/fetch/$s_!ad_T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1093cf-6bcd-44e8-aec5-a96f4f15de77_1664x393.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;NPU area savings from the measured floorplan regions. Child regions are included in the NCE subtotal. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The scratchpads store weights, activations, and intermediate results near the MAC arrays, allowing repeated use without fetching them again from DRAM. Halving their number delivers the largest measured area saving but leaves less local storage for the same total MAC count. Layers that no longer fit locally require smaller working tiles or more transfers of intermediate data. The benefit depends on keeping the enlarged arrays busy while managing that tighter storage budget. [36]&lt;/p&gt;&lt;p&gt;&lt;span&gt;NPU 5 also adds native FP8. Using half the operand width of FP16 reduces storage and transfer demand, helping workloads fit the smaller local memory budget. Lower precision and format-dependent range make scaling and model validation part of deployment. Hardware activation functions further reduce work that would otherwise occupy the programmable DSPs. [1], [2]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Microsoft requires an NPU to deliver at least 40 TOPS for Copilot+ PCs. Both Lunar Lake and Panther Lake meet this threshold, but Panther Lake uses significantly less silicon.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;GPU tiles&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Panther Lake is Intel&amp;#8217;s first product with Xe3, its latest GPU architecture. It offers two different GPU tiles: a smaller GT1 tile with 4 Xe3 cores on Intel 3 and a larger GT2 tile with 12 Xe3 cores on TSMC N3E.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Panther Lake allows us to compare the same GPU architecture across both Intel 3 and TSMC N3E. Wildcat Lake adds a third Xe3 implementation on Intel 18A. &lt;/span&gt;A future newsletter will detail&lt;span&gt; Xe3 and its implementation differences across all three process nodes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VErO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b74ae9-3a90-41c4-b954-42d368f939de_1906x981.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="749" src="https://substackcdn.com/image/fetch/$s_!VErO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b74ae9-3a90-41c4-b954-42d368f939de_1906x981.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8gce!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a70b129-6de6-4449-8e5a-cac7b7a99c10_1761x1475.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1220" src="https://substackcdn.com/image/fetch/$s_!8gce!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a70b129-6de6-4449-8e5a-cac7b7a99c10_1761x1475.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Intel Panther Lake GT1 (Intel 3, 4 Xe cores) and GT2 (TSMC N3E, 12 Xe cores) GPU tile floorplans. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;GT2 scales Xe3 to a different physical layout, with render slices arranged vertically instead of GT1&amp;#8217;s horizontal arrangement. Slice placement sets the distances to shared cache banks and the D2D interface. Those wires consume area and add delay, so scaling the number of Xe cores also requires a new balance of cache placement, routing and timing. [1]&lt;/p&gt;&lt;p&gt;&lt;span&gt;What&amp;#8217;s immediately obvious is that the GT2 tile on TSMC N3E has much smaller Xe cores than GT1. These block areas include logic, caches, and routing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M_4N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34458780-2d3f-4f4f-b8f1-f0992b0a1dc8_1600x489.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="445" src="https://substackcdn.com/image/fetch/$s_!M_4N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34458780-2d3f-4f4f-b8f1-f0992b0a1dc8_1600x489.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake GPU tile area comparison with Lunar Lake. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;An Xe core on the GT1 tile is ~69% larger than one on Lunar Lake, and ~55% larger than one on GT2. Intel 3 therefore uses substantially more area per Xe core. The block-area gap exceeds the measured logic and SRAM density gaps, bringing routing, timing targets, cell mix, and floorplan allocation into the comparison.&lt;/p&gt;&lt;p&gt;The measured vector/matrix engine region is almost unchanged between Lunar Lake and Panther Lake&amp;#8217;s GT2 tile. Xe3 retains eight 512-bit vector engines and eight 2048-bit XMX engines per core. Its gains also come from feeding those engines more effectively: more resident threads hide stalls, and variable register allocation lets shaders trade registers per thread against the number of threads kept active. [1]&lt;/p&gt;&lt;p&gt;The shared L1/SLM capacity increased by 33% from 192 KiB to 256 KiB, while its area increased only 5%, raising effective density by 27%. L1 retains reused cache lines, while software-managed SLM lets a thread group share data locally. Both reduce traffic to more distant memory. Allocating more SLM per group can also limit how many groups reside on a core at once. [1], [37]&lt;/p&gt;&lt;p&gt;&lt;span&gt;The GT1 tile carries 4 MiB of L2 against 16 MiB on the GT2 tile. GT1 divides its L2 cache into four 1 MiB banks, while GT2 uses eight 2 MiB banks. Each bank contains 128 macros, but each N3E macro stores 16 KiB, twice the Intel 3 macro&amp;#8217;s 8 KiB capacity. The N3E macro is only 54% larger while holding twice as many bits, giving it 30% higher density: ~23.7 Mbit/mm&amp;#178; versus 18.3 Mbit/mm&amp;#178;. Including bank-level circuitry, the gap widens to ~16.9 Mbit/mm&amp;#178; on GT2 versus ~10.4 Mbit/mm&amp;#178; on GT1.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!mP_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856024b-1cd3-4088-9ac2-b8b0ef954918_1600x329.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="299" src="https://substackcdn.com/image/fetch/$s_!mP_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856024b-1cd3-4088-9ac2-b8b0ef954918_1600x329.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake Intel 3 (GT1) and TSMC N3E (GT2) area comparison. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;GT2 gains density with its macros storing more bits per unit area, and those macros occupy more of each cache bank. Larger macros spread decoder and sense-amplifier overhead across more storage, while a more compact bank layout reduces the share spent on control and routing. The compromise is longer wordlines and bitlines that carry more capacitance. [34]&lt;/p&gt;&lt;h2&gt;&lt;span&gt;I/O tile&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Panther Lake uses two I/O tile variants, both fabricated on TSMC N6. The smaller one provides 4 PCIe 5.0 and 8 PCIe 4.0 lanes and serves lower-tier systems as well as those without a discrete GPU, while the larger one adds 8 PCIe 5.0 lanes, bringing the total to 20 lanes, for discrete-GPU connectivity. Panther Lake SKUs with the larger 10- or 12-Xe GPUs use the smaller I/O tile. [38]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RAyF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea5fd8fb-d7d4-4a0d-bc3b-61a71e59325a_1909x615.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="469" src="https://substackcdn.com/image/fetch/$s_!RAyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea5fd8fb-d7d4-4a0d-bc3b-61a71e59325a_1909x615.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake 12-lane I/O tile floorplan. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The smaller I/O tile adds a PCIe 4.0 block and a Thunderbolt block to Lunar Lake&amp;#8217;s I/O layout, providing four additional PCIe 4.0 lanes and another Thunderbolt 4 port. Its repeated N6 blocks retain nearly identical areas and layouts. Reusing these proven PHYs and controllers avoids porting and requalifying external interfaces on 18A, where faster digital logic offers less benefit to circuits constrained by the off-chip link. [38]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!A0l4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe504db0a-5851-45f8-8c27-8cc96a0ac5fe_1600x655.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="596" src="https://substackcdn.com/image/fetch/$s_!A0l4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe504db0a-5851-45f8-8c27-8cc96a0ac5fe_1600x655.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake 12-lane I/O tile area comparison with Lunar Lake. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;SemiAnalysis&amp;#8217;s teardown lab (STEEL) dives deep &lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;into the world&amp;#8217;s advanced datacenter and AI hardware. To learn more &lt;/strong&gt;&lt;em&gt;&lt;strong&gt;about &lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;our pipeline or to commission a &lt;/strong&gt;&lt;em&gt;&lt;strong&gt;teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;&lt;span&gt;sales@semianalysis.com&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;We&amp;#8217;re hiring technical experts from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;&lt;span&gt;Careers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; page.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;Foveros-S&lt;/h1&gt;&lt;p&gt;Panther Lake offers scalability and modularity through its disaggregated packaging that partition compute, GPU, and I/O silicon into separate tiles allowing for a suite of tile configurations. This partitioning makes the package part of Intel&amp;#8217;s node economics as it determines how much leading-edge wafer area each product consumes, which functions can remain on other processes, and how much configuration freedom Intel can offer from a shared set of tiles.&lt;/p&gt;&lt;p&gt;Furthermore, fabricating the compute and GPU tiles separately confines the new 18A process to the compute tile and allows graphics and I/O to use other, more established, and more cost-effective processes. For Panther Lake, the GPU and I/O tiles are assembled alongside the compute tile on a passive silicon base using Foveros-S.&lt;/p&gt;&lt;p&gt;Intel&amp;#8217;s current technology brief lists a nominal 36 &amp;#181;m pitch for Foveros-S. Through-silicon vias (TSVs) in the base connect the fine wiring above to the larger package connections below. The functional tiles sit side by side on that passive base in a 2.5D configuration. [39]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ufv2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a11c35f-101e-404d-815d-f75ba672170b_1216x503.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="503" src="https://substackcdn.com/image/fetch/$s_!ufv2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a11c35f-101e-404d-815d-f75ba672170b_1216x503.png" width="1216" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Foveros-S package schematic: active tiles connect through microbumps to a passive silicon base. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Our cross-section through the compute and GPU tiles shows the package&amp;#8217;s wiring hierarchy. Microbumps connect each active tile to the passive silicon base; its fine redistribution layer (RDL) carries the short, dense tile-to-tile links. TSVs carry connections through the base to the package substrate, which fans them out to the much coarser motherboard solder joints. The base supplies interconnect, while computation remains in the active tiles above it. [39]&lt;/p&gt;&lt;p&gt;At the compute-tile edge, the higher-magnification inset shows a local microbump spacing of approximately 25.24 &amp;#181;m and a feature width of 12.33 &amp;#181;m.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8jFH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a5b31b-6002-4da0-81f7-9903e64f7648_4892x1572.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="468" src="https://substackcdn.com/image/fetch/$s_!8jFH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a5b31b-6002-4da0-81f7-9903e64f7648_4892x1572.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake package cross section through the compute and graphics tiles. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8nXN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2135ac47-dab7-4b8b-9ed3-a74786ec0c5e_2852x2102.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1073" src="https://substackcdn.com/image/fetch/$s_!8nXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2135ac47-dab7-4b8b-9ed3-a74786ec0c5e_2852x2102.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake top-down image showing where the cross-section was taken. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;These local spacings are finer than Intel&amp;#8217;s nominal Foveros-S value. The X-ray fields further confirm tighter neighboring bumps, consistent across every die-to-die area found on each tile. Additional X-ray analysis is offered after the paywall. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o_HE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b3cb654-3821-4b60-8d79-1b1810a6af47_688x362.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="362" src="https://substackcdn.com/image/fetch/$s_!o_HE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b3cb654-3821-4b60-8d79-1b1810a6af47_688x362.png" width="688" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;GPU D2D region with annotated local neighbor separations. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Putting the memory controller beside the CPU removes the D2D transfer that CPU memory requests required in Meteor Lake and Arrow Lake. This avoids the extra transmitter, receiver, and link traversal, saving interface energy and latency. Panther Lake&amp;#8217;s separate GPU still crosses a D2D link to reach DRAM, so its larger local caches also help contain package traffic. [1], [40]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Smaller dies are less likely to contain a random fatal defect, and screening them before assembly prevents one bad tile from consuming a complete package of good silicon. Reuse also spreads design and qualification work across more products. Against those gains, Intel pays for the passive base, D2D circuits, extra bonding and test steps, and losses during assembly. Cost per working product across the portfolio captures the combined effect of wafer yield, reuse, test, and assembly. [29]&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Wildcat Lake packaging&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Intel launched Core Series 3, formerly Wildcat Lake, on 16 April 2026 for value mobile and edge systems. Wildcat Lake keeps 18A but removes the passive base and combines more functions on one die to simplify the package. The two products therefore reveal two distinct ways to commercialize the same leading-edge process. [41]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!qPFK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8585318-1938-4fab-b4eb-a7176d587e1f_1664x384.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="336" src="https://substackcdn.com/image/fetch/$s_!qPFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8585318-1938-4fab-b4eb-a7176d587e1f_1664x384.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Panther Lake vs Wildcat Lake Packaging. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Wildcat Lake&amp;#8217;s 18A die combines up to two Cougar Cove P-cores, four Darkmont LP E-cores, two Xe3 cores and a smaller NPU. A separate platform-controller die supplies I/O, connected through UCIe, Intel&amp;#8217;s first processor implementation of the standard. Consolidating graphics remove a tile boundary and the passive base, reducing assembly complexity for a modest-bandwidth value product. It also ties CPU and graphics scaling to the same die, giving up Panther Lake&amp;#8217;s ability to swap in a much larger GPU. [42], [43]&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!O1Oy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb5655a5-b55b-46d4-898c-f192d0abed89_5569x5697.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1489" src="https://substackcdn.com/image/fetch/$s_!O1Oy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb5655a5-b55b-46d4-898c-f192d0abed89_5569x5697.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Wildcat Lake Die Shot. Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Intel&amp;#8217;s manufacturing recovery&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;In July 2021, Intel CEO Pat Gelsinger set out an ambitious process roadmap aimed at regaining performance leadership by 2025, later described as five nodes in four years. Five years and one CEO later, Intel&amp;#8217;s comeback story is not as unambiguously positive as Pat may have hoped. [44], [45]&lt;/p&gt;&lt;p&gt;Intel once set the pace for process technology, bringing high-k metal gate technology and FinFETs into volume production years ahead of the rest of the industry. Its 22 nm FinFET process reached consumers with Ivy Bridge in 2012. [46] Intel&amp;#8217;s integrated device manufacturing (IDM) model allowed its architects and process engineers to co-optimize products and processes. Starting with Sandy Bridge, Intel dominated x86, while AMD struggled with Bulldozer.&lt;/p&gt;&lt;p&gt;&lt;span&gt;That lead faltered at 14 nm and broke at 10 nm. Intel targeted a massive 2.7&amp;#215; density increase, but the node arrived years late and required several revisions before it could support Intel&amp;#8217;s full lineup. This delay forced Intel to stretch 14 nm across six generations, while TSMC moved ahead in process technology and AMD recovered in x86.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;By 2019, Intel was still shipping 14 nm across most of its product stack, with its 10 nm client ramp focused on Ice Lake mobile processors. Meanwhile, TSMC was shipping N7 and N7+, and AMD&amp;#8217;s Zen 2 compute chiplets used N7 to raise core counts and improve efficiency.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel&amp;#8217;s process failures were central to its decline, but unsound business decisions furthered their downward slide. Product delays compounded product mistakes, pushing client, server, and FPGA roadmaps off schedule. Several attempts to enter AI (Nervana and Gaudi) and networking (Tofino) also failed to establish lasting businesses.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Intel&amp;#8217;s recovery has focused on consumer CPUs and advanced packaging. Tiger Lake, Alder Lake, Lunar Lake and now Panther Lake have restored Intel&amp;#8217;s consumer roadmap. On the process side, Intel 4 shipped with Meteor Lake, Intel 3 with Granite Rapids and Sierra Forest, and Intel 18A with Panther Lake. Intel has also made advanced packaging part of its foundry offering. However, Intel is still playing catch-up in servers. Several Xeon generations arrived years late and trailed contemporary AMD and Arm server CPUs in performance, efficiency, and core count. The process roadmap is back, but Intel does not hold the same process-technology leadership position it held prior to 10 nm.&lt;/p&gt;&lt;p&gt;The introduction of gate-all-around nanosheets and backside power delivery are two of the biggest changes to transistor integration in a decade. Intel took on both changes at once: 18A paired its first RibbonFET with PowerVia in Panther Lake.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Panther Lake is a substantial manufacturing milestone. Our cross-sections show how RibbonFET and PowerVia reshape local contacts and wiring, while the floorplans show where architectural consolidation and process choices save area. A sustained competitive lead depends on product performance, cost, yield, and the next implementation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The SemiAnalysis STEEL teardown lab breaks down advanced datacenter and AI hardware. To learn more about our pipeline or to commission a teardown, contact &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt;.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(247, 156, 47);"&gt;WE&amp;#8217;RE HIRING&lt;/span&gt;: Architecture, floorplan, packaging, manufacturing, and labs experts. Opportunities from system to transistor and everywhere in between. Check out our &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;Careers&lt;/a&gt; page.&lt;span&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;References&lt;/h1&gt;&lt;p&gt;&lt;span&gt;[1] Intel, &amp;#8220;Intel Tech Tour 2025 Panther Lake recap,&amp;#8221; Doc. 866361, 2025. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/866361/ITT_2025_Panther_Lake_Recap1.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/866361/ITT_2025_Panther_Lake_Recap1.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[2] Intel, &amp;#8220;Core Ultra processors Series 3 datasheet, volume 1,&amp;#8221; Doc. 872188-001, Jan. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/872188/872188-001.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/872188/872188-001.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[3] N. Horiguchi and E. Beyne, &amp;#8220;Backside power delivery: How to power chips from the backside,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;imec Reading Room&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Nov. 25, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.imec-int.com/en/articles/how-power-chips-backside"&gt;&lt;span&gt;https://www.imec-int.com/en/articles/how-power-chips-backside&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[4] W. Hafez &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Intel PowerVia technology: Backside power delivery for high density and high-performance computing,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. IEEE Symp. VLSI Technol. Circuits&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Kyoto, Japan, Jun. 2023, pp. 1&amp;#8211;2, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.23919/vlsitechnologyandcir57934.2023.10185208"&gt;&lt;span&gt;10.23919/vlsitechnologyandcir57934.2023.10185208&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[5] K. Fischer &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Intel 18A platform technology featuring RibbonFET (GAA) and PowerVia for advanced high-performance computing,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. Symp. VLSI Technol. Circuits&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Kyoto, Japan, Jun. 2025, pp. 1&amp;#8211;3, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.23919/vlsitechnologyandcir65189.2025.11075006"&gt;&lt;span&gt;10.23919/vlsitechnologyandcir65189.2025.11075006&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[6] K.-F. Cheng, C.-L. Teng, H.-Y. Huang, and H.-C. Chen, &amp;#8220;Metal oxide composite as etch stop layer,&amp;#8221; U.S. Patent 12 176 247 B2, Dec. 24, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US12176247B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US12176247B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[7] S. W. King, &amp;#8220;Dielectric barrier, etch stop, and metal capping materials for state of the art and beyond metal interconnects,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;ECS J. Solid State Sci. Technol.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, vol. 4, no. 1, pp. N3029&amp;#8211;N3047, 2015, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1149/2.0051501jss"&gt;&lt;span&gt;10.1149/2.0051501jss&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[8] A. V. Mule&amp;#8217;, D. J. Towner, D. Seghete, C. R. Ryder, and A. A. Gonzalez, &amp;#8220;Multi-layer etch stop layers for advanced integrated circuit structure fabrication,&amp;#8221; U.S. Patent Appl. 20220102343 A1, Mar. 31, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20220102343A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20220102343A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[9] C.-C. Wang and J. H. Wang, &amp;#8220;Interconnect structure with dielectric cap layer and etch stop layer stack,&amp;#8221; U.S. Patent Appl. 20230253247 A1, Aug. 10, 2023. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20230253247A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20230253247A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[10] Y. J. Wu, K.-F. Cheng, C.-C. Lee, H.-K. Chang, and H.-Y. Huang, &amp;#8220;Etch stop layer for interconnect structures,&amp;#8221; U.S. Patent Appl. 20240332070 A1, Oct. 3, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20240332070A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20240332070A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[11] M. G. Rainville, N. Shankar, K. S. Reddy, and D. M. Hausmann, &amp;#8220;Deposition of aluminum oxide etch stop layers,&amp;#8221; U.S. Patent Appl. 20180197770 A1, Jul. 12, 2018. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.justia.com/patent/20180197770"&gt;&lt;span&gt;https://patents.justia.com/patent/20180197770&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[12] J. S. Leib &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Conductive lines having molybdenum liner and tungsten fill for advanced integrated circuit structure fabrication,&amp;#8221; U.S. Patent Appl. 20240429126 A1, Dec. 26, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.justia.com/patent/20240429126"&gt;&lt;span&gt;https://patents.justia.com/patent/20240429126&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[13] M. Naik, &amp;#8220;Cobalt enables power and performance scaling at single-digit logic nodes,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Applied Materials&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 17, 2018. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.appliedmaterials.com/us/en/blog/blog-posts/cobalt-enables-power-and-performance-scaling-at-single-digit-logic-nodes.html"&gt;&lt;span&gt;https://www.appliedmaterials.com/us/en/blog/blog-posts/cobalt-enables-power-and-performance-scaling-at-single-digit-logic-nodes.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[14] Lam Research, &amp;#8220;Breaking through AI&amp;#8217;s invisible barrier with molybdenum,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Lam Research Newsroom&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, May 6, 2025. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://newsroom.lamresearch.com/molybdenum-metallization-ai-revolution"&gt;&lt;span&gt;https://newsroom.lamresearch.com/molybdenum-metallization-ai-revolution&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[15] P. Yashar, G. Malyavanatham, and H. Vijwani, &amp;#8220;Integrated circuit interconnect structures with niobium barrier materials,&amp;#8221; U.S. Patent Appl. 20240112951 A1, Apr. 4, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20240112951A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20240112951A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[16] Applied Materials, &amp;#8220;Applied Materials unveils chip wiring innovations for more energy-efficient computing,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Applied Materials Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jul. 8, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://ir.appliedmaterials.com/news-releases/news-release-details/applied-materials-unveils-chip-wiring-innovations-more-energy"&gt;&lt;span&gt;https://ir.appliedmaterials.com/news-releases/news-release-details/applied-materials-unveils-chip-wiring-innovations-more-energy&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[17] Samsung, &amp;#8220;Samsung showcases AI-era vision and latest foundry technologies at SFF 2024,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Samsung Semiconductor&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jun. 13, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://semiconductor.samsung.com/news-events/news/samsung-showcases-ai-era-vision-and-latest-foundry-technologies-at-sff-2024/"&gt;&lt;span&gt;https://semiconductor.samsung.com/news-events/news/samsung-showcases-ai-era-vision-and-latest-foundry-technologies-at-sff-2024/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[18] C. W. Yeung &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Channel geometry impact and narrow sheet effect of stacked nanosheet,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. IEEE Int. Electron Devices Meeting (IEDM)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 2018, pp. 28.6.1&amp;#8211;28.6.4, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/iedm.2018.8614608"&gt;&lt;span&gt;10.1109/iedm.2018.8614608&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[19] S. Mochizuki &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Evaluation of (110) versus (001) channel orientation for improved nFET/pFET device performance trade-off in gate-all-around nanosheet technology,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. Int. Electron Devices Meeting (IEDM)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 2023, pp. 1&amp;#8211;4, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/iedm45741.2023.10413854"&gt;&lt;span&gt;10.1109/iedm45741.2023.10413854&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[20] D. G. Ouellette &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Fabrication of gate-all-around integrated circuit structures having molybdenum nitride metal gates and gate dielectrics with a dipole layer,&amp;#8221; U.S. Patent 12 051 698 B2, Jul. 30, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US12051698B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US12051698B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[21] imec, &amp;#8220;Advancing the CFET-based device roadmap with novel integration modules and standard-cell architectures,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;imec&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.imec-int.com/en/articles/advancing-cfet-based-device-roadmap-novel-integration-modules-and-standard-cell"&gt;&lt;span&gt;https://www.imec-int.com/en/articles/advancing-cfet-based-device-roadmap-novel-integration-modules-and-standard-cell&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[22] A. Reznicek, X. Miao, C. Lee, and J. Zhang, &amp;#8220;Wrap around contact for nanosheet source drain epitaxy,&amp;#8221; U.S. Patent 11 302 813 B2, Apr. 12, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US11302813B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US11302813B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[23] J. A. Kittl, J. G. Hong, D. R. Palle, and M. S. Rodder, &amp;#8220;Methods for varied strain on nano-scale field effect transistor devices,&amp;#8221; U.S. Patent 9 978 833 B2, May 22, 2018. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US9978833B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US9978833B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[24] S. Gandikota &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Method of reducing metal gate resistance for next generation NMOS device application,&amp;#8221; Int. Patent Appl. WO 2024/137272 A1, Jun. 27, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/WO2024137272A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/WO2024137272A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[25] J. Zhang &lt;/span&gt;&lt;em&gt;&lt;span&gt;et al.&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &amp;#8220;Full bottom dielectric isolation to enable stacked nanosheet transistor for low power and high performance applications,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. IEEE Int. Electron Devices Meeting (IEDM)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Dec. 2019, pp. 11.6.1&amp;#8211;11.6.4, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/iedm19573.2019.8993490"&gt;&lt;span&gt;10.1109/iedm19573.2019.8993490&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[26] C. Yoo, J. Chang, Y. Seon, H. Kim, and J. Jeon, &amp;#8220;Analysis of self-heating effects in multi-nanosheet FET considering bottom isolation and package options,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;IEEE Trans. Electron Devices&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, vol. 69, no. 3, pp. 1524&amp;#8211;1531, Mar. 2022, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/ted.2022.3141327"&gt;&lt;span&gt;10.1109/ted.2022.3141327&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[27] S. S. Pradhan, D. B. Bergstrom, J.-S. Chun, and J. Chiu, &amp;#8220;Tungsten gates for non-planar transistors,&amp;#8221; European Patent Appl. EP 3 506 367 A1, Jul. 3, 2019. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/EP3506367A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/EP3506367A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[28] L. Schloss and X. Ba, &amp;#8220;Tungsten films having low fluorine content,&amp;#8221; U.S. Patent 9 754 824 B2, Sep. 5, 2017. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US9754824B2/en"&gt;&lt;span&gt;https://patents.google.com/patent/US9754824B2/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[29] Intel Foundry, &amp;#8220;Accelerating AI and HPC with advanced process and packaging technologies,&amp;#8221; Doc. 367370-001US, Jun. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-11/intel-foundry-hpc-ai-brief.pdf"&gt;&lt;span&gt;https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-11/intel-foundry-hpc-ai-brief.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[30] M. Lofrano, X. Chang, H. Oprins, and Z. Tokei, &amp;#8220;Mitigating the thermal bottleneck in advanced interconnects,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;imec&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Sep. 28, 2023. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.imec-int.com/en/articles/mitigating-thermal-bottleneck-advanced-interconnects"&gt;&lt;span&gt;https://www.imec-int.com/en/articles/mitigating-thermal-bottleneck-advanced-interconnects&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[31] S. Bair, &amp;#8220;Intel at ISSCC 2025: Navid Shahriari invited talk, eight papers, forums, panelist &amp;amp; product details,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Community&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Feb. 19, 2025. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://community.intel.com/t5/Blogs/Tech-Innovation/Edge-5G/Intel-at-ISSCC-2025-Navid-Shahriari-Invited-Talk-Eight-Papers/post/1667592"&gt;&lt;span&gt;https://community.intel.com/t5/Blogs/Tech-Innovation/Edge-5G/Intel-at-ISSCC-2025-Navid-Shahriari-Invited-Talk-Eight-Papers/post/1667592&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[32] D. Chandra, E. Potladhurthi, D. R. S. Reddy, and K. S. Rengarajan, &amp;#8220;Tunable negative bitline write assist and boost attenuation circuit,&amp;#8221; U.S. Patent Appl. 20160203857 A1, Jul. 14, 2016. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://patents.google.com/patent/US20160203857A1/en"&gt;&lt;span&gt;https://patents.google.com/patent/US20160203857A1/en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[33] Synopsys, &amp;#8220;Advantages of firmware-based training in high-speed DDR IP,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Synopsys IP Technical Bulletin&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.synopsys.com/articles/firmware-based-training-ddr-ip.html"&gt;&lt;span&gt;https://www.synopsys.com/articles/firmware-based-training-ddr-ip.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[34] N. Muralimanohar, R. Balasubramonian, and N. P. Jouppi, &amp;#8220;CACTI 6.0: A tool to understand large caches,&amp;#8221; Hewlett-Packard Laboratories, 2009. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://users.cs.utah.edu/~rajeev/cacti6/cacti6-tr.pdf"&gt;&lt;span&gt;https://users.cs.utah.edu/~rajeev/cacti6/cacti6-tr.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[35] Intel, &amp;#8220;Intel Tech Tour 2024 Lunar Lake AI hardware accelerators,&amp;#8221; Doc. 824436, 2024. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/824436/2024_Intel_Tech%20Tour%20TW_Lunar%20Lake%20AI%20Hardware%20Accelerators.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/824436/2024_Intel_Tech%20Tour%20TW_Lunar%20Lake%20AI%20Hardware%20Accelerators.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[36] Y.-H. Chen, J. Emer, and V. Sze, &amp;#8220;Eyeriss: A spatial architecture for energy-efficient dataflow for convolutional neural networks,&amp;#8221; in &lt;/span&gt;&lt;em&gt;&lt;span&gt;Proc. 43rd ACM/IEEE Annu. Int. Symp. Comput. Archit. (ISCA)&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jun. 2016, pp. 367&amp;#8211;379, doi: &lt;/span&gt;&lt;a href="https://doi.org/10.1109/isca.2016.40"&gt;&lt;span&gt;10.1109/isca.2016.40&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[37] Intel, &amp;#8220;Introduction to the Xe-HPG architecture,&amp;#8221; Doc. 758306, Nov. 4, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/developer/articles/technical/introduction-to-the-xe-hpg-architecture.html"&gt;&lt;span&gt;https://www.intel.com/content/www/us/en/developer/articles/technical/introduction-to-the-xe-hpg-architecture.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[38] Intel, &amp;#8220;Core Ultra processors Series 3 for the edge,&amp;#8221; Doc. 855291. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://cdrdv2-public.intel.com/855291/Intel%C2%AE%20Core%E2%84%A2%20Ultra%20Processors%20Series%203%20for%20Edge%20Overview_2.pdf"&gt;&lt;span&gt;https://cdrdv2-public.intel.com/855291/Intel%C2%AE%20Core%E2%84%A2%20Ultra%20Processors%20Series%203%20for%20Edge%20Overview_2.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[39] Intel Foundry, &amp;#8220;Foveros technology brief,&amp;#8221; Doc. 366411-001US, Feb. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-07/foveros-25d-product-brief.pdf"&gt;&lt;span&gt;https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2025-07/foveros-25d-product-brief.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[40] D. Das Sharma, &amp;#8220;UCIe: Building an open chiplet ecosystem,&amp;#8221; UCIe Consortium, 2022. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.uciexpress.org/_files/ugd/0c1418_c5970a68ab214ffc97fab16d11581449.pdf"&gt;&lt;span&gt;https://www.uciexpress.org/_files/ugd/0c1418_c5970a68ab214ffc97fab16d11581449.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[41] Intel, &amp;#8220;Intel launches Intel Core Series 3 processors,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Newsroom&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Apr. 16, 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-launches-intel-core-series-3-processors-changing-the-game-for-everyday-computing.html"&gt;&lt;span&gt;https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-launches-intel-core-series-3-processors-changing-the-game-for-everyday-computing.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[42] Intel, &amp;#8220;Core Series 3 launch press deck,&amp;#8221; Apr. 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://download.intel.com/newsroom/2026/Intel-Core-Series-3/Intel-Core-Series-3-Launch-Press-Deck.pdf"&gt;&lt;span&gt;https://download.intel.com/newsroom/2026/Intel-Core-Series-3/Intel-Core-Series-3-Launch-Press-Deck.pdf&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[43] Intel, &amp;#8220;Intel outlines architectures for agentic AI at Hot Chips 2026,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Newsroom&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Aug. 24, 2026. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-outlines-architectures-for-agentic-ai-at-hot-chips-2026.html"&gt;&lt;span&gt;https://www.intel.com/content/www/us/en/newsroom/news/client-computing/intel-outlines-architectures-for-agentic-ai-at-hot-chips-2026.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[44] Intel, &amp;#8220;Intel accelerates process and packaging innovations,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Jul. 26, 2021. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intc.com/filings-reports/all-sec-filings/content/0001193125-21-224438/d199788dex991.htm"&gt;&lt;span&gt;https://www.intc.com/filings-reports/all-sec-filings/content/0001193125-21-224438/d199788dex991.htm&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[45] Intel, &amp;#8220;Intel reports third-quarter 2021 financial results,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Oct. 21, 2021. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intc.com/news-events/press-releases/detail/1505/intel-reports-third-quarter-2021-financial-results"&gt;&lt;span&gt;https://www.intc.com/news-events/press-releases/detail/1505/intel-reports-third-quarter-2021-financial-results&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[46] Intel, &amp;#8220;3rd generation Intel Core processors bring exciting new experiences and fun to the PC,&amp;#8221; &lt;/span&gt;&lt;em&gt;&lt;span&gt;Intel Investor Relations&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Apr. 23, 2012. Accessed: Sep. 14, 2026. [Online]. Available: &lt;/span&gt;&lt;a href="https://www.intc.com/news-events/press-releases/detail/577/3rd-generation-intel-core-processors-bring-exciting"&gt;&lt;span&gt;https://www.intc.com/news-events/press-releases/detail/577/3rd-generation-intel-core-processors-bring-exciting&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1&gt;Extended carrier and bond stack detail&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/intel-panther-lake-teardown"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-26T05:36:32+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/the-chinese-ai-infrastructure-boom</id>
    <title>The Chinese AI Infrastructure Boom: Introducing the SemiAnalysis China Datacenter Model</title>
    <updated>2026-09-25T07:58:22+00:00</updated>
    <author>
      <name>Everlyn</name>
    </author>
    <content type="html">&lt;p&gt;China sits at the frontier of the global model race. GLM 5.3 and Kimi K3 are the latest in a run of striking open-weights releases. ByteDance's Doubao serves 345M monthly users as China's ChatGPT, and Seedance is the State-Of-The-Art video generation model. &lt;/p&gt;&lt;p&gt;Every one of those models runs on a datacenter, and China has been building them at a pace that has gone largely unmeasured outside the country. The biggest tenant files no 10-K. Several of the largest landlords have never listed. Most of the primary sources are in Chinese. So the market settled on two lazy assumptions: China is big, and China is empty. Published estimates of China&amp;#8217;s datacenter capacity differ by 15x, and reports keep citing high vacancy rates. &lt;/p&gt;&lt;p&gt;As with our flagship &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;, we use building-level data to show which of the most widely cited narratives hold, starting with how large the market is.  &lt;/p&gt;&lt;p&gt;The global model tracks over 5,000 facilities across four regions. The US leads the world with 56GW of capacity as of 2026YE, followed by ~15GW for APAC ex-China, ~14GW for EMEA, and ~2GW for Latin America. Until now, it stopped at the border of China. Today we cross it. &lt;/p&gt;&lt;p&gt;Our tracking of 1,000+ datacenter facilities across over 60 players shows that China alone boasts a fleet of over 24GW. Bigger than EMEA. Bigger than the rest of Asia. This excludes ~20GW of dated pipeline and another ~30GW of announced projects. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!dpt-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713c729d-e750-45c3-b09a-2cacd2f3bb59_4290x2414.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;, &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Growth is at an inflection point. &lt;/span&gt;In 2Q26, the combined capex of Alibaba, Tencent, and Baidu (&amp;#8220;BAT&amp;#8221;) reached $20B, more than doubling YoY, and for the first time on record, all three posted negative free cash flow. This is the largest capex step-up in the sector&amp;#8217;s history. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-k6q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e97ef02-346a-42fa-9676-b4975fa87339_2000x1120.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!-k6q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e97ef02-346a-42fa-9676-b4975fa87339_2000x1120.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;That total leaves out the largest spender of all, ByteDance, which remains private. According to our China Datacenter Model, ByteDance alone occupies roughly a fifth of delivered datacenter capacity in China, and it rents nearly all of it, making it the single most important customer for all wholesale colocation players in the country. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!x5jG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6636c148-c8b8-4256-892f-1f345a94134c_3000x1725.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The listed players get the attention, but they are only the visible tip of the iceberg. This is also true for datacenter landlords. GDS and VNET, the only two Chinese datacenter landlords listed in the US, signed 1.3GW of wholesale orders in 1H26. But according to our China Datacenter Model, they captured barely a third of ByteDance and Alibaba orders in 2024&amp;#8211;2026YTD.  &lt;/p&gt;&lt;p&gt;The buildout is a nationwide effort, and the state-owned carriers are also part of it. China&amp;#8217;s datacenter market was historically telecom-dominated. The state carriers held the majority of the market share in the 2010s, and still own a third of national capacity today. The national power grid companies invest aggressively too. Their combined capex accelerated from 2024, ending the 14th Five-Year Plan 24% over the original blueprint. The 15th plan (2026&amp;#8211;2030) layers another 40% on top, to over $746B (&amp;#165;5T). &lt;/p&gt;&lt;p&gt;Largely free of power constraints, labor shortages, and public protests, China routinely delivers 100MW datacenter facilities in under 12 months. Modular DCs are the standard playbook, which Tencent deployed its third-gen modular design in 2014. What is old news in China is only now being adopted at scale in America, as we detailed in &lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;The Wild Wild West of LEGO Datacenters&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The growth does not stop at China&amp;#8217;s border.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Overseas leasing by Chinese hyperscalers is set to double from 2026 to 2029 and approach ~4GW of leased capacity in our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;SemiAnalysis Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. That number still understates their offshore compute, because it excludes the hundreds of thousands of GPUs they rent from Western clouds, which we covered at length in &lt;/span&gt;&lt;a href="https://semianalysis.com/2025/06/30/how-oracle-is-winning-the-ai-compute-market/"&gt;&lt;span&gt;How Oracle Is Winning the AI Compute Market&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the market also faces some dark clouds. Vacancy rates are high, and datacenter developers compete heavily on price. Chip supply is also constrained, due to export restrictions. But as explained below, neither has stopped AI datacenters from being built and filled at a remarkable speed. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;In this report we cover, in order: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Introduction to China&amp;#8217;s datacenter industry: the world&amp;#8217;s second-largest market, built retail-first, and why that history produced overbuild and high vacancy alongside an AI capacity shortage.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The westward buildout: how the &amp;#8220;Eastern Data, Western Compute&amp;#8221; policy and hyperscale AI demand are moving the industry inland, at construction speeds and unit costs the West cannot match.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Behind the paywall: we go tenant by tenant through ByteDance, Alibaba, Tencent, Baidu, and Huawei, from their AI and datacenter strategy to leasing and self-build footprints.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Introducing the SemiAnalysis China Datacenter Model&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;This report is a preview of the &lt;/span&gt;&lt;strong&gt;&lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;&lt;span&gt;SemiAnalysis China Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;span&gt;. It is the China counterpart to our global &lt;/span&gt;&lt;strong&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;SemiAnalysis Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;span&gt;, built to the same standard, bottom-up and building by building. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Contact our sales team at sales@semianalysis.com for more information.&lt;/p&gt;&lt;p&gt;&lt;span&gt;What you&amp;#8217;ll find inside:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Tracking over 1,000 facilities across 60+ operators&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Quarterly delivery curves through 2032 for every facility, with construction status and timelines&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Tenant identification per building, supplemented by tenant allocations per customer-mix for leading operators&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Hyperscaler self-build vs leased splits and per-tenant capacity paths&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A lease signing tracker and a lease delivery tracker, on one reconciled basis&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Eastern Data, Western Compute (&amp;#8220;EDWC&amp;#8221;) hub and cluster analytics, load-growth and power-draw forecasts&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;An interactive full map view showing where the capacity is concentrated&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Consider it the opening chapter. As with our global &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we will keep adding layers (AI capacity, power, suppliers, supply/demand analysis) with every update. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s dive in.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;China&amp;#8217;s datacenter industry: built retail-first, flipped by AI&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;One of America&amp;#8217;s key advantages in the AI infrastructure race is that its datacenter industry grew up hyperscale. Multi-hundred-MW campuses have existed for years, purpose-built for a handful of enormous tenants. China&amp;#8217;s industry was shaped by telecom carriers and thousands of small retail deployments. Understanding that history explains what&amp;#8217;s strange about the market today, from overall high vacancy coexisting with an AI capacity shortage, to why the carriers still own a third of everything.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following chart previews the whole story. Between 2010 and 2022, a leading colocation player in China watched its utilization rate shrink from the mid-70% range to the mid-50% range. Then, from 2023 onwards, its segment disclosure reveals a two-speed market. Wholesale buildings are filled fast on AI demand, back above 70% utilization, while the legacy retail racks sit near 60%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!_P5e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64df824-b5a1-436a-9973-87b6a0cf264c_2145x1207.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: VNET disclosure, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 1 &amp;#8212; Carrier hosting (pre-2015): datacenters as telecom real estate&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Unlike the rest of the world, where hyperscalers and colos dominate, China&amp;#8217;s datacenter market was historically telecom-dominated. The three state carriers (China Mobile, China Telecom, China Unicom) held a combined 60&amp;#8211;70% market share, with GDS and VNET, the largest third parties, below 5% each. The carriers enjoyed structural advantages in licensing and networking and benefited from captive demand. A large share of Chinese datacenter demand comes from government, SOEs and regulated industries, which default to state-owned suppliers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For its first two decades, a Chinese datacenter was essentially telecom real estate, featuring low-density retail racks (~90% of facilities ran below 2kW) rented to websites, online gaming and CDN customers. This was often offered as a bundled product with bandwidth, served by small urban switching centers around Beijing, Shanghai and the Pearl River Delta. Third-party operators existed largely as resellers of carrier space and bandwidth. The hyperscalers were barely a factor, as Alibaba Cloud was launched in 2009 and Tencent Cloud only opened to the public in 2013.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This era matters today because its stock is precisely the capacity now sitting vacant. The legacy retail racks no longer match what an H20 or Ascend server demands, and it&amp;#8217;s impractical to retrofit given partial occupancy and high cost. The headline utilization number of ~50% is largely a monument to Era 1 (and Era 3, as we&amp;#8217;ll see).&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 2 &amp;#8212; The cloud land grab (2015&amp;#8211;2021): growth at any price&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The cloud era began around 2015. The two leading players, Alibaba and Tencent, concluded that it was a winner-take-all market and opened a capex race. Alibaba Cloud revenue compounded at a ~110% CAGR across 2015&amp;#8211;2019, at the cost of a brutal price war and EBITA losses. Its core products were marked down more than 50% after 17 consecutive price cuts during a 12-month window. Tencent responded in kind, driving combined hyperscaler capex to a 2021 peak.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Third-party colocation platforms (GDS, VNET, Chindata) scaled alongside them. Retail developers, meanwhile, kept building small urban sites on the assumption that cloud demand would spill over indefinitely.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 3 &amp;#8212; Digestion (2022&amp;#8211;2023): the music stops&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The wild expansion stopped abruptly in 2022. Policy headwinds, macro slowdown, and share gains by state-owned clouds pushed Alibaba Cloud growth from +50% in 2021 to +23% in 2022, then to effectively zero. Tencent management framed it as a repositioning &amp;#8220;from pursuing revenue growth to healthy growth&amp;#8221; and saw a similar slowdown. Tencent cut capex budgets by nearly half in the middle of 2022. Alibaba did so in 2023.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!J3Uc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda157796-9830-4c13-b321-2dac61de032a_2000x1120.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!J3Uc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda157796-9830-4c13-b321-2dac61de032a_2000x1120.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Company filings, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Almost simultaneously, in February 2022, the National Development and Reform Commission (&amp;#8220;NDRC&amp;#8221;) launched Eastern Data, Western Compute guidelines and named ten computing clusters within eight national hubs. These regions, especially the western ones, enjoy fast track permitting and cheap green power. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The result was an oversupply despite a slowdown in delivery. Pricing was hit most. Power-exclusive market rates were cut in half from ~$80/kW/month. On the August 2026 earnings call, GDS management estimated another 18 months to fully digest the price reset, even though it has been going on for a few years.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 4 &amp;#8212; The AI supercycle (2024&amp;#8211;): full steam ahead&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;DeepSeek and the hyperscalers&amp;#8217; own GenAI ambitions woke the market up over the course of 2024-2025. Combined BATB (ByteDance/Alibaba/Tencent/Baidu) capex went from roughly $35B in 2024 to over $50B in 2025 and is on a trajectory to $100B for 2026.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Wholesale orders returned at a scale never seen before, and the western hubs finally found their tenant. GDS and VNET together signed roughly 1.3GW of wholesale capacity in 1H26, with less than 10MW of retail orders. The AI era is wholesale. The legacy retail stock is not participating. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But watching only these two listed names badly understates total demand, as they only capture ~1/3 of ByteDance and Alibaba orders in 2024&amp;#8211;2026YTD per &lt;/span&gt;our China Datacenter Model.  &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!626x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd288fa6e-b09b-4391-bd6c-c9598fe3d017_6000x3450.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To recap, the four-stage history explains China&amp;#8217;s datacenter market today: (1) a retail-focused legacy stock around Tier-1 cities, running 30-50% utilization, often physically unsuitable for AI densities; (2) a wholesale AI-driven buildout happening somewhere else entirely; and (3) a carrier share in structural decline, as hyperscaler self-build and third-party wholesale take over the growth.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Eastern Data, Western Compute: the pipeline is heading west&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The EDWC policy designates eight national computing hubs, implemented as ten clusters, spanning both the demand centers (Beijing-Tianjin-Hebei, Yangtze River Delta, Greater Bay Area, Chengdu-Chongqing) and the resource-rich west (Inner Mongolia, Ningxia, Gansu, Guizhou).&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6DW4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03ef8c4f-c5c3-497d-8d0f-98ddd3a75017_1430x869.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!6DW4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03ef8c4f-c5c3-497d-8d0f-98ddd3a75017_1430x869.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NDRC, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This is the industry&amp;#8217;s top-level design blueprint, and unlike most &amp;#8220;guidance&amp;#8221; documents, it actually changed how the industry develops. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The policy itself has been covered extensively. What is missing, and what matters, is the transmission mechanism. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In China, the first permit a datacenter developer applies for after securing land is an energy-consumption review filed with the local Development and Reform Commission. That quota is the binding cap on how large a facility can be. Any project consuming over 10,000 tons of coal equivalent (&amp;gt;10MW) cannot legally begin construction without passing this review.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The review regime dates to 2010 and became a rationing tool over time. When EDWC arrived in 2022, the quota system became the most effective mechanism because the same offices that issue quotas are the ones implementing the EDWC policy, so quotas effectively stopped construction flowing to non-hub locations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Guangdong is the cleanest example. The province stopped issuing datacenter energy quotas in 2021-2022 and reopened applications only for the EDWC hub region in Shaoguan. Similar quota control governs the other eastern metros. Meanwhile, EDWC regions hand out energy quotas, land approvals and tax incentives generously.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite the mechanism, for the first two years, migration was slow because the demand of the day (cloud, gaming, e-commerce) required low latency to population, so hyperscalers kept fighting for scarce quota near Tier-1 cities.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A little-noticed episode illustrates how the quota system played out in practice. In mid-2023, Guangdong&amp;#8217;s Energy Bureau inspected Tencent&amp;#8217;s two self-built campuses in Qingyuan and found each running at roughly 13&amp;#8211;14x its approved scale. The projects were labeled &amp;#8220;approved small, built big&amp;#8221;, and ordered rectification within six months. The local grid company was instructed to hold power supply to the approved quota. Even for Tencent, incremental builds now belong to the province&amp;#8217;s designated hub node.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HIcv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbeb6575-13fa-4312-9ece-7af214919aab_2880x1185.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="599" src="https://substackcdn.com/image/fetch/$s_!HIcv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbeb6575-13fa-4312-9ece-7af214919aab_2880x1185.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Guangdong Energy Bureau&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Today, the campuses keep operating, but as our China Datacenter Model shows, Tencent&amp;#8217;s subsequent capacity went to Shaoguan. The reason is not simply regulatory pressure. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two other things changed the picture.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, telecom-led fiber investments have significantly reduced latency. Shaoguan again is the model case. Since 2022, the local government has invested ~$600M (~&amp;#165;4B) in network infrastructure, building 13 ultra-high-speed 400G all-optical routes covering the Greater Bay Area, achieving 1.3ms one-way latency to Guangzhou, 1.66ms to Shenzhen, and under 3ms to Hong Kong. A direct Shenzhen-Guangzhou-Shaoguan hollow-core fiber corridor has been planned to cut latency a further ~30% from 2027 onwards. At those numbers, a Shaoguan rack is functionally a Shenzhen rack for all but the most latency-critical workloads.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, AI demand did the rest. Training workloads don&amp;#8217;t care about latency, but they care about power prices.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Inner Mongolia is the best example here. The region has China&amp;#8217;s largest renewable fleet and, critically, western Inner Mongolia is served by the Mengxi grid, China&amp;#8217;s only provincial grid outside State Grid and Southern Grid, with its own multilateral trading mechanism and independent pricing. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a result, Inner Mongolia has emerged as China&amp;#8217;s Johor, the default destination for hyperscale AI capacity, with generous quota allocations, land measured in square kilometers, and, most importantly, power prices at roughly half the Tier-1 city level. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Johor parallel runs deeper than land and power. On economics, Chinese rents are far lower, but so is the capex, while Johor rents are higher, but so is the cost to build. Our data shows that the two markets' yield-on-cost ranges overlap, with the best Inner Mongolia campuses underwriting to the return of Johor's international developers. However, the trends diverge. Inner Mongolia construction costs keep falling as the prefab approach and domestic substitution compound, while Johor developers face capex inflation and overrun risk in a supply chain running hot. Chinese operators building in Johor enjoy geographical arbitrage leveraging the Chinese supply chain and earn higher yields. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Zoom out from Inner Mongolia, though, and the ten clusters tell very different stories. It is easiest to see when the map is weighted by what is actually live and what is committed, rather than by what the policy designated, as the map below shows. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="887" src="https://substackcdn.com/image/fetch/$s_!saNj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f843542-f0e7-4c8e-96cf-6ee1af5a6c75_1964x1197.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A recurring media take holds that EDWC is a boondoggle of empty western shells. The simplest rebuttal is to look at where the hyperscalers put their own money. As our tracking shows, ByteDance currently operates three self-build clusters: Datong in Shanxi (its earliest), Wuhu in Anhui (an EDWC cluster, serving east-China inference) and a twin-site Inner Mongolia program (Horinger and Ulanqab), with two Ningxia entities registered in Zhongwei (another EDWC region) in July 2026 pointing to a fourth. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Outside of Inner Mongolia, development across the clusters is sharply divergent, but much of that divergence is by design. Gui&amp;#8217;an was positioned from the start as a storage hub, as cold data doesn&amp;#8217;t mind the mountains. The most famous anchor tenant is Apple&amp;#8217;s iCloud China datacenter, operated with Guizhou-Cloud. Less reported is that Huawei and Tencent both have self-build clusters in this region.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Chengdu and Chongqing are different stories. They are pitched as national compute hubs but lost the AI-demand contest to Inner Mongolia on power price and grid flexibility. EDWC succeeded in concentrating the buildout inside the map, and the market then picked the winners within it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Shanxi is the opposite. It is the largest datacenter region outside the EDWC hub system entirely (the red diamond on the map above), but attracted close to 2GW commitment from ByteDance, Baidu, and JD across self-build sites and colocation leases. The reasons are abundant cheap power (Shanxi is China&amp;#8217;s coal province), proximity to Beijing, and first mover advantage. Hyperscalers went there before EDWC existed and kept building out, proof that the quota regime channels the buildout, but electrons and geography still make the site selection.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Speed and cost: a different sport&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The US buildout is power-gated with interconnection queues, transformer lead times, behind-the-meter workarounds, which we have covered at length &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. China&amp;#8217;s is chip-gated: generation is abundant, state-owned utilities treat datacenter load as a development win, permitting is a policy funnel rather than a bottleneck, and construction labor is plentiful. With no physical friction on the facility side, the build cycle is driven purely by internet platform demand.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On speed, the standard delivery time for a 100MW facility has compressed from ~18 months in the cloud era to ~12 months in the AI era, with state-of-the-art projects finishing faster still. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For reference, our US modular deep dive &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;&lt;span&gt;The Wild Wild West of LEGO Datacenters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; found the best-case full-modular buildout in the US still takes 12&amp;#8211;18 months of construction, sitting behind 12&amp;#8211;13 months of permitting that cannot overlap. For China, the permitting period before construction is typically 3&amp;#8211;6 months, and faster in EDWC regions. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Several structural factors contribute to the overall faster speed. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, speculative shells ahead of orders. Because hyperscalers now run T+6-month delivery requirements in their tenders, colocation developers pre-build civil works at their own risk, making the tenant competition effectively a race among half-finished shells. When GDS signed a 152MW AI mega-order in early 2025, the customer required delivery within six months and got it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, building greenfield sites in western EDWC hubs changed the construction method. Away from Tier-1 land constraints, developers are moving from conventional multi-story concrete to low-rise, long-span steel halls. The steel is made in a factory while foundations are dug on site, then trucked in and lifted into place by crane. Concrete is used only in the ground, so there is no waiting for it to harden before the next floor goes up. VNET&amp;#8217;s Ulanqab footage shows a hall go from bare foundations to a finished building within one summer-to-winter season. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xddW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8229e38-4730-4880-9b5e-02e038ff1467_2424x2398.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1440" src="https://substackcdn.com/image/fetch/$s_!xddW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8229e38-4730-4880-9b5e-02e038ff1467_2424x2398.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: VNET videos, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Tencent&amp;#8217;s T-Block takes the same logic to its extreme. The entire datacenter arrives as factory-built modules, with the &amp;#8220;building&amp;#8221; shrinking to a leveled site and a simple steel shell, sometimes no building at all.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aSxy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F792836a5-042c-4d0d-870f-51b7a38ce598_2400x2401.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1457" src="https://substackcdn.com/image/fetch/$s_!aSxy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F792836a5-042c-4d0d-870f-51b7a38ce598_2400x2401.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tencent Video, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Third, prefabrication turns a serial schedule into a parallel one. The bulk of MEP work moves off-site into factories, so electrical and mechanical fit-out no longer waits for the building. The headline example is Alibaba&amp;#8217;s CUBE 5.0 &amp;#8220;100-day datacenter&amp;#8221;, comprising 30 days of factory production and site prep, 50 days of on-site installation, and 20 days of commissioning, measured from a finished shell to the day servers arrive. This roughly halves M&amp;amp;E and commissioning stage compared with market standard 6-month, and brings ground-break to commissioning down to roughly 7&amp;#8211;9 months.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Every factor above points in the same direction, which is more factory, less site. Follow that logic to its endpoint, and you would expect Tencent-style full-modular container campuses to be the national standard by now. They aren&amp;#8217;t, for two very Chinese reasons.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, the labor math is different. Modularization&amp;#8217;s biggest payoff in the West is dodging scarce, expensive skilled trades. Chinese site labor is affordable and abundant, so a traditional steel-and-prefab build already hits aggressive schedules. The marginal speed gain from going full-container is small.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, the financing dynamics play a role. Chinese colocation developers pledge their datacenters to banks as loan collateral. A proper building with a 20-year design life appraises well, but a yard of containers appraises poorly and carries lower residual value. When your business model is &amp;#8220;borrow against the asset, lease it to ByteDance,&amp;#8221; you build a real building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Today, full-modular builds remain limited to hyperscaler self-builds and Southeast Asia projects, but overall construction speed is as fast as needed. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On cost, capex keeps falling even as speed rises. Continued supply-chain compression and rising domestic content have pushed shell-and-fit-out costs to a fraction of comparable US wholesale costs, as we show in our model. Alibaba credits its modular approach with a further &amp;gt;10% cost reduction compared to its earlier version on top of the schedule gains.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!5kB3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887e6a5d-807a-4455-9658-cc3e2e6f258e_4290x2414.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The demand: five hyperscalers, multiple playbooks&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The demand side of China&amp;#8217;s AI buildout is concentrated in a handful of names: ByteDance, Alibaba, Tencent, Baidu, and Huawei. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Like their American counterparts, they span social media, e-commerce, search, gaming and short video. However, the consumer internet that built these companies has run out of new users. Today, China&amp;#8217;s internet penetration already sits at ~80% and grows only ~1.5% a year. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The growth engines of the past are all in single digits. &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Social media: Tencent&amp;#8217;s core asset, WeChat, grew MAU just 2% YoY in 2025. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Search engine: Baidu&amp;#8217;s 2025 revenue fell 3% with online marketing down double digits. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;E-commerce: Alibaba&amp;#8217;s customer management revenue fell 7% YoY in the quarter ended June 2026. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Short-video: Kuaishou&amp;#8217;s 2025 DAU grew just 2.7% YoY. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Outside of consumer apps, the same titans lead the cloud industry, with a structural handicap. The market is dominated by Alibaba, Huawei and Tencent alongside the three telecom carriers. But unlike the US hyperscalers, which generate roughly a third or more of their cloud revenue outside the US, Chinese cloud revenue is largely domestic. Alibaba Cloud, the most global of the group, still earns only ~20% of cloud revenue overseas, and the carrier clouds are effectively 100% domestic. In terms of &amp;#8220;addressable GDP,&amp;#8221; the core market of the US tech titans is simply much larger.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Against that backdrop, AI has become the growth engine, which drives the capex inflection point in 2Q26 we mentioned earlier. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond funding their own model R&amp;amp;D, the big platforms have built an investment web across China&amp;#8217;s GenAI labs. Alibaba invested in five LLM unicorns. Tencent backed six and wrote the largest external ticket in DeepSeek&amp;#8217;s Series A. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The labs, in turn, train and serve on the hyperscalers&amp;#8217; clouds (in the case of the Alibaba/Moonshot relationship) or have their models served inside the hyperscalers&amp;#8217; products (in the case of the Tencent/DeepSeek relationship). Either way, the hyperscaler datacenter expansion is the compute foundation for the entire domestic AI ecosystem. Hence the deep dives that follow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We provide a snapshot below showing where the hyperscalers stand: &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="764" src="https://substackcdn.com/image/fetch/$s_!3Fa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a08dbe-5719-4101-a570-7130905f25bf_3000x1575.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The leasing&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Today, ByteDance and Alibaba each issue annual leasing demand at gigawatt scale and both are actively expanding overseas. ByteDance's is the largest and leases majority of its footprint, so its tender calendar effectively sets the order book for every wholesale operator in the country. Alibaba, as we show below, splits the demand across self-build, BOT and wholesale. Tencent is the most disciplined. It spent the 2022&amp;#8211;23 downcycle closing small leased metro sites and consolidating into its own campuses, before leasing picked up again in the AI era. Baidu tenders at a fraction of the others&amp;#8217; scale. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The self-builds&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: In the 2010s, Chinese hyperscalers began self-building datacenters as their businesses reached sufficient scale, and the strategies have diverged since. Alibaba, Tencent, and Baidu self-build their strategic campuses and lease the rest. Huawei self-builds almost everything because of its business model. ByteDance, the primary tenant, is now ramping its own campuses fast. Our China Datacenter Model tracks all self-builds, and the map below shows the current landscape.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="888" src="https://substackcdn.com/image/fetch/$s_!IUjQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F169d3ef6-e6ae-4b15-b45d-18d5a61c8ca4_3297x2010.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Between pure leasing and pure self-build, a hybrid structure called BOT also emerged. The real anatomy is a two-layer ownership split. The hyperscaler owns the land and the civil shell, while the colocation partner invests in, owns and operates the M&amp;amp;E layer and recovers its capital through 8&amp;#8211;10-year service contracts. In this way, the hyperscaler keeps control and speed, the partner&amp;#8217;s balance sheet carries the capex, and the IRR is contracted rather than merchant. All three of BAT run some version of this playbook. Alibaba partners with AtHub, Tencent with Kehua Data, and Baidu with Aofei. Alibaba takes the mixing furthest, running self-build, BOT, and wholesale leases side by side within the same cluster, as we discuss below. &lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming asubscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;ByteDance: TikTok parent, China&amp;#8217;s largest tenant, among the world&amp;#8217;s largest GPU users&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/the-chinese-ai-infrastructure-boom"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/the-chinese-ai-infrastructure-boom"/>
    <summary type="html">&lt;p&gt;China sits at the frontier of the global model race. GLM 5.3 and Kimi K3 are the latest in a run of striking open-weights releases. ByteDance's Doubao serves 345M monthly users as China's ChatGPT, and Seedance is the State-Of-The-Art video generation model. &lt;/p&gt;&lt;p&gt;Every one of those models runs on a datacenter, and China has been building them at a pace that has gone largely unmeasured outside the country. The biggest tenant files no 10-K. Several of the largest landlords have never listed. Most of the primary sources are in Chinese. So the market settled on two lazy assumptions: China is big, and China is empty. Published estimates of China&amp;#8217;s datacenter capacity differ by 15x, and reports keep citing high vacancy rates. &lt;/p&gt;&lt;p&gt;As with our flagship &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;, we use building-level data to show which of the most widely cited narratives hold, starting with how large the market is.  &lt;/p&gt;&lt;p&gt;The global model tracks over 5,000 facilities across four regions. The US leads the world with 56GW of capacity as of 2026YE, followed by ~15GW for APAC ex-China, ~14GW for EMEA, and ~2GW for Latin America. Until now, it stopped at the border of China. Today we cross it. &lt;/p&gt;&lt;p&gt;Our tracking of 1,000+ datacenter facilities across over 60 players shows that China alone boasts a fleet of over 24GW. Bigger than EMEA. Bigger than the rest of Asia. This excludes ~20GW of dated pipeline and another ~30GW of announced projects. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!dpt-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713c729d-e750-45c3-b09a-2cacd2f3bb59_4290x2414.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;, &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Growth is at an inflection point. &lt;/span&gt;In 2Q26, the combined capex of Alibaba, Tencent, and Baidu (&amp;#8220;BAT&amp;#8221;) reached $20B, more than doubling YoY, and for the first time on record, all three posted negative free cash flow. This is the largest capex step-up in the sector&amp;#8217;s history. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-k6q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e97ef02-346a-42fa-9676-b4975fa87339_2000x1120.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!-k6q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e97ef02-346a-42fa-9676-b4975fa87339_2000x1120.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;That total leaves out the largest spender of all, ByteDance, which remains private. According to our China Datacenter Model, ByteDance alone occupies roughly a fifth of delivered datacenter capacity in China, and it rents nearly all of it, making it the single most important customer for all wholesale colocation players in the country. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!x5jG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6636c148-c8b8-4256-892f-1f345a94134c_3000x1725.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The listed players get the attention, but they are only the visible tip of the iceberg. This is also true for datacenter landlords. GDS and VNET, the only two Chinese datacenter landlords listed in the US, signed 1.3GW of wholesale orders in 1H26. But according to our China Datacenter Model, they captured barely a third of ByteDance and Alibaba orders in 2024&amp;#8211;2026YTD.  &lt;/p&gt;&lt;p&gt;The buildout is a nationwide effort, and the state-owned carriers are also part of it. China&amp;#8217;s datacenter market was historically telecom-dominated. The state carriers held the majority of the market share in the 2010s, and still own a third of national capacity today. The national power grid companies invest aggressively too. Their combined capex accelerated from 2024, ending the 14th Five-Year Plan 24% over the original blueprint. The 15th plan (2026&amp;#8211;2030) layers another 40% on top, to over $746B (&amp;#165;5T). &lt;/p&gt;&lt;p&gt;Largely free of power constraints, labor shortages, and public protests, China routinely delivers 100MW datacenter facilities in under 12 months. Modular DCs are the standard playbook, which Tencent deployed its third-gen modular design in 2014. What is old news in China is only now being adopted at scale in America, as we detailed in &lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;The Wild Wild West of LEGO Datacenters&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The growth does not stop at China&amp;#8217;s border.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Overseas leasing by Chinese hyperscalers is set to double from 2026 to 2029 and approach ~4GW of leased capacity in our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;SemiAnalysis Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. That number still understates their offshore compute, because it excludes the hundreds of thousands of GPUs they rent from Western clouds, which we covered at length in &lt;/span&gt;&lt;a href="https://semianalysis.com/2025/06/30/how-oracle-is-winning-the-ai-compute-market/"&gt;&lt;span&gt;How Oracle Is Winning the AI Compute Market&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the market also faces some dark clouds. Vacancy rates are high, and datacenter developers compete heavily on price. Chip supply is also constrained, due to export restrictions. But as explained below, neither has stopped AI datacenters from being built and filled at a remarkable speed. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;In this report we cover, in order: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Introduction to China&amp;#8217;s datacenter industry: the world&amp;#8217;s second-largest market, built retail-first, and why that history produced overbuild and high vacancy alongside an AI capacity shortage.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The westward buildout: how the &amp;#8220;Eastern Data, Western Compute&amp;#8221; policy and hyperscale AI demand are moving the industry inland, at construction speeds and unit costs the West cannot match.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Behind the paywall: we go tenant by tenant through ByteDance, Alibaba, Tencent, Baidu, and Huawei, from their AI and datacenter strategy to leasing and self-build footprints.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Introducing the SemiAnalysis China Datacenter Model&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;This report is a preview of the &lt;/span&gt;&lt;strong&gt;&lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;&lt;span&gt;SemiAnalysis China Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;span&gt;. It is the China counterpart to our global &lt;/span&gt;&lt;strong&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;SemiAnalysis Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;span&gt;, built to the same standard, bottom-up and building by building. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Contact our sales team at sales@semianalysis.com for more information.&lt;/p&gt;&lt;p&gt;&lt;span&gt;What you&amp;#8217;ll find inside:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Tracking over 1,000 facilities across 60+ operators&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Quarterly delivery curves through 2032 for every facility, with construction status and timelines&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Tenant identification per building, supplemented by tenant allocations per customer-mix for leading operators&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Hyperscaler self-build vs leased splits and per-tenant capacity paths&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A lease signing tracker and a lease delivery tracker, on one reconciled basis&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Eastern Data, Western Compute (&amp;#8220;EDWC&amp;#8221;) hub and cluster analytics, load-growth and power-draw forecasts&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;An interactive full map view showing where the capacity is concentrated&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Consider it the opening chapter. As with our global &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we will keep adding layers (AI capacity, power, suppliers, supply/demand analysis) with every update. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s dive in.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;China&amp;#8217;s datacenter industry: built retail-first, flipped by AI&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;One of America&amp;#8217;s key advantages in the AI infrastructure race is that its datacenter industry grew up hyperscale. Multi-hundred-MW campuses have existed for years, purpose-built for a handful of enormous tenants. China&amp;#8217;s industry was shaped by telecom carriers and thousands of small retail deployments. Understanding that history explains what&amp;#8217;s strange about the market today, from overall high vacancy coexisting with an AI capacity shortage, to why the carriers still own a third of everything.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following chart previews the whole story. Between 2010 and 2022, a leading colocation player in China watched its utilization rate shrink from the mid-70% range to the mid-50% range. Then, from 2023 onwards, its segment disclosure reveals a two-speed market. Wholesale buildings are filled fast on AI demand, back above 70% utilization, while the legacy retail racks sit near 60%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!_P5e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64df824-b5a1-436a-9973-87b6a0cf264c_2145x1207.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: VNET disclosure, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 1 &amp;#8212; Carrier hosting (pre-2015): datacenters as telecom real estate&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Unlike the rest of the world, where hyperscalers and colos dominate, China&amp;#8217;s datacenter market was historically telecom-dominated. The three state carriers (China Mobile, China Telecom, China Unicom) held a combined 60&amp;#8211;70% market share, with GDS and VNET, the largest third parties, below 5% each. The carriers enjoyed structural advantages in licensing and networking and benefited from captive demand. A large share of Chinese datacenter demand comes from government, SOEs and regulated industries, which default to state-owned suppliers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For its first two decades, a Chinese datacenter was essentially telecom real estate, featuring low-density retail racks (~90% of facilities ran below 2kW) rented to websites, online gaming and CDN customers. This was often offered as a bundled product with bandwidth, served by small urban switching centers around Beijing, Shanghai and the Pearl River Delta. Third-party operators existed largely as resellers of carrier space and bandwidth. The hyperscalers were barely a factor, as Alibaba Cloud was launched in 2009 and Tencent Cloud only opened to the public in 2013.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This era matters today because its stock is precisely the capacity now sitting vacant. The legacy retail racks no longer match what an H20 or Ascend server demands, and it&amp;#8217;s impractical to retrofit given partial occupancy and high cost. The headline utilization number of ~50% is largely a monument to Era 1 (and Era 3, as we&amp;#8217;ll see).&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 2 &amp;#8212; The cloud land grab (2015&amp;#8211;2021): growth at any price&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The cloud era began around 2015. The two leading players, Alibaba and Tencent, concluded that it was a winner-take-all market and opened a capex race. Alibaba Cloud revenue compounded at a ~110% CAGR across 2015&amp;#8211;2019, at the cost of a brutal price war and EBITA losses. Its core products were marked down more than 50% after 17 consecutive price cuts during a 12-month window. Tencent responded in kind, driving combined hyperscaler capex to a 2021 peak.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Third-party colocation platforms (GDS, VNET, Chindata) scaled alongside them. Retail developers, meanwhile, kept building small urban sites on the assumption that cloud demand would spill over indefinitely.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 3 &amp;#8212; Digestion (2022&amp;#8211;2023): the music stops&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The wild expansion stopped abruptly in 2022. Policy headwinds, macro slowdown, and share gains by state-owned clouds pushed Alibaba Cloud growth from +50% in 2021 to +23% in 2022, then to effectively zero. Tencent management framed it as a repositioning &amp;#8220;from pursuing revenue growth to healthy growth&amp;#8221; and saw a similar slowdown. Tencent cut capex budgets by nearly half in the middle of 2022. Alibaba did so in 2023.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!J3Uc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda157796-9830-4c13-b321-2dac61de032a_2000x1120.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!J3Uc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda157796-9830-4c13-b321-2dac61de032a_2000x1120.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Company filings, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Almost simultaneously, in February 2022, the National Development and Reform Commission (&amp;#8220;NDRC&amp;#8221;) launched Eastern Data, Western Compute guidelines and named ten computing clusters within eight national hubs. These regions, especially the western ones, enjoy fast track permitting and cheap green power. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The result was an oversupply despite a slowdown in delivery. Pricing was hit most. Power-exclusive market rates were cut in half from ~$80/kW/month. On the August 2026 earnings call, GDS management estimated another 18 months to fully digest the price reset, even though it has been going on for a few years.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Era 4 &amp;#8212; The AI supercycle (2024&amp;#8211;): full steam ahead&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;DeepSeek and the hyperscalers&amp;#8217; own GenAI ambitions woke the market up over the course of 2024-2025. Combined BATB (ByteDance/Alibaba/Tencent/Baidu) capex went from roughly $35B in 2024 to over $50B in 2025 and is on a trajectory to $100B for 2026.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Wholesale orders returned at a scale never seen before, and the western hubs finally found their tenant. GDS and VNET together signed roughly 1.3GW of wholesale capacity in 1H26, with less than 10MW of retail orders. The AI era is wholesale. The legacy retail stock is not participating. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But watching only these two listed names badly understates total demand, as they only capture ~1/3 of ByteDance and Alibaba orders in 2024&amp;#8211;2026YTD per &lt;/span&gt;our China Datacenter Model.  &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!626x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd288fa6e-b09b-4391-bd6c-c9598fe3d017_6000x3450.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To recap, the four-stage history explains China&amp;#8217;s datacenter market today: (1) a retail-focused legacy stock around Tier-1 cities, running 30-50% utilization, often physically unsuitable for AI densities; (2) a wholesale AI-driven buildout happening somewhere else entirely; and (3) a carrier share in structural decline, as hyperscaler self-build and third-party wholesale take over the growth.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Eastern Data, Western Compute: the pipeline is heading west&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The EDWC policy designates eight national computing hubs, implemented as ten clusters, spanning both the demand centers (Beijing-Tianjin-Hebei, Yangtze River Delta, Greater Bay Area, Chengdu-Chongqing) and the resource-rich west (Inner Mongolia, Ningxia, Gansu, Guizhou).&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6DW4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03ef8c4f-c5c3-497d-8d0f-98ddd3a75017_1430x869.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!6DW4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03ef8c4f-c5c3-497d-8d0f-98ddd3a75017_1430x869.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NDRC, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This is the industry&amp;#8217;s top-level design blueprint, and unlike most &amp;#8220;guidance&amp;#8221; documents, it actually changed how the industry develops. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The policy itself has been covered extensively. What is missing, and what matters, is the transmission mechanism. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In China, the first permit a datacenter developer applies for after securing land is an energy-consumption review filed with the local Development and Reform Commission. That quota is the binding cap on how large a facility can be. Any project consuming over 10,000 tons of coal equivalent (&amp;gt;10MW) cannot legally begin construction without passing this review.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The review regime dates to 2010 and became a rationing tool over time. When EDWC arrived in 2022, the quota system became the most effective mechanism because the same offices that issue quotas are the ones implementing the EDWC policy, so quotas effectively stopped construction flowing to non-hub locations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Guangdong is the cleanest example. The province stopped issuing datacenter energy quotas in 2021-2022 and reopened applications only for the EDWC hub region in Shaoguan. Similar quota control governs the other eastern metros. Meanwhile, EDWC regions hand out energy quotas, land approvals and tax incentives generously.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite the mechanism, for the first two years, migration was slow because the demand of the day (cloud, gaming, e-commerce) required low latency to population, so hyperscalers kept fighting for scarce quota near Tier-1 cities.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A little-noticed episode illustrates how the quota system played out in practice. In mid-2023, Guangdong&amp;#8217;s Energy Bureau inspected Tencent&amp;#8217;s two self-built campuses in Qingyuan and found each running at roughly 13&amp;#8211;14x its approved scale. The projects were labeled &amp;#8220;approved small, built big&amp;#8221;, and ordered rectification within six months. The local grid company was instructed to hold power supply to the approved quota. Even for Tencent, incremental builds now belong to the province&amp;#8217;s designated hub node.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HIcv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbeb6575-13fa-4312-9ece-7af214919aab_2880x1185.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="599" src="https://substackcdn.com/image/fetch/$s_!HIcv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbeb6575-13fa-4312-9ece-7af214919aab_2880x1185.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Guangdong Energy Bureau&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Today, the campuses keep operating, but as our China Datacenter Model shows, Tencent&amp;#8217;s subsequent capacity went to Shaoguan. The reason is not simply regulatory pressure. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two other things changed the picture.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, telecom-led fiber investments have significantly reduced latency. Shaoguan again is the model case. Since 2022, the local government has invested ~$600M (~&amp;#165;4B) in network infrastructure, building 13 ultra-high-speed 400G all-optical routes covering the Greater Bay Area, achieving 1.3ms one-way latency to Guangzhou, 1.66ms to Shenzhen, and under 3ms to Hong Kong. A direct Shenzhen-Guangzhou-Shaoguan hollow-core fiber corridor has been planned to cut latency a further ~30% from 2027 onwards. At those numbers, a Shaoguan rack is functionally a Shenzhen rack for all but the most latency-critical workloads.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, AI demand did the rest. Training workloads don&amp;#8217;t care about latency, but they care about power prices.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Inner Mongolia is the best example here. The region has China&amp;#8217;s largest renewable fleet and, critically, western Inner Mongolia is served by the Mengxi grid, China&amp;#8217;s only provincial grid outside State Grid and Southern Grid, with its own multilateral trading mechanism and independent pricing. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a result, Inner Mongolia has emerged as China&amp;#8217;s Johor, the default destination for hyperscale AI capacity, with generous quota allocations, land measured in square kilometers, and, most importantly, power prices at roughly half the Tier-1 city level. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Johor parallel runs deeper than land and power. On economics, Chinese rents are far lower, but so is the capex, while Johor rents are higher, but so is the cost to build. Our data shows that the two markets' yield-on-cost ranges overlap, with the best Inner Mongolia campuses underwriting to the return of Johor's international developers. However, the trends diverge. Inner Mongolia construction costs keep falling as the prefab approach and domestic substitution compound, while Johor developers face capex inflation and overrun risk in a supply chain running hot. Chinese operators building in Johor enjoy geographical arbitrage leveraging the Chinese supply chain and earn higher yields. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Zoom out from Inner Mongolia, though, and the ten clusters tell very different stories. It is easiest to see when the map is weighted by what is actually live and what is committed, rather than by what the policy designated, as the map below shows. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="887" src="https://substackcdn.com/image/fetch/$s_!saNj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f843542-f0e7-4c8e-96cf-6ee1af5a6c75_1964x1197.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A recurring media take holds that EDWC is a boondoggle of empty western shells. The simplest rebuttal is to look at where the hyperscalers put their own money. As our tracking shows, ByteDance currently operates three self-build clusters: Datong in Shanxi (its earliest), Wuhu in Anhui (an EDWC cluster, serving east-China inference) and a twin-site Inner Mongolia program (Horinger and Ulanqab), with two Ningxia entities registered in Zhongwei (another EDWC region) in July 2026 pointing to a fourth. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Outside of Inner Mongolia, development across the clusters is sharply divergent, but much of that divergence is by design. Gui&amp;#8217;an was positioned from the start as a storage hub, as cold data doesn&amp;#8217;t mind the mountains. The most famous anchor tenant is Apple&amp;#8217;s iCloud China datacenter, operated with Guizhou-Cloud. Less reported is that Huawei and Tencent both have self-build clusters in this region.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Chengdu and Chongqing are different stories. They are pitched as national compute hubs but lost the AI-demand contest to Inner Mongolia on power price and grid flexibility. EDWC succeeded in concentrating the buildout inside the map, and the market then picked the winners within it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Shanxi is the opposite. It is the largest datacenter region outside the EDWC hub system entirely (the red diamond on the map above), but attracted close to 2GW commitment from ByteDance, Baidu, and JD across self-build sites and colocation leases. The reasons are abundant cheap power (Shanxi is China&amp;#8217;s coal province), proximity to Beijing, and first mover advantage. Hyperscalers went there before EDWC existed and kept building out, proof that the quota regime channels the buildout, but electrons and geography still make the site selection.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Speed and cost: a different sport&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The US buildout is power-gated with interconnection queues, transformer lead times, behind-the-meter workarounds, which we have covered at length &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. China&amp;#8217;s is chip-gated: generation is abundant, state-owned utilities treat datacenter load as a development win, permitting is a policy funnel rather than a bottleneck, and construction labor is plentiful. With no physical friction on the facility side, the build cycle is driven purely by internet platform demand.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On speed, the standard delivery time for a 100MW facility has compressed from ~18 months in the cloud era to ~12 months in the AI era, with state-of-the-art projects finishing faster still. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For reference, our US modular deep dive &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;&lt;span&gt;The Wild Wild West of LEGO Datacenters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; found the best-case full-modular buildout in the US still takes 12&amp;#8211;18 months of construction, sitting behind 12&amp;#8211;13 months of permitting that cannot overlap. For China, the permitting period before construction is typically 3&amp;#8211;6 months, and faster in EDWC regions. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Several structural factors contribute to the overall faster speed. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, speculative shells ahead of orders. Because hyperscalers now run T+6-month delivery requirements in their tenders, colocation developers pre-build civil works at their own risk, making the tenant competition effectively a race among half-finished shells. When GDS signed a 152MW AI mega-order in early 2025, the customer required delivery within six months and got it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, building greenfield sites in western EDWC hubs changed the construction method. Away from Tier-1 land constraints, developers are moving from conventional multi-story concrete to low-rise, long-span steel halls. The steel is made in a factory while foundations are dug on site, then trucked in and lifted into place by crane. Concrete is used only in the ground, so there is no waiting for it to harden before the next floor goes up. VNET&amp;#8217;s Ulanqab footage shows a hall go from bare foundations to a finished building within one summer-to-winter season. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xddW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8229e38-4730-4880-9b5e-02e038ff1467_2424x2398.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1440" src="https://substackcdn.com/image/fetch/$s_!xddW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8229e38-4730-4880-9b5e-02e038ff1467_2424x2398.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: VNET videos, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Tencent&amp;#8217;s T-Block takes the same logic to its extreme. The entire datacenter arrives as factory-built modules, with the &amp;#8220;building&amp;#8221; shrinking to a leveled site and a simple steel shell, sometimes no building at all.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aSxy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F792836a5-042c-4d0d-870f-51b7a38ce598_2400x2401.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1457" src="https://substackcdn.com/image/fetch/$s_!aSxy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F792836a5-042c-4d0d-870f-51b7a38ce598_2400x2401.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tencent Video, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Third, prefabrication turns a serial schedule into a parallel one. The bulk of MEP work moves off-site into factories, so electrical and mechanical fit-out no longer waits for the building. The headline example is Alibaba&amp;#8217;s CUBE 5.0 &amp;#8220;100-day datacenter&amp;#8221;, comprising 30 days of factory production and site prep, 50 days of on-site installation, and 20 days of commissioning, measured from a finished shell to the day servers arrive. This roughly halves M&amp;amp;E and commissioning stage compared with market standard 6-month, and brings ground-break to commissioning down to roughly 7&amp;#8211;9 months.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Every factor above points in the same direction, which is more factory, less site. Follow that logic to its endpoint, and you would expect Tencent-style full-modular container campuses to be the national standard by now. They aren&amp;#8217;t, for two very Chinese reasons.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, the labor math is different. Modularization&amp;#8217;s biggest payoff in the West is dodging scarce, expensive skilled trades. Chinese site labor is affordable and abundant, so a traditional steel-and-prefab build already hits aggressive schedules. The marginal speed gain from going full-container is small.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, the financing dynamics play a role. Chinese colocation developers pledge their datacenters to banks as loan collateral. A proper building with a 20-year design life appraises well, but a yard of containers appraises poorly and carries lower residual value. When your business model is &amp;#8220;borrow against the asset, lease it to ByteDance,&amp;#8221; you build a real building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Today, full-modular builds remain limited to hyperscaler self-builds and Southeast Asia projects, but overall construction speed is as fast as needed. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On cost, capex keeps falling even as speed rises. Continued supply-chain compression and rising domestic content have pushed shell-and-fit-out costs to a fraction of comparable US wholesale costs, as we show in our model. Alibaba credits its modular approach with a further &amp;gt;10% cost reduction compared to its earlier version on top of the schedule gains.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!5kB3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887e6a5d-807a-4455-9658-cc3e2e6f258e_4290x2414.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The demand: five hyperscalers, multiple playbooks&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The demand side of China&amp;#8217;s AI buildout is concentrated in a handful of names: ByteDance, Alibaba, Tencent, Baidu, and Huawei. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Like their American counterparts, they span social media, e-commerce, search, gaming and short video. However, the consumer internet that built these companies has run out of new users. Today, China&amp;#8217;s internet penetration already sits at ~80% and grows only ~1.5% a year. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The growth engines of the past are all in single digits. &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Social media: Tencent&amp;#8217;s core asset, WeChat, grew MAU just 2% YoY in 2025. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Search engine: Baidu&amp;#8217;s 2025 revenue fell 3% with online marketing down double digits. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;E-commerce: Alibaba&amp;#8217;s customer management revenue fell 7% YoY in the quarter ended June 2026. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Short-video: Kuaishou&amp;#8217;s 2025 DAU grew just 2.7% YoY. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Outside of consumer apps, the same titans lead the cloud industry, with a structural handicap. The market is dominated by Alibaba, Huawei and Tencent alongside the three telecom carriers. But unlike the US hyperscalers, which generate roughly a third or more of their cloud revenue outside the US, Chinese cloud revenue is largely domestic. Alibaba Cloud, the most global of the group, still earns only ~20% of cloud revenue overseas, and the carrier clouds are effectively 100% domestic. In terms of &amp;#8220;addressable GDP,&amp;#8221; the core market of the US tech titans is simply much larger.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Against that backdrop, AI has become the growth engine, which drives the capex inflection point in 2Q26 we mentioned earlier. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond funding their own model R&amp;amp;D, the big platforms have built an investment web across China&amp;#8217;s GenAI labs. Alibaba invested in five LLM unicorns. Tencent backed six and wrote the largest external ticket in DeepSeek&amp;#8217;s Series A. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The labs, in turn, train and serve on the hyperscalers&amp;#8217; clouds (in the case of the Alibaba/Moonshot relationship) or have their models served inside the hyperscalers&amp;#8217; products (in the case of the Tencent/DeepSeek relationship). Either way, the hyperscaler datacenter expansion is the compute foundation for the entire domestic AI ecosystem. Hence the deep dives that follow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We provide a snapshot below showing where the hyperscalers stand: &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="764" src="https://substackcdn.com/image/fetch/$s_!3Fa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a08dbe-5719-4101-a570-7130905f25bf_3000x1575.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The leasing&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Today, ByteDance and Alibaba each issue annual leasing demand at gigawatt scale and both are actively expanding overseas. ByteDance's is the largest and leases majority of its footprint, so its tender calendar effectively sets the order book for every wholesale operator in the country. Alibaba, as we show below, splits the demand across self-build, BOT and wholesale. Tencent is the most disciplined. It spent the 2022&amp;#8211;23 downcycle closing small leased metro sites and consolidating into its own campuses, before leasing picked up again in the AI era. Baidu tenders at a fraction of the others&amp;#8217; scale. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The self-builds&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: In the 2010s, Chinese hyperscalers began self-building datacenters as their businesses reached sufficient scale, and the strategies have diverged since. Alibaba, Tencent, and Baidu self-build their strategic campuses and lease the rest. Huawei self-builds almost everything because of its business model. ByteDance, the primary tenant, is now ramping its own campuses fast. Our China Datacenter Model tracks all self-builds, and the map below shows the current landscape.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://semianalysis.com/china-datacenter-model/" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="888" src="https://substackcdn.com/image/fetch/$s_!IUjQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F169d3ef6-e6ae-4b15-b45d-18d5a61c8ca4_3297x2010.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/china-datacenter-model/"&gt;SemiAnalysis China Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Between pure leasing and pure self-build, a hybrid structure called BOT also emerged. The real anatomy is a two-layer ownership split. The hyperscaler owns the land and the civil shell, while the colocation partner invests in, owns and operates the M&amp;amp;E layer and recovers its capital through 8&amp;#8211;10-year service contracts. In this way, the hyperscaler keeps control and speed, the partner&amp;#8217;s balance sheet carries the capex, and the IRR is contracted rather than merchant. All three of BAT run some version of this playbook. Alibaba partners with AtHub, Tencent with Kehua Data, and Baidu with Aofei. Alibaba takes the mixing furthest, running self-build, BOT, and wholesale leases side by side within the same cluster, as we discuss below. &lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming asubscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;ByteDance: TikTok parent, China&amp;#8217;s largest tenant, among the world&amp;#8217;s largest GPU users&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/the-chinese-ai-infrastructure-boom"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-25T07:58:22+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/clustermax-30-the-industry-standard</id>
    <title>ClusterMAX 3.0: The Industry Standard GPU Cloud Rating System Returns</title>
    <updated>2026-09-23T13:20:29+00:00</updated>
    <author>
      <name>Jordan Nanos</name>
    </author>
    <content type="html">&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;This post has bonus content for paid subscribers. Upgrade to get full access.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Upgrade" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In 8 months since our last major release of ClusterMAX, slavering investors have just about run out of pockets to stuff checks into. GPU supply has gone to zero. Meanwhile, we have been hard at work putting clusters through the ringer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Weeks ago, we teased this report with some R-rated anecdotes from our experiences probing the security practices of neoclouds, eliciting a PSA from a neocloud customer that you may have heard of.&lt;/span&gt;&lt;/p&gt;&lt;div class="twitter-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Today, we finally go through the full breadth and depth of our testing, more thorough in ClusterMAX 3.0 than ever before. This includes compute, networking, storage, orchestration, UI, monitoring, support, and just about everything that you could think to check on a GPU cloud. We&amp;#8217;ll explain who&amp;#8217;s been cutting deals, whose engineers have been hard at work, and whose clusters you should negotiate to come with a bottle of Aspirin.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Without further ado, voil&amp;#224; the ClusterMAX 3.0 podium:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!av5g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2130ed4-61b4-49a8-98e5-03408801831c_1432x880.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="880" src="https://substackcdn.com/image/fetch/$s_!av5g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2130ed4-61b4-49a8-98e5-03408801831c_1432x880.png" width="1432" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX 3.0, September 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VHk0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb4097-5b9c-4863-a7d1-533dce1fde2a_1258x711.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="711" src="https://substackcdn.com/image/fetch/$s_!VHk0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb4097-5b9c-4863-a7d1-533dce1fde2a_1258x711.png" width="1258" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Neocloud Dashboard, available to our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO Model&lt;/a&gt; subscribers&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Results (Executive Summary)&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href="https://youtube.com/@semianalysis?si=4_Vv7QxIgISst4Rn"&gt;&lt;span&gt;YouTube&lt;/span&gt;&lt;/a&gt;&lt;span&gt; summary video and podcast discussion coming soon!&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;ClusterMAX 3.0 debuts with a comprehensive review of the neocloud industry, covering 77 providers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We increase our market view to cover 323 providers, up from 209 in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, 169 in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-gpu-cloud-clustermax-rating-system-how-to-rent-gpus"&gt;&lt;span&gt;ClusterMAX 1.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and 124 in the original &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ai-neocloud-playbook-and-anatomy"&gt;&lt;span&gt;AI Neocloud Playbook and Anatomy&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We have now interviewed well over 200 end users of neoclouds as part of this research.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We update our &lt;/span&gt;&lt;a href="https://www.clustermax.ai/criteria"&gt;&lt;span&gt;itemized list of criteria across 10 categories&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and update our direct descriptions of our &lt;/span&gt;&lt;a href="https://www.clustermax.ai/expectations"&gt;&lt;span&gt;expectations for Slurm, Kubernetes, Standalone Machines, Monitoring Dashboards, and Health Checks&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. All of this content is live on our website. We encourage providers to use these lists when developing their offerings. We still consider these lists as an amalgamation of our experience interviewing end users, making them representative of the features that end users expect from their cloud providers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Nebius joins CoreWeave in the Platinum tier. While CoreWeave still sets the technical bar for others to follow, Nebius is now established as a provider that consistently commands a premium pricing over others. Strong business decisions by Nebius have put them in a position to serve an entire class of neolabs at seller&amp;#8217;s prices.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Google Cloud joins Oracle in the Gold tier. Azure moves to Silver, Fluidstack moves to Unavailable, and Crusoe drops to Bronze. Lambda, Firmus and TensorWave remain in Silver, while GMI moves up to Silver from Bronze.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Many companies drop from Silver (or Gold) to Bronze or lower. We raise the bar this round as only 19 neoclouds globally achieve a Medallion rating.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We establish a tier between Bronze and Underperforming: the Participation Ribbon tier. 15 providers join this rating, which more accurately describes our opinion that they do the bare minimum to get by.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;The rest of this article provides analysis of key trends: Financing, Blackwell and Grace-Blackwell deployments, the Move To Vera Rubin, Scale Out Networks, Reliability, Security (of course), and Agentic Coding. We provide an Appendix with individual comments about every provider that once again stretches this article to over 30,000 words. We hope you enjoy.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;hr /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;In light of the SemiAnalysis imperative to publish the most rigorous possible testing of&amp;#8230; everything&amp;#8230; we are hiring MTS for ClusterMAX and adjacent projects. If you are a neocloud sicko, fire off an application here and let&amp;#8217;s get to work.&lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;We are also hiring across Research, Consulting, and Technical Staff&lt;/a&gt;. We have multiple openings in our New York and San Francisco offices. Remote work is also acceptable.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-clustermax"&gt;ClusterMAX MTS&lt;/a&gt; (full time): All levels of experience with Slurm, Kubernetes, and GPUs considered.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-tokenomics"&gt;Tokenomics MTS&lt;/a&gt; (full time): All levels of experience with model evals, harnesses, inference endpoints, and RL infrastructure considered.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Research Analyst &amp;#8211; AI Infrastructure and Economics (&lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-ai-infrastructure-economics"&gt;full time&lt;/a&gt; or &lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-intern-ai-infrastructure-economics"&gt;internship&lt;/a&gt;): All levels of experience covering the financials of neoclouds, neolabs, and frontier labs tokenomics considered.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-technical-consultant"&gt;Technical Consultant&lt;/a&gt; (full time): Lead engagements from technical strategy to technical due diligence. All levels of experience from consulting and technical backgrounds considered.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;h1&gt;&lt;span&gt;Scope&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;For the folks in the back: we are ranking managed clusters. This excludes a number of popular offerings throughout the industry. We are not testing who can build the best powered shell or run the tidiest datacenter&amp;#8212;at least not directly. We are not handcrafting our images or hitting an API endpoint for tokens as a service. Here&amp;#8217;s our idealized ClusterMAX reader: You dropped out of your Stanford PhD to pursue your dream of acquiring social status in San Francisco, getting started with the old reliable &amp;#8220;Cladue make me pithc deck w technial languge for agetnci ai make no mistakes.&amp;#8221; You have 7 or even as many as &lt;/span&gt;&lt;a href="https://www.businessinsider.com/jeff-deans-startup-discovery-loop-is-eyeing-a-valuation-2026-9"&gt;&lt;span&gt;10 figures&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to wager on compute, but you don&amp;#8217;t have any opinion on Ubuntu versions or how to handle NAT, and you&amp;#8217;ve never managed a fleet at scale. Ideally, all that infrastructure will fade into the background. You just want to focus on your idiosyncratic perf optimizations, model architectures, training strategies, data mixes, applications, or wherever else you seek your edge. To compete, you need bleeding-edge hardware, and you aim to spend 0 engineering time trying to figure out why GPU 7 in node 19 has been stalling your job, or why a quarter of your cluster has disappeared altogether. You need a managed cluster.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The economic argument here is straightforward: a neocloud can amortize the cost of standing up all this management infrastructure over its huge fleet. It pays a team of engineers to build bulletproof health checks, keep its machine images up to date, make convenient monitoring systems, and handle all the related chores that we cover in great detail further on. In an ideal world, a lab pays a markup for a much better product; it gets to run its experiments without being held back by its hardware; the neocloud recoups its investment; everyone is better off.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There comes a point, though, when labs are willing to internalize this cost. At their scale, frontier labs are not willing to trust a neocloud with so much of the stack. OpenAI, for instance, has posted extremely insightful blogs about its &lt;/span&gt;&lt;a href="https://openai.com/index/scaling-kubernetes-to-7500-nodes/"&gt;&lt;span&gt;difficulties scaling Kubernetes&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; the innovations described would have been simply impossible if they were renting from a neocloud who didn&amp;#8217;t let them into the K8s control plane. As &lt;/span&gt;&lt;a href="https://job-boards.greenhouse.io/anthropic/jobs/5211241008"&gt;&lt;span&gt;a current Anthropic job posting&lt;/span&gt;&lt;/a&gt;&lt;span&gt; puts it:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;We are operating at a scale where the defaults stop working. We own the scheduler and extend it to place topology-sensitive ML workloads across thousands of accelerators at once. We scale the control plane itself &amp;#8212; apiserver, etcd, controllers &amp;#8212; so it stays responsive as object counts and node counts grow by orders of magnitude. And we build the core cluster services every workload depends on, like service discovery, so they hold up under the same pressure.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Suffice it to say that labs of OpenAI and Anthropic&amp;#8217;s speed and size need to co-design their whole stack simultaneously, and an off-the-rack Slinky implementation&amp;#8212;even a good one&amp;#8212;won&amp;#8217;t cut it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The obvious care that frontier labs take in managing their infrastructure goes to show why ClusterMAX matters. The sum of the salary ranges for OpenAI and Anthropic open positions with &amp;#8220;Kubernetes&amp;#8221; in their descriptions is, last we checked, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;$27,769,274-$42,687,654&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, not to mention the salaries they pay to the huge teams they already staff. If you&amp;#8217;re not anticipating a trillion-dollar liquidity event and you need your infra to be good enough to give you a fighting chance, you need a neocloud to do the heavy lifting for you.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At least on paper, smaller neocloud customers are David fighting Goliath. OpenAI and Anthropic have remarkable growth rates on their respective &lt;/span&gt;&lt;s&gt;&lt;span&gt;logistic&lt;/span&gt;&lt;/s&gt;&lt;span&gt; exponential curves, and our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; currently models them at 56.3% of all lab compute YE2027.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!f3nA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd167da3e-8fe2-4d65-b6f2-c3c226d7ebad_2100x758.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="758" src="https://substackcdn.com/image/fetch/$s_!f3nA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd167da3e-8fe2-4d65-b6f2-c3c226d7ebad_2100x758.png" width="2100" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;OpenAI Compute Capacity. Source: &lt;a href="https://tokenomics.semianalysis.com/openai/financials"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As we will describe in more detail later, there is also a Matthew principle in effect here, due to financing: the profitable frontier labs have an easier time locking down capacity than smaller ones, which get stuck with fat prepays, worse prices, and a much harder time planning years in advance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Does this mean that managed clusters are dead? cLUsTerMaX iS wAshED? In truth, although Anthropic and OpenAI are taking larger slices by the year, managed clusters as a business are still growing exponentially. We&amp;#8217;ve helped countless labs find compute, countless more are on the hunt, willing to pay, and waiting for more capacity to come online. Anthropic and OpenAI are the biggest customers, but there is a long tail of mere multi-hundred-million-dollar deals whose aggregate value is enormous.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One plausible scenario in which managed clusters gain ground on frontier-lab bare metal involves open-source progress. Serving open-source models is already more lucrative than many realize; we recently modeled that &amp;#8220;&lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/you-can-make-over-100m-per-mw-per-year-selling-open-source-tokens/"&gt;&lt;span&gt;you can make over $100M per MW per year selling open source tokens&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; leaving plenty of room for profit even at today&amp;#8217;s rental prices. One could imagine open-source models increasing their market share, whether the marginal adopter is more cost-sensitive or algorithmic progress closes the gap to closed-source. Regardless of the dynamics, this would increase the relative standing of managed clusters. Just about any supply-side fracture would make labs marginally less willing to handle the infra, and marginally more willing to rely on neoclouds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The layers on top of these clusters are rapidly maturing, but they lie outside the scope of ClusterMAX. There&amp;#8217;s a handful of niches to consider. There are inference endpoints, which can be either public or private, and bill by the token. There are post-training services, which customize open-source models for specific use-cases. And there are sandbox services, which provide the infrastructure for agents, especially during RL rollouts, and simplify and optimize container and CPU management. These all fit loosely in the category &amp;#8220;GPU services&amp;#8221; and the border between them can be blurry. For example, a cloud might spin up an inference endpoint with spare capacity after it&amp;#8217;s sold managed clusters, or it might provide sandbox infrastructure and also consume it internally as it sells RLaaS. We will be publishing much more about this in the near future, but it is beyond the scope of this report.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Testing Methodology&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;For ClusterMAX 3.0, we requested the following from every provider:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;32 GPUs (4 nodes of 8-way HGX, or 8 nodes of 4-way NVL72)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High bandwidth network (we asked for 800G RoCE or XDR InfiniBand, but many providers did not have it yet)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;10TB+ of high performance file storage (supporting NFS/POSIX mounts and a RWX StorageClass via csi driver)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;10TB+ of S3-compliant object storage&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A monitoring dashboard (usually based on Grafana)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;5 days to test Slurm, and 5 days to test K8s (can be done in parallel, on a SonK cluster, or sequentially, if the provider wanted to take the nodes back and re-provision them)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Blackwell, not Hopper (B200, B300, GB200, GB300) for NVIDIA, or MI355X for AMD are considered acceptable. H100 is now over 4 years old!&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;We tested the cluster through 3 phases, described below. Of course, we always complement this testing by contacting customers of all these providers and taking their feedback into account.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Phase 1: Audit&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;First, the Audit covers yes/no questions. Is the cluster setup properly? Is software installed? Is it up to date? Do utilities work as expected? It takes about 15 minutes to run. It&amp;#8217;s available on &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/ClusterMAX"&gt;&lt;span&gt;GitHub&lt;/span&gt;&lt;/a&gt;&lt;span&gt; or via &lt;/span&gt;&lt;strong&gt;&lt;span&gt;{uv} pip install clustermax&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The audit checks the configuration before we put it under load. It covers hardware inventory, software and firmware versions, GPU access, containers, scheduler configuration, networking, storage, health monitoring, and security. We check which components apply to the environment we&amp;#8217;re testing, and display pass, warn, fail, and skipped for all our checks. We have released this part for free and will maintain it over time. The rest we keep internally for now.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Phase 2: Performance&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Performance puts a pass/fail threshold on the performance characteristics of both the individual components of the cluster and the cluster as a whole. These are done through microbenchmarks, and real-world benchmarks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Specifically, we test:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;GPU Compute&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Networking&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Lifecycle&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Training&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Inference&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Below we explain this in more detail, but keep in mind that what we test evolves over time.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GPU Compute&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We start by checking the real-world GEMM performance on the GPUs. GEMMs are the most critical operation in modern AI workloads, which we have explained many times before, with Grouped GEMMs being particularly important for modern MoE models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We test Grouped GEMMs on cuBLASLt (or hipBLASLt) and DeepGEMM across many precision types: BF16, FP16, TF32, FP32, FP8 E4M3, MXFP8, and NVFP4, depending on what is supported by the chips in the cluster. We use a common set of shapes for different gate_up and down projections at varying batch sizes in the Kimi K2.5, K3 and DeepSeek V3, V4 Pro models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We then test GEMMs, GEMV bandwidth, and MAMF (Maximum Achievable Matmul FLOPS, from &lt;/span&gt;&lt;a href="https://github.com/stas00/ml-engineering/tree/master/compute/accelerator/benchmarks"&gt;&lt;span&gt;Stas Bekman&lt;/span&gt;&lt;/a&gt;&lt;span&gt;), which runs a sweep for a while on each GPU, per precision, using cuBLASLt (or rocBLAS). We report FLOPs for all of our GEMM tests.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!k5rj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2db658-0ea7-4ef5-acfb-5b8db57913e5_829x781.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="781" src="https://substackcdn.com/image/fetch/$s_!k5rj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2db658-0ea7-4ef5-acfb-5b8db57913e5_829x781.png" width="829" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!utME!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d603db1-709e-4fad-a1e4-d1bc4f5ea8f0_829x778.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="778" src="https://substackcdn.com/image/fetch/$s_!utME!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d603db1-709e-4fad-a1e4-d1bc4f5ea8f0_829x778.png" width="829" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We also test memory, through a GEMV test, and `nvbandwidth&lt;/span&gt;&lt;strong&gt;&lt;span&gt;`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. GEMV measures matrix-vector multiplication with a skinny vector, reporting GB/s as a proxy for the streaming behavior of low-batch decoding. NVIDIA&amp;#8217;s `nvbandwidth` utility is built into DCGM health checks, and measures h2d (CPU-to-GPU), d2d (GPU-to-GPU), and d2h (GPU-to-CPU) bandwidth. Finally, we also have a custom PyTorch script that measures the same paths through actual tensor copies, recording bandwidth for pinned h2d, d2h, and local HBM copies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Last, we test HPL-MxP for the boomers. HPL-MxP solves a large dense linear system using low-precision factorization, which means we hit compute, memory, and communication together. The test covers compute, HBM, MPI broadcasts over the scale-out network, NVLink, and numerical correctness in a single workload. We report FLOPs across a range of number formats depending on the chip type.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although GEMMs are the heart of modern AI workloads, these microbenchmarks very rarely distinguish providers&amp;#8212;it would be hard for a provider to mess up &lt;/span&gt;this functionality&lt;span&gt;. It&amp;#8217;s important to check raw GEMM perf is during an extended burn-in, as described later, when a chip&amp;#8217;s clock speeds might drop to avoid overheating if it is not properly cooled. On a GEMM burst, you&amp;#8217;re unlikely to find much of note. We run these tests on every provider because it&amp;#8217;s quick and because a cluster is immediately unusable if they fail, but we worry more about other tests.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Lifecycle&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In order to understand the ease of use of the cluster throughout its lifecycle, we have a set of contrived tests that we use. We start by checking internet speed using multiple approaches for download/upload speed, mostly from Cloudflare. We then test the time it takes to install common packages like PyTorch and vLLM via &lt;/span&gt;&lt;strong&gt;&lt;span&gt;pip&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;uv&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, as well as download containers from Docker Hub, ghcr.io, and &lt;/span&gt;&lt;a href="http://nvcr.io"&gt;&lt;span&gt;nvcr.io&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and pull a model from Hugging Face and ModelScope.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We then redo the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;pip&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;uv&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;strong&gt;&lt;span&gt;install&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; tests with fresh package caches on each available storage tier: home, shared filesystem, local NVMe scratch, and any additional mounts (referred to as `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;/home`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;/data`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;/scratch`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, and other). We then run `import torch` from each location to see how long that takes. On most providers, this takes 1-2 seconds, but on some filesystems with LOSF performance issues, it can somehow take 10-20 seconds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, we take the models downloaded earlier, and run a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;vllm serve&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; command to test the time until we can hit /v1/models. Again, while certain providers can load a small model into GPU memory from shared storage in 10-40 seconds, some providers take over 2 minutes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!B-8N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc822c9-bfcc-4b35-85bb-031a385dc56d_783x474.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="474" src="https://substackcdn.com/image/fetch/$s_!B-8N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc822c9-bfcc-4b35-85bb-031a385dc56d_783x474.png" width="783" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Networking&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We benchmark a wide suite of communication performance for inter-node and intra-node transfers. This includes MPI collectives, running NCCL or RCCL tests launched through MPI, measuring collective bandwidth and latency across message sizes from 8 B to 16 GB for all-to-all, all-reduce, all-gather, and other collectives. The same workloads are also run through &lt;/span&gt;&lt;strong&gt;&lt;span&gt;torch.distributed&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; in PyTorch. In addition, we use RDMA perftest, specifically&lt;/span&gt;&lt;strong&gt;&lt;span&gt; ib_write_bw&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;ib_read_bw&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, we measure point-to-point bandwidth on each network rail, along with host-memory fallback (via PCIe), to identify any issues.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We grow the world size in factors of 2 until we&amp;#8217;ve used our whole cluster, keeping track of how performance scales. We also run tests with NVLink disabled, particularly on GB200 or GB300 NVL72 clusters, in order to isolate the performance of the scale-out network. It&amp;#8217;s important to be careful in your accounting here, since world size, algorithm, and job placement relative to scale-out boundary materially affect results.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Chwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49e7f132-bc0e-43f9-9ad2-e569bff872e9_1654x186.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="186" src="https://substackcdn.com/image/fetch/$s_!Chwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49e7f132-bc0e-43f9-9ad2-e569bff872e9_1654x186.png" width="1654" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Quickly checking what&amp;#8217;s supported on our cluster&amp;#8217;s networking stack out of the box&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!cm7I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1712792-316c-44f0-a33c-3e3014dde8c5_739x829.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="829" src="https://substackcdn.com/image/fetch/$s_!cm7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1712792-316c-44f0-a33c-3e3014dde8c5_739x829.png" width="739" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!usC5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc38eaf49-3d21-47bb-aaac-5ccf43c614b8_733x915.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="915" src="https://substackcdn.com/image/fetch/$s_!usC5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc38eaf49-3d21-47bb-aaac-5ccf43c614b8_733x915.png" width="733" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We run fio, ior, Elbencho, a custom checkpoint save/load benchmark written in Torch and Torch DCP, and a custom datagen benchmarked shared with us by &lt;/span&gt;&lt;a href="https://www.skild.ai/"&gt;&lt;span&gt;Skild AI&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Datagen is probably the most interesting, as it approximates their real workload in a robotics data pipeline: aggregate write throughput generating the video (MP4) and parquet sensor dataset.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The test that finds the most issues, though, is good old-fashioned fio. We sweep sequential/random reads/writes with buffered/direct I/O with 1MiB sequential blocks and 4 KiB buffered / 64 KiB direct random blocks from c1 all the way up to c32, or, if we have more than 4 nodes, as many clients as the cluster can tolerate. If storage is misconfigured in any way, there is almost always some setting in this fio sweep that shows poor perf. We track throughput, IOPS, and latency, and of course we also discover inconsistencies in metadata if the test fails with too many clients.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xhtv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e56d45-b74d-4d51-8f3c-5b5ba1b33a35_734x749.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="749" src="https://substackcdn.com/image/fetch/$s_!Xhtv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e56d45-b74d-4d51-8f3c-5b5ba1b33a35_734x749.png" title="" width="734" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Of course, this significantly depends on how big the volume we&amp;#8217;ve been given is and how the SLO is defined. Take these results with a grain of salt&amp;#8212;the chart above really only shows that Azure gave us a PB-scale mount. This grain of salt also goes to show why having data on lots of clusters is important. Buffered tests, for example, have higher latency, as you might assume, and can also produce very noisy results if the test is not run for long enough. But how much higher latency, and how noisy? To know the difference between what&amp;#8217;s &amp;#8220;good enough&amp;#8221; and what needs to be flagged to a provider, it&amp;#8217;s crucial to compare to a big peer set.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For object storage, we run this suite again against an S3 bucket. We also run a custom benchmark that measures large object throughput on sequential read/write, small object PUT and GET rates, and read latency (p50, p90, p99). In this testing, we keep everything consistent. As always, though, if we notice a cluster struggles with a certain workload, we linger, running more tests to more precisely isolate the issue.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Training&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Moving into the real world, we start to see how issues on the network or storage reveal themselves in real testing. We run two jobs via torchtitan: llama 3.1 8B pretraining on the C4 dataset with FSDP, and GPT-OSS MoE training via torchtitan with expert parallelism. The former is FLOPs bound, the latter is collective bound (unless you&amp;#8217;re on NVL72). So, the latter makes it plain to see when something is wrong with the network.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uNkV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa1e9ed-5b12-4623-ac2a-0ee2a63462a5_740x714.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="714" src="https://substackcdn.com/image/fetch/$s_!uNkV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa1e9ed-5b12-4623-ac2a-0ee2a63462a5_740x714.png" width="740" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CNH3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F321be736-0b73-4b6a-b7ba-ba6fe06c960c_734x772.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="772" src="https://substackcdn.com/image/fetch/$s_!CNH3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F321be736-0b73-4b6a-b7ba-ba6fe06c960c_734x772.png" width="734" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Inference&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We run the InferenceX &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/agentx"&gt;&lt;span&gt;AgentX benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in single node and multinode scenarios with different models to find compute-bound, memory-bound and comms-bound regimes with profiling traces on, treating the InferenceX results as the benchmark performance result to compare to. As with our training tests, this highlights the importance of the various cluster components covered in the microbenchmarks. If a cluster can&amp;#8217;t survive NCCL tests, it certainly won&amp;#8217;t be able to produce many tokens, and our InferenceX tests show how goodput is lost.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Phase 3: Reliability&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Just because we see solid performance during a benchmark does not mean that the provider can drive solid &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;goodput&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and it certainly doesn&amp;#8217;t mean they will provide a nice support experience. So, we test reliability, monitoring and autoremediation in multiple ways.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Burn-in&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We start with an 8-hour burn-in on the GPUs and network, by running large GEMMs on the tensor cores and all-to-all communications at the same time, with a monitoring script tracking temperature, power, clock frequency, FLOPs, network connectivity, latency, bandwidth, and of course tailing the kernel ring buffer for any errors. You would be shocked how many hardware issues we induce with just this simple test. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We cannot emphasize strongly enough how important it is to stress the GPUs and the network at the same time.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Burn-in requires simultaneous thermal expansion and contraction of both of these components to approximate the real behaviour of these systems under real stress from real workloads. Lots of providers still use scripts that burn the GPUs and network separately.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Fabric&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Next, we test the sustained performance of the scale-out and scale-up network fabric by looping through all-to-all, all-gather, and reduce-scatter of large message sizes. We report average, minimum, and maximum bandwidth, plus collective errors. On the frontend network, we also test management-network packet loss, RTT, and TCP bandwidth between every directed pair across four nodes. It&amp;#8217;s not often that this extra test catches errors that the burn-in did not, but we like the data, and it has revealed big performance differences on certain Ethernet networks under load.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Continuing on, we test filesystem endurance by running 7.5 minutes of sequential mixed reads and writes, followed by 7.5 minutes of random mixed reads and writes, at each client count, using fio (as described previously). We increase clients across the allocation and report bandwidth over time, IOPS, tail latency, and performance degradation. Interestingly, we have seen some providers have bandwidth degradation of almost 40% under load, when compared to the initial benchmark.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When object storage is available, we also run a 15 minute mixed PUT, GET, LIST, and DELETE workload, measuring throughput degradation, p99 GET time-to-first-byte drift, throttling, and errors. We&amp;#8217;ve seen about a 10% difference in these tests.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Orchestration&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;On Kubernetes, we test &amp;#8220;churn&amp;#8221; by repeatedly creating/deleting GPU pods and checking the API for GPU allocation. We report both scheduling and startup latency, and report failures when &lt;/span&gt;&lt;strong&gt;&lt;span&gt;kubectl delete po&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; gets stuck. We also increase batches of CPU-only sandbox pods, measuring how many reach Ready, how long they take, and why the rest remain Pending.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Last, we test the PVC lifecycle by repeatedly starting a pod that mounts a volume, writes and fsyncs a file, then gets deleted. We wait for teardown between cycles and use a warmup cycle to remove the initial image pull from the measured runs.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Destructive&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Finally, we get to the fun part: breaking things on purpose.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, we reboot all the nodes in the cluster. You would hope that this is not a destructive test, but it is. On Kubernetes, we cordon and drain the node, issue the reboot, and require a changed boot ID, then wait for it to return to the cluster. The timer stops when we can run &lt;/span&gt;&lt;strong&gt;&lt;span&gt;nvidia-smi&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; in a fresh pod on the node. With Slurm, we just get an allocation or SSH and run &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sudo reboot&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Slurm-on-Kubernetes is a little different, so we attempt to do things from the Kubernetes layer to test it correctly. Our scripts time everything throughout.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For injecting failures, we start by using the DCGM injection method. If it doesn&amp;#8217;t work properly, we follow up by writing a synthetic NVIDIA XID or SXID message into the kernel log, and watch how the provider&amp;#8217;s existing health checks and scheduler respond. We leave their health agents and drain automation alone, so it&amp;#8217;s up to their tooling to detect the error and act on it. Most health checks are set up to read from the kernel ring buffer, but some are not, so we communicate with the provider to make sure that our trigger will work and that we have access to pull it. As a final, trusty method, we reset the GPU&amp;#8217;s upstream PCIe bridge, which produces a genuine XID 79.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In all these cases, we time how long it takes to detect the failure, how long the node stays in `DRAIN` state, and how long it takes to run a basic command once it returns to the cluster. On AMD systems, we inject a UMC RAS error and track everything the same way.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is our most critical test. Providers where we hear a bunch of customer complaints about reliability generally do not have health checks, monitoring dashboards, and autoremediation in place. Reliability is the #1 most important criteria to many of the biggest customers in the world, as we discussed in great detail in our article &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;How Much Do GPU Clusters Really Cost&lt;/span&gt;&lt;/a&gt;&lt;span&gt;?&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2sN2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa331e4d-ca20-4efb-a547-4c4b45f38fd8_923x756.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="756" src="https://substackcdn.com/image/fetch/$s_!2sN2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa331e4d-ca20-4efb-a547-4c4b45f38fd8_923x756.png" width="923" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is worth noting that our hands-on testing is only a part of the overall ratings. There are many things that we cannot test hands on, and need to use other research methods to understand in detail. Namely, performance at scale, reliability over time, support experience, pricing, GPU availability and delivery timelines.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Coming Soon: Agentic Workloads and RL&lt;/h2&gt;&lt;p&gt;We have two more test suites that we will say much more about in upcoming work.&lt;/p&gt;&lt;h2&gt;CPU Compute&lt;/h2&gt;&lt;p&gt;The CPU is a critical performance consideration for modern agentic workloads, which we have discussed previously. We have developed a comprehensive benchmark that pushes CPU performance to the limits on exactly these agentic workloads, via common Linux tool use and more microbenchmarks in an upcoming project called SandboX.&lt;/p&gt;&lt;p&gt;SandboX runs a range of CPU-intensive workloads representative of code execution, including ring-shuffle producer-consumer queues, Redpanda (measuring a local Kafka-compatible broker and its throughput), and a dynamic load bench.&lt;/p&gt;&lt;p&gt;We also benchmark the sandbox lifecycle of Kubernetes clusters, for insight into how co-locating sandboxes for RL on the leftover CPU/memory resources in a GPU clusters might work. We report cold-start latency, scheduling throughput, density per node, capacity, and baseline.&lt;/p&gt;&lt;h3&gt;Reinforcement Learning&lt;/h3&gt;&lt;p&gt;An RL run has many moving parts: generators that roll out trajectories, environments that execute actions in sandbox, and a trainer that receives rollouts, updates the policy and pushes updated weights back out to the inference engine. Scaling RL means balancing maximizing utilization of trainer, inference engine, environment sandbox executions, rollout transfer, weight sync among other things, bottleneck on any one can stall entire RL stack.&lt;/p&gt;&lt;p&gt;We&amp;#8217;re also seeing the emergence of Post-Training-as-a-Service, or RLaaS, where customers bring their own environments, or have forward-deployed engineers build them, and hosted training providers set up the infrastructure to post-train open-weight models. The pitch is customization while protecting the customer&amp;#8217;s IP, which apparently is Satya&amp;#8217;s tagline now.&lt;/p&gt;&lt;p&gt;In our upcoming PostTrainingX benchmark, we sweep trainer-to-inference GPU allocations, batch sizes, rollout concurrency, and policy-staleness limits to study their effects on performance and training stability.&lt;/p&gt;&lt;p&gt;We track generator performance through input/output tokens per second per inference GPU, rollout latency, KV-cache occupancy, and prefix-cache hit rates. Communication efficiency through weight-synchronization latency, transfer bandwidth, and network telemetry; and trainer performance and stability through training throughput, optimizer-step time, MFU, train/rollout KL, observed policy staleness, clipping fractions, gradient norms, and rejected rollouts.&lt;/p&gt;&lt;p&gt;For environments, we measure setup time, tool-execution time, timeouts, and infrastructure failures. GPU utilization, memory usage, and power consumption provide system-level context, while archived trajectories, logs, and exact environment definitions make results reproducible.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eE5d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58068806-a29a-439d-b8a2-a8e071d42102_908x772.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="772" src="https://substackcdn.com/image/fetch/$s_!eE5d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58068806-a29a-439d-b8a2-a8e071d42102_908x772.png" title="" width="908" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The goal of PostTrainingX is to benchmark every provider. That includes hosted training platforms like Applied Compute, Azure Foundry, Fireworks, Thinky, Baseten, Trajectory, Engram, AI21&amp;#8217;s platform etc, as well as open-source frameworks like Miles, slime, prime-rl and verl. The end result should give customers the data to decide whether to run their own post-training stack on open-source frameworks or hand it off to a hosted RL provider.&lt;/p&gt;&lt;p&gt;We&amp;#8217;ve already started running on open-source frameworks, including Miles, prime-rl, and verl, and will expand to hosted providers next. Stay tuned&amp;#8230;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Industry Trends&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Financing&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The hottest topic in neocloud land over the past few months has been financing. Everyone wants to &amp;#8220;follow the money&amp;#8221;, which is exactly what we do in our AI Compute, Capital, and Markets Model, which we launched in a &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i"&gt;&lt;span&gt;recent article breaking down how NVIDIA&amp;#8217;s Backstop Universe&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Below we will discuss a few more hot topics.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Debt and Accessing Debt&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Today, neoclouds have realized that a creditworthy customer contract can help them obtain debt at lower rates than their own credit rating would otherwise support. This means that providers without a committed customer (or &amp;#8220;IG offtaker&amp;#8221;) may need more expensive debt or equity-like capital in order to buy GPUs and either get their business off the ground or grow it. Meanwhile, lenders also need evidence that a provider can deliver its cluster on time and meet the SLAs in their customer contract. Raising debt depends as much on lease termination rights as it does on the cash available for debt service, as well as the TCV. This has led multiple insurance providers to enter the market with parametric offerings that protect neoclouds and their lenders against contract terminations, typically offering a one-month bridge to find a new offtaker in the event of a termination. We are big fans of this structure, and believe it to be a solid method for lenders to use to de-risk these transactions.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Counterparty Risk &amp;amp; Nvidia&amp;#8217;s Balance-Sheet-as-a-Service&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In a large neocloud project, the GPU lender and the datacenter lender can face different counterparties within the same project. For example, in the Anthropic TPU neocloud structure, Broadcom supports equipment financing while Google supports datacenter rent. Since several loans in the supply chain can depend on the same AI lab, there can be systemic, correlated risk, even when each loan names a different neocloud or datacenter borrower. Like we just discussed, construction delays can trigger cancellations and impair cashflow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Enter Nvidia backstops. Since Nvidia supports GPU demand through revenue floors, landlord guarantees, and leases that it plans to transfer to third parties, they are able to help neoclouds and AI labs obtain investment-grade financing without a hyperscaler being involved. Nvidia earns its GPU margin at the initial sale but can now also receive a share of revenue above their &amp;#8220;AICP floor&amp;#8221;. Their financial support therefore drives demand for their hardware. The Balance Sheet Is The Moat.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Depreciation Schedules&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This topic has died down a little since we went after Dr. Burry &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178649945/depreciation-schedules-and-the-future-of-gpus-in-azure"&gt;&lt;span&gt;in our article last November&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Maybe it was all those 6 year contracts people are signing, or those pesky 4-year-old H100s that just won&amp;#8217;t drop in price! Who&amp;#8217;s to know for sure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Either way, we separate equipment purchase dates from in-service dates when we model depreciation. A 6-year depreciation assumption needs provider-specific support, while in NVIDIA&amp;#8217;s AICP program, the 6-year revenue floor does not actually establish the useful life of the GPUs. Our depreciation sensitivity tests change modeled margins quite a bit, but IRR remains the priority for lenders, so we won&amp;#8217;t be sharing them here. And of course, financial analysis does not establish a real price that a buyer will pay for GPUs in the future. That is up to supply-and-demand dynamics, and the ultimate question: residual value. With lenders unable to set loan repayment schedules separately from the accounting assumptions that we use to depreciate equipment, we are stuck in a world where no one will take on the risk of assessing a residual value on 4, 5, or 6 year old GB300&amp;#8217;s today.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Blackwell and Grace Blackwell&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Now let&amp;#8217;s get back to the technical stuff for the rest of this article. The good stuff.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we discussed &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178057384/gb200-nvl72-reliability-and-slas"&gt;&lt;span&gt;in great detail in ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the difference between operating 8-way H100 HGX servers and GB300 NVL72 rack-scale systems is massive. Providers who cut their teeth installing H100s 3-4 years ago, are now contending with the following:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Grace CPUs based on ARM (instead of x86 Intel or AMD)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Blackwell GPUs with sm100/sm103 (with CUDA 13.0+)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Mandatory direct liquid cooling (DLC)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High voltage power (130kW+ per rack, via 3phase 408 or 480V power delivery)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Scale-out networks with 800G CX-8 NICs and 51.2T or 102.4T (800GbE RoCE Spectrum-X) or 115.2T switches (800Gb XDR InfiniBand)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Scale-up networks with NVLink switches and backplanes at rack-scale, 72-way&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;BF-3 or BF-4 DPUs for the frontend (or converged frontend/storage) network&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multiplanar networks with shuffle boards/shuffle cables&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;All of these changes have implications on provisioning software, monitoring systems, training of technicians, facility-level electrical, cooling, and mechanical systems, OEM support contracts and relationships, and more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Just because a provider was successful in the Hopper generation, does not mean that they will be successful in the Blackwell generation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our rankings, we put a premium on any provider that delivered Grace Blackwell to us, and frankly gave them a lot more leeway when it came to difficulties during provisioning, monitoring, and reliability/hot spares.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This means that if a customer rents standard HGX nodes that merely connect by RoCE or InfiniBand, we expect to see autoremediation with hot spares available: replacements in under an hour end-to-end and detection in around 2 minutes. However, with an NVL72 system, it does not make sense to hot-swap a tray on a different scale-up fabric.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;So, in our testing, as long as a health check notices the unhealthy node (in 2 minutes or less, still) and keeps workloads from being scheduled on it, it has done its job. As mentioned above, we advise many labs and clouds on GB300 NVL72 SLAs, and the most common pattern we see could be called &amp;#8220;NVL64+&amp;#8221;. This means that there is an SLA applied to each node, but in the event that 3 or more of the 18 nodes in a rack fail at a given time, the whole rack is considered down. This is due to simple powers of two: lots of jobs are divisible by 64, and run on 64 GPUs, while the max config to fill up 72 GPUs is world_size=8 * num_jobs=9.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Moving to Vera Rubin&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Interestingly, moving from Grace Blackwell to Vera Rubin requires a lot less changes than moving from Hopper to Blackwell. Providers still manage an Arm-based CPU, a liquid-cooled rack-scale architecture, a 72-way NVLink scale-up network, a multiplanar scale-out network, and some Bluefield DPUs. Back when GB200 came along, all this stuff was new!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The major changes are in the move from 800G CX-8 NICs to 1.6T CX-9 NICs on the scale-out network, and increased power moving from ~130kW to ~200kW per rack, including &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/inside-the-800vdc-revolution-part"&gt;&lt;span&gt;800V DC options&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Early demand is more robust than in the Blackwell transition&amp;#8212;having partially to do with the fact that &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;it&amp;#8217;s easier to port GB software to VR than it was from Hopper to GB&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8212;and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;we&amp;#8217;re hearing from many providers that they are on track to deliver VR earlier than expected&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Bring up has been surprisingly smooth, and the physical design seems to be much more mature.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Scale Out Networks&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The scale-out network is the last big design decision a provider still owns. Nvidia and the OEM/ODM lock down most of the NVL72 rack. Outside it, providers pick the topology, the cabling, and how Kubernetes or Slurm hands the fabric to a job. We found problems at every layer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Starting with the physical layer, 800G CX-8 NICs are multiplanar: each NIC splits its bandwidth across independent switch fabrics, called planes. Total bandwidth stays at 800G per GPU. More planes give each switch more effective ports, and each NIC more paths to uplink, which needs a shuffle. Every NIC lane must land on the right plane, so shuffle boxes put the fiber mapping in a patch module while shuffle cables build it into the assembly. Both work, but there are tradeoffs in terms of reliability (how often you need to service the devices) and serviceability (how easy it is to repair or replace a device).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Oracle is a pioneer in this physical design, and it shows when you get a GB300 node. Each 4x GPU tray we got had 16x physical 200G ports, which means 4 planes per GPU. Linux exposed 4 usable 800G RDMA VFs (rdma_vf_rail0 to rdma_vf_rail3), one per GPU, each in its own VRF. The aggregate PFs failed with no usable GID, so we had to rely on their SPCX NCCL plugin, using 16 queue pairs per connection, and adaptive routing across planes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Why bother doing this? The answer is scale. Oracle builds Acceleron on this physical design. Their MRC topology paper shows how each NIC splits into 8x100G, which turns a 51.2T switch into 512 ports, and supports 131,072 GPUs at full bandwidth, with only 2 tiers, and a max of 3 switch hops. OpenAI released MRC through OCP in May 2026, and Oracle runs it at Stargate Abilene. The software layer allows MRC to spray one connection across paths and planes, place data out of order, recover loss with selective acks, and uses SRv6 source routing to steer around failed or congested links. This logical layer can get complicated any scale. Its where jobs have issues.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To allocate an RDMA device and use it correctly, Kubernetes must hand each pod the right devices and interfaces. In other words, there are many ways to configure and use the NVIDIA NetworkOperator. Get it wrong, and it&amp;#8217;s a headache for everyone.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our scripts recognizes the following deployment patterns with the NetworkOperator (resource names are examples from the clusters we inspected):&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;rdma_shared_device: rdma/rdma_shared_device_* with a resource-backed NAD, or a host-network fallback&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;sriov_host_device: nvidia.com/hostdev or nvidia.com/rdma_host_dev with a HostDeviceNetwork NAD, for direct device access and GPUDirect RDMA&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;sriov_legacy: a VF via NAD-bound nvidia.com/&amp;lt;resource&amp;gt; and a SriovNetwork NAD, plus RDMA CNI where needed&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;sriov_ib: an InfiniBand VF such as nvidia.com/mlnxics with a SriovIBNetwork NAD. Partitioned fabrics also need the right PKey and UFM config.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;ovs_offload: nvidia.com/switchdev with an OVSNetwork NAD, for hardware-offloaded Open vSwitch.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;rdma_ib / rdma_roce: rdma/ib, rdma/roce, or nvidia.com/rdma_*, with one NAD per rail or a host-network fallback.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Provider-specific: AWS EFA (vpc.amazonaws.com/efa and libfabric), DOKS (rdma/fabricN with roce-net-fabricN@fabricN), and GKE DRANET (DRA claim templates and pod resourceClaims).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Device setup and the NCCL plugin on top of it can change job performance. On Google&amp;#8217;s GB300, the built-in NCCL library picked an unroutable link-local GID and hung when we tested. Setting NCCL_IB_GID_INDEX=3 fixed it, and Google&amp;#8217;s gIB plugin hit 99.5 GB/s on a 16-node, 16 GiB all-to-all vs 95.3 GB/s from other providers, i.e., full performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, multinode NVLink is its own problem. The ComputeDomain CRD in NVIDIA&amp;#8217;s DRA driver gives each job its own IMEX daemons and channel claims, independent of RDMA. Google, GMI, and Firmus Kubernetes used ComputeDomain, with different RDMA paths: DRANET at Google, shared devices with host networking at GMI, per-rail VFs at Firmus. Meanwhile, Oracle, Azure Slurm, GMI Slurm, Firmus Slurm, and Nebius Soperator supplied IMEX from the host with no tenant claim. Azure AKS ran multi-node NVLink with no tenant-visible ComputeDomain, despite GPU DRA ResourceSlices, and the channel source and tenant isolation boundary were undocumented.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each ComputeDomain must stay inside one NVLink domain, since crossing domains needs RDMA. In other words, this is topology-aware networking on the hierarchical scale-up NVLink + scale-out RDMA networks. When we launched jobs incorrectly, without ComputeDomain awareness, they just hung in clique setup when placement crossed racks. We will leave our rants about EFA not supporting DeepEP and MoonEP for the AWS provider review later on in the Appendix.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Reliability, Health Checks, Autoremediation, and SLAs&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Around the time we started our research for &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;How Much Do GPU Clusters Really Cost?&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we started injecting failures into every cluster we tested. The differences between providers were big. Handling a failure takes two things:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Identify it happened&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fix it properly&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;To identify failures, we recommend monitoring dashboards. A good dashboard shows the failed component, the affected jobs, the current scheduler state, and when each check last ran. A stale green result is not evidence of health. Of course, a monitoring dashboard relies on some telemetry, so you have to have DCGM setup correctly (and securely).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To fix failures, we expect autoremediation: reboots and replacement with hot spare nodes. Autoremediation will not cover everything. Some failures need human intervention, RMAs, and other work that the provider must communicate directly to the customer. We covered the exact cost, measured in the form of goodput, in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;our article on this topic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA recently open-sourced NVSentinel, a fault detection and remediation system for Kubernetes. It reads DCGM, syslog, and cloud maintenance events, then can cordon and drain nodes, reset GPUs, or reboot. The default install is monitoring only. The software is the easy part. The important part is the mapping from each XID to the action the provider takes. A contained XID 94 needs an application restart. An uncontained XID 95 needs GPU recovery. Clearly, if you na&amp;#239;vely reboot every node for every XID, you&amp;#8217;ll kill healthy work, while if you leave GPUs schedulable after serious XIDs, you risk workloads crashing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is also why many customers want bare metal only. They just want the provider to close support tickets. Closing support tickets is harder than it sounds. A given ticket can come from any of 100+ XIDs, each with a different meaning and resolution. SOPs cover everything from swapping a drive or power supply, to cleaning cables, to reseating memory, GPUs, or NICs, all the way to RMAing individual components or whole server trays.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There are a lot of different choices for autoremediation, and the right one depends on the system. Also, remediation is a different question for GB than for HGX. On HGX, you swap in a hot spare node with 8 GPUs. On NVL72, you cannot hot swap 8 more GPUs into the NVLink domain. A failed tray takes 4 GPUs down, and the options are to run the rack degraded or to swap the whole rack. The good news is that GB300 tends to fail less than GB200. Either way, the flow from an error to the action in the datacenter is what matters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Some providers told us they wait before acting, to leave customers time to get their stuff off the node. That is cope. We are simulating a hard failure. The node is dead, and there is nothing left to get off it. (It&amp;#8217;s a general truism that if a provider says they choose not to do something because they want to &amp;#8220;give their customers optionality,&amp;#8221; it is cope, and it&amp;#8217;s only a matter of time before the provider recognizes it as such.)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is where owning and operating the datacenter differs from renting colo. A provider that runs its own facility controls the technicians, the spares, and the SOPs on site. A provider in colo can depend on the landlord&amp;#8217;s remote hands and their schedule. Both show up in how fast capacity comes back, and that is what an SLA has to measure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When it comes to SLAs, we have developed a standardized set of SLAs for 3 tiers of providers&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In these documents we provide the following:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Technical definitions for &amp;#8220;node&amp;#8221;, &amp;#8220;rack&amp;#8221;, &amp;#8220;cluster&amp;#8221;, and &amp;#8220;site&amp;#8221; in two scenarios (HGX 8-way systems, i.e. H100 or B300, and MGX 4-way systems, i.e., GB200 or VR NVL72)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Technical definitions of &amp;#8220;downtime&amp;#8221; for all systems&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Three tiers of associated SLAs (&amp;#8220;Bronze&amp;#8221;, &amp;#8220;Silver&amp;#8221;, and &amp;#8220;Gold&amp;#8221;, with corresponding thresholds and credit penalties associated with downtime)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Two-way commitments for measuring downtime and providing credits&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Recommended exclusions from downtime measurement, such as software upgrades, security patches, and physical maintenance&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Recommended monthly review cadence for provider performance against SLAs&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Contract termination rights for the buyer associated with downtime below recommended thresholds&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Definitions of acceptance testing, with descriptions of the types of tests to perform across GPU compute, networking, storage and software to validate a cluster is operational and can be accepted, with recommendations to contact SemiAnalysis for a ClusterMAX technical assessment&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Contract termination rights for the buyer associated with missing an agreed acceptance date&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Definitions for &amp;#8220;force majeure&amp;#8221; clauses&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;&amp;#8230; and more&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;We encourage Compute Buyers (Neolabs), Cloud Providers (Neoclouds), Debt/Financing Partners, and Insurance Providers to use these terms as a basis for their contracts, and to include a SemiAnalysis Technical Assessment during acceptance testing and monthly SLA performance reviews. We perform this Technical Assessment using our &lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; utility and a comprehensive, proprietary process.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Please contact us at &lt;/span&gt;&lt;a href="mailto:clustermax@semianalysis.com"&gt;&lt;span&gt;clustermax@semianalysis.com&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for more information.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Security&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Since we put out &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/most-neoclouds-suck-at-security"&gt;&lt;span&gt;Most Neoclouds Suck at Security&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; we&amp;#8217;ve been encouraged by the response. Our friends have been running &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/clustermax"&gt;&lt;span&gt;our CLI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on their clusters to find which dusty old packages to replace, and there has generally been increased impetus to treat this issue with the seriousness that it merits.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Still, we think it deserves more scrutiny. As discourse reaches a fever pitch over whether AI will kill everyone, there has been almost no analysis of the concrete means by which it could actually elude control and do harm. &lt;/span&gt;&lt;a href="https://openai.com/index/hugging-face-incident-and-the-road-ahead/"&gt;&lt;span&gt;OpenAI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals"&gt;&lt;span&gt;Anthropic&lt;/span&gt;&lt;/a&gt;&lt;span&gt; are spending gazillions of dollars doing gain-of-function research, some of their infra has been revealed deeply suspect, and yet it has mostly escaped commentary that GPU clusters&amp;#8212;the physical hosts that underlie these models&amp;#8212;often have nothing like the immune system that you would hope.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The imperative of good security practices holds regardless of your beliefs about AI capabilities. Even if these clusters were made no more vulnerable by AI tools, the fact would remain that we are spending billions on infrastructure that is not secure as it ought to be. There are plenty of unpleasant scenarios to imagine that involve nothing more than a guy with Vim and a good understanding of operating systems. Read through the Hugging Face reports and tally the number of mundane cybersec errors that let the fire spread.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s also worth emphasizing that this is, to some extent, a structural risk. As the industry navigates the hazards of heavy-handed regulation and uncritical social pushback, a breach of an LLM factory is the last thing it should invite into headlines. This is true for cybersecurity reasons&amp;#8212;each compromised node increases the number of neighbors for bad actors to explore&amp;#8212;as well as ordinary sociopolitical ones&amp;#8212;for better or worse, detractors will paint the neocloud industry with a broad brush.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Be a good neighbor and don&amp;#8217;t get hacked.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!C2Hi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd6b188-48c7-4998-a18f-20a0bd3fc723_1339x1339.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1339" src="https://substackcdn.com/image/fetch/$s_!C2Hi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd6b188-48c7-4998-a18f-20a0bd3fc723_1339x1339.png" width="1339" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Agentic Coding&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Agentic coding is already putting margin pressure on managed GPU clusters because customers that use AI tools are more willing to take bare metal or lightly managed clusters. We saw evidence for this all the time in our testing. If we needed to add Linux users, but there was no script on the cluster, Codex &lt;/span&gt;&lt;strong&gt;&lt;span&gt;/goal make useradd script and add my whole team&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; saved the legwork. Especially on clusters with poor documentation, agents helped grind through all the possible configurations to get us unblocked. &lt;/span&gt;The corresponding Slack conversation often went something like:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;hey guys, how are we supposed to use XYZ?&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;nevermind, Codex told me ABC.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;ya that&amp;#8217;s right. we&amp;#8217;ll add that to the docs.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Agents helped us most in environments with clear success criteria and good context; otherwise, their approaches to GPU systems were na&amp;#239;ve. They have the relevant knowledge, but it is not highly weighted relative to plausible but wrong approaches. Claude, for example, has a habit of overwhelming the Slurm controller by using loops instead of job arrays. One agent of ours decided the NVLink fabric was too much of a pain to configure, instead launching jobs over InfiniBand and declaring victory; another made a similar mistake running storage tests on NVMe instead of NFS; another blamed the provider for poor perf after it tried to schedule GPU jobs onto a CPU node. We usually let agents run overnight, either with `/goal fix this part of the cluster so tests can run` or `/goal try to break this part of the cluster with a realistic workload`. Overall, this allowed us to multiply our output, but sometimes validating the results took longer than it would have to do it ourselves. If you have a good idea how to set up a cluster, agents make you more powerful, and you might even entertain working with a worse provider than otherwise. If you don&amp;#8217;t know what you&amp;#8217;re doing, your AGI advisor will cheerfully tell you to shoot your foot off. In this semi-legible business, agents magnify skill deltas rather than flattening them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;An insightful example of this is in CoreWeave&amp;#8217;s bring-up, which was already among the most rigorous in the industry. Now, in addition to a stringent classical process, they have LLMs run statistics over their fleet, hunting for patterns that flag failures earlier and improve their procedures. CoreWeave also has a NodeBot that provides lightweight reasoning on top of their automated alerts, summarizing the situation and suggesting next steps to simplify diagnosis for the humans in the loop. For example, the team described an event where a &lt;/span&gt;&lt;a href="https://www.youtube.com/shorts/WP3LKBHL8vQ"&gt;&lt;span&gt;thermal interface material pump-out alert&lt;/span&gt;&lt;/a&gt;&lt;span&gt; should have moved the node out of the cluster for investigation, but a simultaneous &lt;/span&gt;&lt;a href="https://forums.developer.nvidia.com/t/xid-62-xid-154-gsp-pmu-halt-crash-on-rtx-pro-6000-blackwell-during-llm-inference/364958"&gt;&lt;span&gt;PMU halt alert&lt;/span&gt;&lt;/a&gt;&lt;span&gt; competed to reboot the node instead of triaging it. NodeBot identified the correct action despite that conflict. CoreWeave has experience running GPUs at scale, knows countless rules of thumb that are absent from the training data, and has experts constantly closing the feedback loop to improve their use of these models; even if &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/openai-jalapeno-better-than-nvidia"&gt;&lt;span&gt;OpenAI built a banger chip with AI-generated kernels&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we don&amp;#8217;t expect CoreWeave to be threatened by upstart neoclouds with vibecoded datacenter automations any time soon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite the fact that&amp;#8212;let&amp;#8217;s be honest&amp;#8212;everyone in the industry is using AI at least for some workflows, the only AI-first offering we saw was a nice MCP server provided by AWS. Otherwise, all the documentation was nominally written for humans. The best thing that a provider can do to cater to agents is to provide exhaustive documentation&amp;#8212;ideally, much more thorough than a human could ever have gone through&amp;#8212;and leave golden recipes on the cluster as a starting point for hillclimbing. In addition to the legacy processes that are not yet AI-first, there are many systems that are strictly worse because they are not built for agents. For example, although letting AI manage your jobs could be good for cluster utilization, it doesn&amp;#8217;t respect the old-fashioned systems put in place to aid research. CoreWeave and Nebius have many Slurm-layer optimizations&amp;#8212;real job accounting systems with RBAC and priorities enforced on users and groups, carefully managed partitions, job arrays, logs and metrics&amp;#8212;that are wasted when everything is run agentically. CoreWeave also tells us that they have seen head nodes run out of memory as remote-control Claude sloporchestrates the cluster. It will be interesting to watch providers improve their AI agent affordances.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Going Forward&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;As described throughout this article, we have been historically testing clusters. But the market has clearly moved in two opposing directions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, the biggest labs are buying bare metal at massive scale, measured in the 100&amp;#8217;s of MWs, and have the talent in house to manage their own training clusters, orchestration software, monitoring and reliability. In essence, their neocloud providers (when they use them, and don&amp;#8217;t do self build) are datacenter technicians who close tickets. This is a complicated business, and not to be taken for granted: there are &lt;/span&gt;&lt;a href="https://docs.nvidia.com/deploy/xid-errors/analyzing-xid-catalog.html"&gt;&lt;span&gt;172 unique, documented ways an NVIDIA GPU can fail&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (XIDs). And many of these failure modes can overlap, resulting in an incredible surface area of different failure scenarios that require a combination of simple troubleshooting logic, human experience, and increasingly, agentic research by AI to recover from these failures.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, many startups are raising 10s or 100s of millions of $$ and spending effectively all of that money on compute. But since so much of this research is driven by RL, via continual learning on real production traces for long horizon agents, the needs for both offline, throughput-optimized inference, and online, latency-sensitive inference is very strong. At the same time, more and more customers are looking for the simplest way to purchase vanilla open source tokens for their workflows.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This leads to our next article, coming soon, where we will describe the Anatomy of an Inference Endpoint, moving towards the inclusion of inference endpoint testing in future versions of ClusterMAX. We believe that all neoclouds need to have an endpoints business going forward.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will also be evaluating RL infrastructure beyond inference: sandboxes, hosted training, evals, and more. We continue to see lots of new providers enter (and exit) the market every day. It is an exciting time to be in AI, and neoclouds are at the centre of it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If you got to this point in the article and are still eager to learn more about our individual experience on every provider, you should consider coming to work at SemiAnalysis!&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;We are actively hiring across Research, Consulting, and Technical Staff. We have multiple openings in our New York and San Francisco offices. Remote work is also acceptable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;ClusterMAX Engineer:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; all levels of experience with Slurm, Kubernetes, and GPUs considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-clustermax"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Tokenomics Engineer:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; all levels of experience with model evals, harnesses, inference endpoints, and RL infrastructure considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-clustermax"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Research Analyst - AI Infrastructure and Economics:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; all levels of experience covering the financials of neoclouds, neolabs, and frontier labs tokenomics considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-ai-infrastructure-economics"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, or &lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-intern-ai-infrastructure-economics"&gt;&lt;span&gt;internship&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Technical Consultant:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; lead engagements from technical strategy to technical due diligence. all levels of experience from consulting and technical backgrounds considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-technical-consultant"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Thanks for reading, and we look forward to seeing you for future versions of ClusterMAX.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Appendix: Provider Reviews&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Platinum&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;CoreWeave&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;CoreWeave remains the industry&amp;#8217;s sharpest, sturdiest, most proactive neocloud.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our CoreWeave clusters are exemplary in all crucial categories. The health checks work as intended, the reliability is excellent, and nearly all tests reach expected values out of the box. Along with Nebius, CoreWeave serves as a measuring stick for others in the industry&amp;#8212;not only in the abstract sense of &amp;#8220;excellent performer,&amp;#8221; but also in the literal sense that we compare their clusters to lower-rated ones as a means of precisely describing others&amp;#8217; shortcomings. Whereas other neoclouds have to be nagged to refresh their moldy GPU drivers, CoreWeave has not only taken care of the basics, but stood up a significant independent stack for marginal performance and reliability improvements.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0 report&lt;/span&gt;&lt;/a&gt;&lt;span&gt; went into great detail on CoreWeave&amp;#8217;s design decisions, including its bare metal provisioning, Slurm fork, use of DPUs, and health checks. Since then, one smart feature that the nerds at CoreWeave have added is called &amp;#8220;&lt;/span&gt;&lt;a href="https://docs.coreweave.com/products/sunk/discover_sunk/straggler-detection"&gt;&lt;span&gt;GPU straggler detection&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which is integrated into their best-in-class dashboard. Rather than leaving their customers to dig through logs or do binary search over their fleet to isolate a bad rank, CoreWeave applies handrolled algorithms to NCCL telemetry and recommends a remediation strategy based on its findings. The CoreWeave team tells us that they use this on calls with their customers just about every day. There are all kinds of soft failures that don&amp;#8217;t write an XID or leave any other obvious signature, but waste GPU hours as the job waits on a straggler.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Better than spotting bad GPUs is not scheduling them in the first place; CoreWeave also has systems to make sure every node clears a high bar before it&amp;#8217;s trusted with a customer&amp;#8217;s workloads. When a node is idle in CKS, CoreWeave runs burn-ins for 20-30 minutes of every hour, validating that scale-up and scale-out fabrics are healthy, GEMM numbers are up to spec, D2H and H2D bandwidth are high, and so on. These tests are pre-empted by customer workloads; invisible to the operator, they help make sure that it&amp;#8217;s not production workloads that catch faults. CoreWeave is certainly not the only provider with active health checks, but these are unusually robust.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This diligence extends to CoreWeave&amp;#8217;s &lt;/span&gt;&lt;a href="https://docs.coreweave.com/platform/fleet-management/node-lifecycle"&gt;&lt;span&gt;bring-up process&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Provisioning around 10,000 GPUs per week, CoreWeave believes that they have more data than God about what proves a Blackwell rack healthy. In CoreWeave&amp;#8217;s view, Nvidia diags are good at catching many failures, but their uniquely deep dataset has allowed them to roll out a custom suite of supplementary tests, including for NVLink. The heart of this process is the Fleet LifeCycle Controller (FLCC), which &amp;#8220;&lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1769628/000119312525044231/d899798ds1.htm"&gt;&lt;span&gt;automates node provisioning, testing, and monitoring&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; and owns the path from power-on to handover. Importantly, as others operating fleets at scale can corroborate, there&amp;#8217;s a long tail of obscure failure modes not well covered by Nvidia documentation. CoreWeave keeps statistics on these failures to better predict future faults and bakes its response patterns into FLCC. This is one reason that experience with operations at scale is a crucial criterion in our ratings. There is a huge difference between a newbie and a provider like CoreWeave that has rigorous runbooks, automation, and burn-ins. As described in the &amp;#8220;Agentic Coding&amp;#8221; section above, CoreWeave uses LLMs on top of this system to glean insights that would not be spotted by a human engineer. CoreWeave also works with manufacturers before delivery. Involvement varies by OEM or ODM and by production stage, but in general, the goal is to work backward through the supply chain to catch issues as early as possible: never catch in prod what you could have spotted in bring-up, and never catch in L11 diags what you could have spotted on the factory floor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Their experience with Blackwell NVL72 bring-up and validation, along with their close relationships with Nvidia and Dell, have allowed CoreWeave to be the first provider to announce &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2060912340590084479"&gt;&lt;span&gt;a VR200 NVL72 system passing L11 diags&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. CoreWeave has described VR as &amp;#8220;the generation where we bring our own IP.&amp;#8221; As the physical demands of compute continue increasing, in CoreWeave&amp;#8217;s view, &amp;#8220;how the building operates is now part of how the computer operates&amp;#8212;they are not two individual things anymore.&amp;#8221; Thus, CoreWeave introduced its custom Racky, Valvey, and RLCC in a &lt;/span&gt;&lt;a href="https://www.coreweave.com/blog/a-deep-dive-on-coreweave-innovations-for-nvidia-vera-rubin-nvl72"&gt;&lt;span&gt;recent blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Particularly interesting is Valvey, a programmable per-rack liquid cooling valve assembly. This gives CoreWeave fine-grained control over each rack&amp;#8217;s cooling loop and also, in case of a leak or other emergency, the ability to trigger a shutdown. Despite beginning to adopt a hyperscaler mentality in building its own hardware, CoreWeave frames its approach as anti-hyper: whereas traditional infra emphasizes redundancy and is built to prevent failures, CoreWeave builds to fail gracefully and recover fast, limiting failure domains and allowing nimbler response to the inevitable failures.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Amidst the current trillion-dollar buildout, however, CoreWeave is facing issues responding to the massive increase in cu. Of course, there is plenty of good news to mention. Its relationships with Meta, Microsoft, OpenAI, and NVIDIA&amp;#8212;its largest customers&amp;#8212;appear strong, and it recently struck a &lt;/span&gt;&lt;a href="https://investors.coreweave.com/news/news-details/2026/CoreWeave-Announces-Multi-Year-Agreement-With-Anthropic/default.aspx"&gt;&lt;span&gt;multi-year deal with Anthropic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It has announced splashy deals with &lt;/span&gt;&lt;a href="https://investors.coreweave.com/news/news-details/2026/Hudson-River-Trading-to-Build-Next-Gen-Research-Platform-Powered-by-NVIDIA-Vera-Rubin-NVL72-on-CoreWeave-Cloud/default.aspx"&gt;&lt;span&gt;HRT&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.coreweave.com/news/jane-street-signs-6-billion-ai-cloud-agreement-with-coreweave"&gt;&lt;span&gt;Jane Street&lt;/span&gt;&lt;/a&gt;&lt;span&gt; this summer. It is also &lt;/span&gt;&lt;a href="https://www.coreweave.com/news/coreweave-expands-cloud-ai-platform-to-indonesia-marking-first-move-into-asia-pacific-region"&gt;&lt;span&gt;aggressively expanding its capacity in APAC&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, indicating that it &amp;#8220;&lt;/span&gt;&lt;a href="https://www.fool.com/earnings/call-transcripts/2026/08/18/coreweave-crwv-q2-2026-earnings-call-transcript/"&gt;&lt;span&gt;expect[s] international markets to become a major driver of growth.&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; Yet it sits with $35B in debt and has already seen investor resistance getting projects off the ground. As a result, CoreWeave has become focused on long-term bare metal contracts, which are easy to fund with an investment-grade counterparty, rather than managed clusters, which have higher margins but which the market is less keen to fund. Moreover, our last writeup mentioned an impressive lineup of recent acquisitions, but since then its &lt;/span&gt;&lt;a href="https://investors.corescientific.com/news-events/press-releases/detail/124/core-scientific-announces-termination-of-merger-agreement-with-coreweave"&gt;&lt;span&gt;Core Scientific merger fell through&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and nothing else has been announced.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of feedback, some of which is a bit nitpicky:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We wish that their managed SUNK auth RBAC was done on an per cluster basis&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We wish that enabling local GPUDirect Storage could be an 1 click button in the UX console&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Onboarding new users and where they put the the ssh pub key input in the UX console is extremely confusing to many users that tried&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;CoreWeave has begun to diversify from bare metal, first by offering &lt;/span&gt;&lt;a href="https://investors.coreweave.com/news/news-details/2026/CoreWeave-SUNK-Expands-Capabilities-to-Bring-AI-Workloads-Online-Faster--Anywhere/default.aspx"&gt;&lt;span&gt;self-service SUNK clusters&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which gives them the option to sell into the on-demand market when they have capacity for it. They also launched a managed inference platform, which recently &lt;/span&gt;&lt;a href="https://s205.q4cdn.com/133937190/files/doc_financials/2026/q2/CRWV-US-CORRECTED-TRANSCRIPT-CoreWeave-Q2-2026-Earnings-Call-11August2026.pdf"&gt;&lt;span&gt;disclosed $100M ARR&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We are actively testing this for an upcoming article on serverless inference endpoints, though were disappointed to find no support for public endpoints paid by the token. For now, let&amp;#8217;s just say that CoreWeave has some work left to do on their inference endpoints.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Nebius&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Nebius was rated the 2nd-best neocloud in the world in ClusterMAX 2.0, yet it remained in Gold. This time, Nebius is unquestionably an industry leader with strong offerings in every category and the ability to command a significant price premium. Nebius moves into Platinum.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius&amp;#8217;s relationship with Nvidia remains strong, including a &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/nvidia-and-nebius-partner-to-scale-full-stack-ai-cloud"&gt;&lt;span&gt;$2B investment in March&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, as Nvidia disclosed a &lt;/span&gt;&lt;a href="https://finance.yahoo.com/technology/ai/articles/nvidia-reports-9-3-beneficial-134838540.html"&gt;&lt;span&gt;9.3% overall stake in July&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Nebius was the first provider to deploy HGX B300s back in December of 2025, and has been &lt;/span&gt;&lt;a href="https://blogs.nvidia.com/blog/vera-rubin/"&gt;&lt;span&gt;among the first neoclouds in VR NVL72 bring-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://www.fool.com/earnings/call-transcripts/2026/08/19/nebius-nbis-q2-2026-earnings-call-transcript/"&gt;&lt;span&gt;expecting to begin deployment&lt;/span&gt;&lt;/a&gt;&lt;span&gt; late this year or early next.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius&amp;#8217;s buildout continues across a number of sites in the US and Europe as &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1513845/000110465926094568/tm2622968d1_ex99-2.htm"&gt;&lt;span&gt;they recently raised their 2027 year-end contracted power target to 5 GW&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. In terms of offtakers, Nebius has signed large deals with hyperscalers &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/nebius-signs-new-ai-infrastructure-agreement-with-meta"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/nebius-announces-multi-billion-dollar-agreement-with-microsoft-for-ai-infrastructure"&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and smaller ones with &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/07/14/reflection-inks-1b-compute-deal-with-nebius/"&gt;&lt;span&gt;Reflection AI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/palantir-and-nebius-partner-to-deliver-a-complete-sovereign-ai-stack-to-palantir-customers"&gt;&lt;span&gt;Palantir&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, making it one of a few neoclouds with multi-hundred-MW hyperscaler agreements that still regularly competes for much smaller startup contracts. They are the most active of all neoclouds in the short-term cluster market, serving many happy customers. The days of Nebius spooking prospects with their Russian accents are behind them. This is mirrored by its capacity procurement: unlike many of its peers, Nebius has opportunistically snatched up sites in the 5-20 MW range through a broad network of datacenter and software partners.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of the clusters themselves, well, a good cluster is generally boring. On Nebius, burn-ins run without errors; Slurm is topology-aware; the packages we need are on the cluster and generally recent; WAN is good; the orchestration layers are free of footguns. One point of distinction technically between Nebius and everyone else is that Nebius builds and open-sources its preferred SonK flavor, &lt;/span&gt;&lt;a href="https://github.com/nebius/soperator"&gt;&lt;span&gt;Soperator&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. (CoreWeave, of course, builds SUNK in house, but it is not open-source.) This round, a Gcore cluster we tested used Soperator, and as did Voltage Park and FPT clusters from previous rounds. Nebius &lt;/span&gt;&lt;a href="https://nebius.com/blog/posts/soperator-in-open-source-explained"&gt;&lt;span&gt;writes that &amp;#8220;the real magic of Soperator lies in how we use &amp;#8216;jail&amp;#8217; Persistent Volume&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: Nebius provides a VirtioFS volume at `jail`, then bind-mounts it at `/`, so you don&amp;#8217;t need to worry about pointing your cache to the right directory, or think much about taking your files with you when you `salloc` a node. You&amp;#8217;ll see in our writeups of other providers a handful of gnarly issues with managing the storage system on SonK: Slurm and Kubernetes have different philosophies of persistence, and it&amp;#8217;s not always straightforward to provide the illusion of bare metal when in fact you&amp;#8217;re several layers up, standing on an ephemeral Kubernetes pod. Nebius&amp;#8217;s approach makes this stress-free for the operator.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In particular, Nebius provided us a handful of storage tiers on every worker: `/jail` VirtioFS, `/home` NFS, `/mnt/data/` VirtioFS, `/mnt/local-nvme` ext4, and `/mnt/memory` tmpfs, as well as &lt;/span&gt;&lt;a href="https://docs.nebius.com/object-storage/"&gt;&lt;span&gt;first-class S3&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. For I/O-heavy jobs, `/mnt/data` is recommended, whereas `/home` suffices for shared code and other data with lower-concurrency access. When we first tested `/mnt/data`, we saw very slow 4 KiB sequential allocating writes, while concurrent directory creation from 128+ ranks sometimes returned `EEXIST` due to inconsistent metadata visibility, killing our jobs. With our feedback on the pathological workloads, Nebius retuned this filesystem, and it proved sturdy and fast. We pushed it around and verified that the errors were resolved; per-client, it outperformed the median, and we could further verify that it scaled to handle demanding workloads across two racks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius has put a great deal of work into its health checks, and in our testing, they performed well. Nebius automatically returned a node to service after a synthetic error injection on our GB300 rack; the process is not yet optimized for speed, taking 8h40m from start to finish, but detection is immediate, and the process ultimately works. Moreover, the other GB300 racks we tested did not automatically reboot and return failed nodes, so the fact that this process is self-driving counts in Nebius&amp;#8217;s favor. (As we describe in the &amp;#8220;Blackwell and Grace Blackwell&amp;#8221; section, it&amp;#8217;s common not to autoremediate GB300 nodes at all, since there is no real way to hot-swap a node into an NVL72 rack, and troubleshooting is generally way more complicated than with HGX servers.) Nebius also provided us with an excellent suite of dashboards shedding light on, among other things, cluster health.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fVHi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31c3e010-0c8b-4dba-8b86-4a388335ff60_2048x1208.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1208" src="https://substackcdn.com/image/fetch/$s_!fVHi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31c3e010-0c8b-4dba-8b86-4a388335ff60_2048x1208.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This all leads to Nebius watching their revenue per MW climb compared to CoreWeave&amp;#8217;s (and their market cap along with it). Since they have so much more capacity to sell at the current prices, we expect this trend to continue. Anecdotally, we have seen Nebius get very aggressive during recent negotiations, including a case where they offered a tranche of capacity as a straight-up auction. In general, demanding high prices and sizable prepayments that reach 100% on 1 year commits seems like quite a nice business, especially when those prepayments can cover the entire capex of the servers at the current TCV. Infinite Project IRR anyone?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At their largest bare metal sites, Nebius continues to face delays in construction and permitting, including both B&amp;#233;thune and Vineland, which we have &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/nebius-post-earnings-likely-over-optimistic-arr-target-still/"&gt;&lt;span&gt;covered extensively for clients of our industry-leading Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. But as more chips of all types come online, Nebius&amp;#8217;s track record puts them in a strong position to continue to grow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Overall, we are consistently impressed with Nebius. While we do believe they still trail CoreWeave on many technical aspects and relationships with both NVIDIA and the frontier labs, solid business decisions have established them as the default neocloud to serve the neolabs.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Gold&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Amidst the strange retreat of Google Brain and DeepMind from the frontier, GCP has been dealmaking like few others. Notable partners include &lt;/span&gt;&lt;a href="https://finance.yahoo.com/news/google-cloud-lands-deal-palo-130205661.html"&gt;&lt;span&gt;Palo Alto Networks for $10B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/04/22/exclusive-google-deepens-thinking-machines-lab-ties-with-new-multi-billion-dollar-deal/"&gt;&lt;span&gt;Thinking Machines Lab for a &amp;#8220;multibillion-dollar deal,&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt; along with expansions of its lucrative relationship with AI safety org Anthropic. With acquisitions of &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/03/11/google-completes-32b-acquisition-of-wiz/"&gt;&lt;span&gt;cybersecurity startup Wiz for $32B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and energy startup &lt;/span&gt;&lt;a href="https://abc.xyz/investor/news/news-details/2025/Alphabet-Announces-Agreement-to-Acquire-Intersect-to-Advance-U-S--Energy-Innovation-2025-DVIuVDM9wW/default.aspx"&gt;&lt;span&gt;Intersect for $4.75B in cash&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Google has been aggressive in expanding its technical capabilities. It also exposes itself to new revenue streams by &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;ramping TPU sales&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of only renting them through GCP, a development we are very keen to track. Its own TPUaaS is still growing, though, thanks to a &lt;/span&gt;&lt;a href="https://www.blackstone.com/news/press/blackstone-announces-joint-venture-with-google-to-create-new-tpu-cloud/"&gt;&lt;span&gt;$5B deal with Blackstone&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that is targeting 500 MW in capacity. Google has gigawatts in the pipeline, and we look forward to continuing to track its continued competition with the other hyperscalers and labs for access to power and permitting.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With a unique position cutting across so many layers of the stack, Google may have more total engineering talent than any company in the world, yet it has a &lt;/span&gt;&lt;a href="https://killedbygoogle.com/"&gt;&lt;span&gt;notably imperfect history&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in supporting innovation. In ClusterMAX 1.0, we noted a myriad of issues with its platform, yet we predicted GCP would reach Gold or Platinum promptly. It has taken until ClusterMAX 3.0 for this to come true, but Google is finally and comfortably among the best managed cluster providers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The GCP GPU experience is less refined than that of our Platinum providers, CoreWeave and Nebius. The console feels like the DMV compared to the streamlined UIs of the younger, more focused neoclouds. Access required a Google Cloud CLI that was occasionally uncooperative, forcing us sometimes to switch to the browser-based connection in Google&amp;#8217;s console, which was also unreliable. There was a small misconfiguration on our GB200 GKE cluster, where default StorageClass refused to attach to the `a4x-highgpu-4g` nodes, forcing us to try again with a non-default class to get block storage. Nitpicks aside, GKE is very well set up, and we enjoy using it. Google&amp;#8217;s managed Slurm is officially generally available and quite solid, with good defaults and health checks configured. A lot of the testing that we did for ClusterMAX 2.0 on their managed Slurm offering is now valid, since the bureaucrats in GCP Product Management are allowing real customers to use the offering, not sticking it with labels like &amp;#8220;Beta&amp;#8221; or &amp;#8220;Pre Release&amp;#8221; or &amp;#8220;not yet GA.&amp;#8221; (By the way, many of the neoclouds we&amp;#8217;ll discuss after Google should consider using some of these labels more often&amp;#8212;the balance is somewhere in the middle here.)&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!mRfb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8d6bb3-86ab-4dd2-be3e-d310b9718ccb_666x108.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="108" src="https://substackcdn.com/image/fetch/$s_!mRfb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8d6bb3-86ab-4dd2-be3e-d310b9718ccb_666x108.png" width="666" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aX1W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba7483b-faa9-4e5a-b52f-6e581ffdd2ca_2048x1241.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1241" src="https://substackcdn.com/image/fetch/$s_!aX1W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba7483b-faa9-4e5a-b52f-6e581ffdd2ca_2048x1241.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The biggest point of distinction between our GCP cluster and the other clusters we tested was networking. Our first NCCL test hung because automatic GID selection chose the wrong address, but pinning `NCCL_IB_GID_INDEX=3` completed the run. Even then, our NCCL tests were unsatisfactory: you would like to see a roughly logistic curve as performance increases monotonically in message size, but instead we had the following jagged shape:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mmf0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693ad4f9-4ec8-443e-a72c-2ac4f40d6d15_1928x1478.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1478" src="https://substackcdn.com/image/fetch/$s_!Mmf0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693ad4f9-4ec8-443e-a72c-2ac4f40d6d15_1928x1478.png" width="1928" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This could conceivably have been an issue with NCCL itself rather than a problem with our GCP configuration. NCCL&amp;#8217;s heuristics &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/understanding-nccl-tuning-to-accelerate-gpu-to-gpu-communication/"&gt;&lt;span&gt;don&amp;#8217;t always pick the right protocol and algorithm&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for the message size and topology, and some hand-tuning is always expected. However, we have gigabytes of networking data gathered at this point, and we knew to expect better perf. The issue turned out to be simply that we did not have the gIB plugin enabled. This is a set of NCCL plugins Google that ships for improved perf on Google&amp;#8217;s RoCE network. As of 26.07, gIB is baked into the NGC PyTorch image, so Google&amp;#8217;s customers get the custom stack by default. With gIB installed, we got a better chart with 4.4% higher peak throughput for 16-node all-to-all. (Note that these tests are both with the multi-node NVLink fabric shut off to isolate performance of the scale-out network, which is RoCE in this case.)&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gXAb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bd9c330-467a-42b9-9da6-175f6a9af4a7_1329x1042.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1042" src="https://substackcdn.com/image/fetch/$s_!gXAb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bd9c330-467a-42b9-9da6-175f6a9af4a7_1329x1042.png" width="1329" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While not perfect, this looks much better, and the topline number is solid. At this point, it was clear that the fabric was healthy, the configuration was good enough, and an engineer looking to squeeze more juice out of the system would have a solid baseline to start from.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This is amazing work by Nvidia and Google to set up auto activation for Google&amp;#8217;s ConnectX-7/8 NCCL plugin&lt;span&gt;. Previously, users would need to mess around with the correct library load paths and env vars to get it set up correctly and optimize performance on ConnectX NICs on GCP Nvidia GPU machines. &lt;/span&gt;We gave feedback a couple of quarters ago, and&lt;span&gt; now, it is fully automated!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5WTw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7905b0-29a3-4d2b-bc64-bc5547bdb441_1682x1144.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1144" src="https://substackcdn.com/image/fetch/$s_!5WTw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7905b0-29a3-4d2b-bc64-bc5547bdb441_1682x1144.png" width="1682" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;GKE&amp;#8217;s health checks worked well. As with other providers who have experience with NVL72 systems, Google&amp;#8217;s health checks intervened but left it up to the operator to bring the sick node back to the fleet. In particular, after our XID was injected, the health check marked `GPUUnhealthy=True` and `cloud.google.com/health-check-status=warning`, but left the node schedulable. This configuration was easy to work with, it&amp;#8217;s what GCP&amp;#8217;s customers prefer as a default, and it can be configured to the user&amp;#8217;s liking to respond to errors of various levels of severity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To continue improving, GCP could take a look at all the quality-of-life changes that Nebius and CoreWeave have made in the recent past. It should ship a better console that&amp;#8217;s easier to navigate, simplify IAM and RBAC, and ensure cluster access is painless, either through standard SSH or `kubectl` or by making its existing CLI bulletproof. Especially now that gIB is available in the default Nvidia images, we hope that GCP&amp;#8217;s operators have no trouble getting good performance out of their GCP scale-out. They could also continue to pursue neolabs in the mid-market, improve the hands-on support experience, and improve their relationship with Nvidia. GCP consistently loses so much business to smaller, less capable neoclouds, because they either lack the GPU capacity or refuse to serve the market at a certain price point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to testing GCP&amp;#8217;s VR NVL72 systems when they are available and seeing GCP&amp;#8217;s continued improvements on usability and performance.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Oracle&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;As we mentioned in ClusterMAX 2.0, Oracle is in a unique position among hyperscalers in that its growth must come from large contracts. Unlike AWS, Google, and Azure, Oracle does not have any agreements to sell frontier tokens, and unlike Meta and Google, it does not have a non-frontier lab it can hang its hat on. Instead, it continues to cut huge deals involving OpenAI, Meta, and Nvidia, reporting &amp;#8220;&lt;/span&gt;&lt;a href="https://s23.q4cdn.com/440135859/files/content_files/1q27-pressrelease-September_FINAL.pdf#page=1"&gt;&lt;span&gt;the delivery of 850MW additional datacenter capacity&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; from June through August, an eye-watering number. We project its relative growth in 2027 to be the largest of the hyperscalers, though from the smallest base.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested two Oracle clusters, which we will describe in order. The first was a GB300 NVL72 cluster on Slurm, set on a &lt;/span&gt;&lt;a href="https://blogs.oracle.com/cloud-infrastructure/first-principles-acceleron-multiplanar-networking"&gt;&lt;span&gt;multi-planar network&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This was vanilla Slurm, but due to customer demand, Oracle has Slurm-on-OKE on its roadmap. Once our allocation began, we tried to find our way in through the console, but it proved, like all hyperscaler consoles, a forbidding place.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9dpo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe741a9-f74f-4a0b-9c5f-070fbb4e2cf7_2048x1090.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1090" src="https://substackcdn.com/image/fetch/$s_!9dpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe741a9-f74f-4a0b-9c5f-070fbb4e2cf7_2048x1090.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Importantly, Oracle&amp;#8217;s console did not support RBAC&amp;#8212;nothing on the console is connected to SSH users&amp;#8212;so all our SSH keys had to be managed on the machine. At one point, attempting to append to `authorized_keys`, our intern forgot a `-a` flag and removed all our previous keys. Classic user error, obviously, but this goes to show why we prefer to have a hardened path on a console. We&amp;#8217;d rather not trust our interns&amp;#8212;especially that one, no offense&amp;#8212;to type the magic words on the command line when a mistake can lock us out of the cluster. Thankfully, Oracle&amp;#8217;s engineers caught the mistake immediately and fixed it for us.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We hope they fix this and add enterprise grade RBAC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As expected, Oracle&amp;#8217;s cluster performed well from day 1. They provided us with scripts for InfiniBand and NCCL tests, which was helpful because vanilla scripts do not properly use all 4 rails. Burn-in was flawless and Oracle&amp;#8217;s managed Lustre saw strong throughput. Oracle&amp;#8217;s health checks worked as intended, draining the node on our synthetic error but leaving up to the user to decide whether or not to terminate and replace the GB300 node. Oracle&amp;#8217;s managed Prometheus and Grafana were good, though not perfect. For example, they are not integrated with the end user experience for job accounting. However, on the positive side, health metrics are now integrated into Cluster Manager in the console, making it easier to get a view of the crucial statuses at a glance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mwOC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34a3ddb-3a0f-4480-be9b-63a10a3775fa_2048x1192.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1192" src="https://substackcdn.com/image/fetch/$s_!mwOC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34a3ddb-3a0f-4480-be9b-63a10a3775fa_2048x1192.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NVvZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b17127-debb-47f4-8c8d-510e5e724040_873x473.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="473" src="https://substackcdn.com/image/fetch/$s_!NVvZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b17127-debb-47f4-8c8d-510e5e724040_873x473.png" width="873" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Next, we tested OKE with MI355X. This was the only provider other than TensorWave who let us test-drive AMD GPUs. The ride was rough.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we complained about last time, at first, we needed to SSH into an operator node to steer Kubernetes. This time, the team quickly solved our Oracle CLI issues and we were promptly able to download our credentials locally. By far the greater problem on this cluster, though, was with the NICs. Peak performance was near line rate, so there was no issue with the hardware that we could detect. Rather, the issue was with the ionic drivers. Our per-rail `ib_write`/`ib_read` sweep across all eight NICs hit 391 Gb/s on every rail, then wedged the node the moment it finished: when the pods were deleted, the perftest processes never completed their `rdma_cm` teardown, the forced `kill` timed out the NIC&amp;#8217;s destroy-CQ command, and the RDMA admin queue on `ionic_0` and `ionic_4` went dead. Worse, both ports still showed `ACTIVE` at 400 Gb/s and the node stayed `Ready`. The passive checks did not check out the RDMA control path, and no active check had run in eight days. We found the issue by grepping `dmesg` after RCCL kept failing. Oracle diagnosed it quickly on a weekend and rebooted: their own `ibwrite` health check had failed on this cluster in the same way days before. After a call where we explained the pathological workloads, they spoke with AMD and pushed different drivers and firmware to the cluster, which solved the problem.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Separately, we had a GPU intermittently dropping off the PCIe bus, neither caught by the health check nor properly surfaced in the dashboard. Oracle promptly swapped out the node and responded to our feedback on the dashboard.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!jdB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8838cf-5ef3-4634-8a08-87f34daba095_2048x492.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="492" src="https://substackcdn.com/image/fetch/$s_!jdB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8838cf-5ef3-4634-8a08-87f34daba095_2048x492.png" width="2048" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qMzh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c3e134-2403-4583-a918-0074c8acc52e_2048x1174.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1174" src="https://substackcdn.com/image/fetch/$s_!qMzh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c3e134-2403-4583-a918-0074c8acc52e_2048x1174.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This was a mixed episode, but Oracle&amp;#8217;s responsiveness was good. It&amp;#8217;s especially undesirable that no health checks alerted, even though these drivers are known to be flaky. Still, Oracle&amp;#8217;s close relationship with AMD is clearly an asset. They were able to speak to the relevant teams, diagnose the issue, and put a patch in place quickly. This type of support is not guaranteed at organizations of Oracle&amp;#8217;s scale. Interestingly, Oracle is also the only provider ranked Silver or above, and one of two ranked Bronze or above, with zero installed libraries with applicable CVEs. This is more of an expectation than a benefit for us, but it was a clear demonstration that their automation works for deploying and upgrading clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If we were a neolab, we would come away from this testing experience with confidence in working with Oracle. Yet this is a moot point given Oracle&amp;#8217;s increasing commitment to bare metal deployments for frontier labs such as OpenAI in Project Stargate. Success in that business depends more on getting &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/201118118/3-well-capitalized-projects-facing-permitting-and-local-opposition-issues"&gt;&lt;span&gt;government approval for gas pipeline construction&lt;/span&gt;&lt;/a&gt;&lt;span&gt; than it does on RCCL tests.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Still, Oracle has made progress since last we tested them, and the experience is very good overall. We look forward to continuing to keep tabs on them going forward.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Silver&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Lambda&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Lambda was most recently in the news for participating in a &lt;/span&gt;&lt;a href="https://www.reuters.com/technology/anthropic-signs-35-billion-cloud-deal-with-nvidia-backed-lambda-source-says-2026-08-31/"&gt;&lt;span&gt;$35B Anthropic deal&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for 350 MW in Nueces County, alongside Hut8 and Nvidia. Before that, they were &lt;/span&gt;&lt;a href="https://finance.yahoo.com/technology/ai/articles/ai-cloud-provider-lambda-in-talks-for-3-billion-pre-ipo-round-234205946.html"&gt;&lt;span&gt;rumored to be preparing for a 2027 IPO&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and they separately raised &lt;/span&gt;&lt;a href="https://lambda.ai/blog/lambda-closes-1-billion-senior-secured-credit-facility"&gt;&lt;span&gt;$1B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://lambda.ai/blog/lambda-closes-926-million-senior-secured-term-loan-b-facility"&gt;&lt;span&gt;$926M&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://www.bloomberg.com/news/articles/2026-08-28/nvidia-backed-lambda-inks-1-billion-private-debt-for-chip-deal"&gt;&lt;span&gt;$1B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in debt for their buildouts. Amidst all their growth, after judging them Silver in ClusterMAX 2.0, we were interested in evaluating Lambda&amp;#8217;s clusters this time around.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Onboarding began with a nice deck and PDF explaining what to expect on the cluster, and access was sorted out promptly.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XWJ0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5aecaed-0d08-4c63-8b24-f1058479b4dd_1011x449.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="449" src="https://substackcdn.com/image/fetch/$s_!XWJ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5aecaed-0d08-4c63-8b24-f1058479b4dd_1011x449.png" width="1011" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/i/178057384/lambda"&gt;&lt;span&gt;We criticized Lambda in ClusterMAX 2.0 for their reliability&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; this round of testing, it was one of Lambda&amp;#8217;s points of emphasis. Their passive health checks cover the relevant conditions and ultimately autoremediated three errors we simulated during testing. Two synthetic XIDs were autoremediated in less than 15 minutes, and there were connected dashboards to monitor node health. Our test that triggered a genuine XID 79 by resetting the PCIe secondary bus reset brought the node into `NotReady` with no `GpuXid`, no cordon, and no monitoring visibility on the Kubernetes layer, but it ultimately rejoined the fleet after 2 hours. Our node-reboot tests on the Kubernetes layer also completed without incident.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!f_OD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770c1ebb-c945-4e86-8ff8-cd1c0af7f664_2048x1174.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1174" src="https://substackcdn.com/image/fetch/$s_!f_OD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770c1ebb-c945-4e86-8ff8-cd1c0af7f664_2048x1174.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The orchestration layer has improved significantly, though it still has a handful of issues. Slurm configuration left CPUs per task unset, so Slurm&amp;#8217;s default allocation gave one logical core unless the launch requested more. Passwordless &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is not enabled on Slurm, as we are using managed slurm rather than unmanaged Slurm. Lambda is the only provider we&amp;#8217;ve encountered that makes this distinction, but clearly some of their customers want root access to their own cluster, while others do not (?). We enjoy having root on our own cluster.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Also missing was SSH to the compute nodes without an allocation. This creates a headache during debugging if someone else is running a job and you can&amp;#8217;t attach to their allocation, or a job is stuck. Another reason why we enjoy &amp;#8220;yolo mode&amp;#8221; on our clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;More importantly, Slurm had software out of date, including CUDA Toolkit 12.0 at the default location &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;/usr/bin/nvcc&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (which is so old it&amp;#8217;s incompatible with the B300 SM100 architecture), and unacceptably old drivers. On the bright side, Slurm did have topology settings configured, and the NCCL recipes that they gave us worked well. We had no authentic errors during testing, and all our tests, including burn-ins and storage, showed good performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our preoccupation with Lambda&amp;#8217;s 1-Click Clusters seems quaint in today&amp;#8217;s world of capacity reservations backlogged for months. Indeed, as mentioned in the opening, Lambda is increasingly driving its bottom line via bare-metal builds, apart from managed clusters altogether. Regardless, Lambda&amp;#8217;s orchestration continues to improve, and customers are happy, which lands them in the upper ranks of ClusterMAX 3.0.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Using Azure clusters can be very difficult due to the Microsoft &lt;/span&gt;&lt;strong&gt;&lt;span&gt;bureaucracy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Their engineers do the best they can, but this is not an organization set up to be flexible in accommodating its customers. Microsoft customers do not come first in matters of taste.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;During testing, we were not allowed to have our own Azure accounts, so we had to use the cluster under the user of one of Azure&amp;#8217;s engineers, which prevented us from poking around the console and experiencing the authentic onboarding experience. Our GPUs were set to be in Virginia, but thanks to some obscure internal decree, we were not allowed to have a control plane there. Instead, our control plane ran in San Antonio, Texas. Access required setting up a VPN, which worked after a bit (see: literally 3 weeks) of back and forth. Pasting was disabled on the bastion, so to run our tests, we had to manually type in our GitHub and HuggingFace tokens. Like, literally type them in one character at a time. We got them right first try though, nbd &lt;/span&gt;&lt;a href="https://emojipedia.org/face-exhaling"&gt;&lt;span&gt;&amp;#128558;&amp;#8205;&amp;#128168;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once everything finally ran, we found a handful of packages out of date, and bad default NCCL configs kept our first run from going through. On AKS, the `managed-csi-premium-v2` `StorageClass` could not attach, and we got `EAGAIN` trying to run `fio` at anything more than 4 clients on Azure Files Premium. No parallel system attached to our Slurm cluster meant that one of our tests, which loaded DeepSeek-V4 from NFS, timed out.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!E2Di!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F635db7a9-5287-4c8b-b77e-827a2ccea9f9_515x394.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="394" src="https://substackcdn.com/image/fetch/$s_!E2Di!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F635db7a9-5287-4c8b-b77e-827a2ccea9f9_515x394.png" width="515" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: a typical Azure experience&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When we went to run burn-in, we had a genuine failure on 10 nodes of our Slurm rack, killing our job. Microsoft caught the errors, traced them back to an unhealthy host, and opened up a Guest Health Report for repair. An `scontrol` resume command brought them back, and after that, both our Kubernetes and Slurm racks completed their burn-in without error.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;CycleCloud drained the node immediately after we tested Azure&amp;#8217;s health checks by injecting a synthetic XID, but it did not resume or replace it. Because we had the whole GB300 rack, this was satisfactory, as described in the &amp;#8220;Blackwell and Grace Blackwell&amp;#8221; section above.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Due to the account issue, we could not see our Kubernetes dash by default. Instead, Azure&amp;#8217;s engineering team cooked up a custom dashboard setup for us, and it was extremely detailed&amp;#8212;a solid triumph over the bureaucratic straitjacket. We want to shoutout our friend Xu Xue for this one, as we are quite certain that he went way above and beyond the call of duty to build this out for us, but wouldn&amp;#8217;t admit it. His curated dashboard is open sourced &lt;/span&gt;&lt;a href="https://github.com/xuexu6666/aks/tree/main/gb300/vanillaarm64/clustermax#curated-dashboard-folder--azure-kubernetes-service-monitoring-gb300"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a great resource for anyone building Grafana dashboards to monitor Nvidia GPU clusters from scratch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t1Fk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc233643e-91ca-46e4-bd17-5335a920b937_2048x1088.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1088" src="https://substackcdn.com/image/fetch/$s_!t1Fk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc233643e-91ca-46e4-bd17-5335a920b937_2048x1088.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://www.dwarkesh.com/p/satya-nadella-2"&gt;&lt;span&gt;Satya once said&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &amp;#8220;we want to build out Azure as being fantastic for the long tail of the workloads,&amp;#8221; and that Microsoft is &amp;#8220;not in the business of just doing five contracts with five customers being their bare-metal service.&amp;#8221; Yet it is exceedingly rare to come across a VC-backed lab that uses Azure for training and inference. &amp;#8220;Five customers for bare-metal service&amp;#8221; is overstating it. Really, it&amp;#8217;s two: OpenAI and MAI. Soon to be three, with Anthropic diversifying.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Azure&amp;#8217;s most interesting asset is that it can serve OpenAI&amp;#8217;s models and keep 100% of the revenue. They still have full access to all of OpenAI&amp;#8217;s IP. Yet Azure can separately boast of large bare-metal deals with OpenAI, as well as an increasingly lucrative relationship with Anthropic. This is an incredibly strong position to be in. If only for &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178649945/microsoft-and-openai-in-2023-25-from-all-in-on-ai-to-the-big-pause"&gt;&lt;span&gt;the pause&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As Azure mostly competes on a different plane with enormous deployments and hundreds of billions of capex, its ability to manage clusters only makes it more flexible. Like Google and Oracle, Azure gets its cashflow from offtakers who need no help setting up a `ComputeDomain`. But based on the quality of testing, these three could still cut smaller, higher-margin deals with labs who want a higher-touch experience.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This does not seem likely to happen any time soon, though. Support and the console is a headache, even if Azure is the only hyperscaler where you can possibly get the Nvidia Reference Architecture on your scale-out networking. As much as anything, we like to verify that these hyperscalers are light on their feet.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Firmus&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;One of Nvidia&amp;#8217;s favorite up-and-comers, and our favorite in Asia-Pacific, Firmus &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-announces-fully-subscribed-usdusd2-billion-strategic-equity-investment-to-accelerate-nvidia-ai-factory-expansion-across-australia-and-asia-pacific"&gt;&lt;span&gt;announced in August a $2B funding round&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at $10.5B post-money for expansion throughout Australia, Malaysia, and Indonesia, following a &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-raises-usdusd505-million-in-strategic-equity-investment-led-by-coatue"&gt;&lt;span&gt;$505M round at $5.5B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; just 4 months before. Firmus also &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-signs-multi-year-agreement-with-global-hyperscale-customer-at-project-southgate"&gt;&lt;span&gt;raised a $10B debt facility&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March for its Project Southgate buildout in Melbourne and Tasmania. Just last week, &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-surpasses-900-mw-contracted-capacity-adds-openai-as-anchor-customer-and-expands-into-malaysia"&gt;&lt;span&gt;it disclosed 900 MW in total contracted capacity and announced OpenAI as an anchor tenant in its Malaysian expansions&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. All in all, Firmus has disclosed 18,400 GB300 GPUs in the deployment process today and 36,800 later this year in Tasmania, with multiple GWs and tens of thousands of VR in the pipeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We had a rough takeoff but a fairly soft landing while testing one of Firmus&amp;#8217;s dev clusters. Accessing our chips required using a Microsoft Entra account, Microsoft SSO, then downloading and configuring a custom pre-release version of the vCluster CLI. We&amp;#8217;re suckers for new tech, but where cluster access is concerned, we&amp;#8217;d much rather just SSH. After a few rounds of back and forth, with the help of Firmus&amp;#8217;s team, we were on.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lr3x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22591118-db8b-43f6-b570-fe9cadbdff30_2048x1098.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1098" src="https://substackcdn.com/image/fetch/$s_!lr3x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22591118-db8b-43f6-b570-fe9cadbdff30_2048x1098.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&amp;#8230;on the cluster, but not quite off and running. The default setups on both Kubernetes and Slinky left a lot to be desired. Slurm login had no `sudo`, no `vim` or `nano`, HPC-X installed but not on `PATH`, and no NVCC. More importantly, instead of receiving 4 Slurm nodes on one rack and 4 Kubernetes on another, we had 2 of each on each. This was not necessarily a problem, but Kubernetes had `&lt;/span&gt;&lt;a href="http://nvidia.com/gpu.clique"&gt;&lt;span&gt;nvidia.com/gpu.clique&lt;/span&gt;&lt;/a&gt;&lt;span&gt;` configured with nothing consuming it, while Slurm used `topology/flat`. Thus, the nodes visible to each orchestrator spanned multiple racks, and there was nothing to avoid a multinode job needlessly crossing the rack boundary. We had to infer node nomenclature to make sure our tests were well placed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On top of this, the Kubernetes control plane&amp;#8217;s `etcd` visibility flickered several times during testing. which killed our jobs and caused both the Slurm and Kubernetes layers to restart. This was ultimately attributed to an issue upgrading switch firmware and did not recur for the last 10 days. We also lost a NIC to a wedge during reboot, which was not caught by Firmus&amp;#8217;s health checks as they were not active on the dev cluster we tested. Firmus was the only GB300 cluster we had that exposed GPU HBM as NUMA nodes, an interesting configuration that we mark as a failure because it lets you accidentally swamp device HBM if you overflow on the host. WAN was inconsistent but often quite poor, maintaining 0.25 Gb/s to NGC. The last of our problems was that one of the racks saw significantly degraded performance on its NVLink fabric, which was explained by a power setting that Firmus had been experimenting with on their dev cluster; fixing this brought our numbers into the healthy range.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Thus, by the time testing ended, we had satisfactory though underfurnished Slinky and Kubernetes layers, we knew how to access them, and we could get strong performance across our test suite. We understand that managed clusters are not Firmus&amp;#8217;s priority right now, but we believe there is plenty of low-hanging fruit here for their technical team. As Firmus works to bring enormous capacity online, we look forward to seeing them continue to make life easier for users of their GPU software stack.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;TensorWave&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;TensorWave is an AMD-only neocloud whose MI355X offering we tested via K8s and Slinky. In the last writeup, we emphasized the difficulty of TensorWave&amp;#8217;s onboarding process, which required back and forth just to get on the cluster and had a large number speedbumps even still. The improvement this time round is significant. Onboarding was smooth, the `kubeconfig` sent directly to us worked perfectly, the console allowed us easily to add team members with SSH access, and the TensorWave support team was attentive throughout our testing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M9JN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf70335-6a7f-4096-af05-91345833c99d_1762x1020.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1020" src="https://substackcdn.com/image/fetch/$s_!M9JN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf70335-6a7f-4096-af05-91345833c99d_1762x1020.png" width="1762" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Being an AMD-only cloud, TensorWave is fighting an uphill battle dealing with AMD&amp;#8217;s software stack, which, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;&lt;span&gt;despite significant recent progress&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;still lies well behind Nvidia&amp;#8217;s&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We saw this on our TensorWave cluster on RCCL microbenchmarks, with all-gather and all-to-all hanging at 32 KiB even using TensorWave&amp;#8217;s binaries and recipes. Other collectives showed uneven scaling and poor throughput at certain message sizes. [Editorial comment: RCCL? More like Rick L!] In general, it can be said that the AMD networking stack lacks the community support that Nvidia tooling offers. The same goes, of course, on the hardware side. More important than microbenchmarks, we see in practice that the GB300 NVL72 systems have the most demand across the industry from labs: their performance is so superior that, even accounting for their higher prices, they often offer the best perf per dollar as well. AMD&amp;#8217;s rackscale answer, the &lt;/span&gt;&lt;a href="https://tensorwave.com/blog/tensorwave-powers-frontier-ai-growth-for-cloud-customers-with-amd-helios-rackscale-solution"&gt;&lt;span&gt;MI455X Helios&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, is still &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;&lt;span&gt;ramping up production&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and is certainly not yet on offer by TensorWave. Thus, TensorWave&amp;#8217;s place in the rankings depends not only on its internal improvements, but on AMD&amp;#8217;s ongoing work to close the gap relative to Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For what it advertised, our TensorWave cluster was good across the board. North-south bandwidth was strong. Storage performance was exceptional and burn-ins completed without a problem. When we pushed around the Kubernetes layer, its reliability was good, and the Slinky layer was easy to use.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The health check immediately recognized the error that we simulated, bringing the node into `drng`.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!eKJt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ef5150-eafb-4b86-8107-1747f6834a4a_1246x228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="228" src="https://substackcdn.com/image/fetch/$s_!eKJt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ef5150-eafb-4b86-8107-1747f6834a4a_1246x228.png" width="1246" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The dashboard oddly marked the node as &amp;#8220;Allocated,&amp;#8221; rather than being broken out into its own category. However, shortly afterward, we were presented with a nice juicy button to click to approve replacing our &amp;#8220;sick&amp;#8221; node with a fresh one.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dP5B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c865a25-bf2c-4979-829d-174de670437a_2048x1177.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1177" src="https://substackcdn.com/image/fetch/$s_!dP5B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c865a25-bf2c-4979-829d-174de670437a_2048x1177.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The replacement completed in approximately 43m. We would prefer that the autoremediation occur by default&amp;#8212;we&amp;#8217;d rather not even have to click a nice juicy button&amp;#8212;but otherwise consider TensorWave&amp;#8217;s monitoring and autoremediation exemplary.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tiD-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a311905-19d3-45bd-9d3c-3aa8b2e1fb03_1246x718.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="718" src="https://substackcdn.com/image/fetch/$s_!tiD-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a311905-19d3-45bd-9d3c-3aa8b2e1fb03_1246x718.png" width="1246" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, TensorWave is the leading AMD-exclusive neocloud, providing a comparable (and sometimes better) experience on AMD GPUs than hyperscalers like Oracle and Microsoft. And they are not stopping. TensorWave has &lt;/span&gt;&lt;a href="https://tensorwave.com/blog/fermi-announces-binding-lease-agreement-with-tensorwave"&gt;&lt;span&gt;entered into an agreement with Fermi&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for 222 MW in the Texas panhandle with expansion rights up to 650 MW, contingent upon Fermi securing project financing. It has a tailwind with a &lt;/span&gt;&lt;a href="https://tensorwave.com/blog/tensorwave-raises-350-million-series-b-at-1-55b-valuation-to-expand-global-amd-powered-ai-infrastructure"&gt;&lt;span&gt;$350M June Series B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, leaving it at $1.55B post-money, and is currently working on large deals with hyperscalers. With both &lt;/span&gt;&lt;a href="https://openai.com/index/openai-amd-strategic-partnership/"&gt;&lt;span&gt;OpenAI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://ir.amd.com/news-events/press-releases/detail/1292/amd-and-anthropic-announce-strategic-partnership-to-deploy-up-to-2-gigawatts-of-amd-instinct-mi450-series-gpus"&gt;&lt;span&gt;Anthropic&lt;/span&gt;&lt;/a&gt;&lt;span&gt; announcing strategic partnerships with AMD for the MI450 generation, we expect that TensorWave is set to benefit, and AMD-exclusive neoclouds may be able to break into the Gold tier. We look forward to testing TensorWave&amp;#8217;s MI455X Helios once it is available.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GMI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;GMI is a neocloud headquartered in Mountain View with roots in Taiwan. With a &lt;/span&gt;&lt;a href="https://www.gmicloud.ai/en/blog/gmi-cloud-brings-taiwans-first-ai-factory"&gt;&lt;span&gt;$500M Nvidia deal announced last November&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.gmicloud.ai/en/blog/gmi-cloud-announces-1gw-sovereign-ai-infrastructure-in-japan-accelerated-by-nvidia-vera-rubin-nvl72-tm"&gt;&lt;span&gt;$12B more this March&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, hundreds of GB300 racks in the pipeline, and plans for VR down the line, they are keeping on the frontier in terms of hardware. Recently, they have also been growing their fleet by making deals with smaller neoclouds and reselling the compute to their established customer base, which offers an attractive cashflow profile because it does not require up-front capital outlay. After judging them the &amp;#8220;top Bronze neocloud&amp;#8221; in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we were interested to test the progress of their managed clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Onboarding was a bit bumpy, including an empty Kubeconfig downloaded from the console and an SSH key that we uploaded but was never synced to the cluster. After some back and forth with the team, we got in. The problem, it turned out, was that the console was view-only for our testing purposes, so we could not verify its functioning. Last round, we did not get access to a self-service console at all, so we count this as progress.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As last time, the compute was up to spec, burn-in was clean, and the InfiniBand fabric was sturdy. One notable improvement since ClusterMAX 2.0 was in GMI&amp;#8217;s storage. GMI provided a performant RWX NFS default StorageClass, which was also available on the Slurm layer at `/home`. We had difficulty trying GMI&amp;#8217;s S3, which turned out to be due to a typo in their doc. But once the Brothers &lt;/span&gt;&lt;s&gt;&lt;span&gt;Karamazov&lt;/span&gt;&lt;/s&gt;&lt;span&gt; Karasev hopped on a call and fixed it, we verified that the object storage perf was also good. The biggest blocker in terms of cluster configuration was that GMI expected the IMEX domain to be configured on the Kubernetes cluster by a ComputeDomain CRD. This is perfectly viable&amp;#8212;many other highly rated providers do the same thing&amp;#8212;but GMI&amp;#8217;s Kueue would not tolerate the claim, so our jobs sat in `Suspended`. To work around, we had to submit our jobs in a namespace with no `LocalQueue` named `default`. We recommend that GMI document that MNNVL jobs need to skip the queue, or, much better, that GMI set up its Kueue to tolerate DRA resource claims.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;GMI&amp;#8217;s dashboards, which did not exist last time we tested, were useful, including hardware information from DCGM and NVLink and InfiniBand monitoring.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xYqi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa43db568-8572-4364-bf82-2a54b367c68a_2031x1230.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1230" src="https://substackcdn.com/image/fetch/$s_!xYqi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa43db568-8572-4364-bf82-2a54b367c68a_2031x1230.png" width="2031" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We could not get the full GMI health-check experience due to a lack of spare capacity, but what we could test performed well. Nodes were quickly cordoned at the Kubernetes layer, then rebooted and auto-uncordoned. The Slurm layer also brought a node into `DRAIN` soon after a synthetic error was injected. GMI had alerts set up in Slack, so we could see their system detecting the error and thread to discuss next steps with support, which was convenient.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our GMI experience was solid in every crucial way, and we look forward to continuing to test them as their capacity ramps quickly.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Bronze&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Amazon Web Services (AWS)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Our last report summarized the AWS experience as a &amp;#8220;headache.&amp;#8221; This time around, we had to break out some &lt;/span&gt;&lt;em&gt;&lt;span&gt;Amazon Basic Care Ibuprofen Tablets, Fever Reducer and Pain Relief from Body Aches, Headache, Arthritis Pain and More, Brown 200 Count&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to get through our testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The difficulty with AWS begins before you get on the cluster&amp;#8212;indeed, before you even try to provision the cluster: it begins when you contemplate AWS&amp;#8217;s zoo of managed offerings. To get this all straight, we had to make a Venn diagram:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CDJA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870e9761-ea42-466a-a72a-1b1763e21d5f_1700x1650.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1650" src="https://substackcdn.com/image/fetch/$s_!CDJA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870e9761-ea42-466a-a72a-1b1763e21d5f_1700x1650.png" title="" width="1700" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Intern (I forget his name)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;(&lt;/span&gt;&lt;em&gt;&lt;span&gt;Caveat lector&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: anyone not interested in the minutiae of AWS&amp;#8217;s GPU offerings should skip this &amp;#182;.) &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-mlconcepts.html"&gt;&lt;span&gt;SageMaker&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is AWS&amp;#8217;s fully managed platform meant for minimal maintenance. If you don&amp;#8217;t want to handle any infrastructure, it offers &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/customize-model.html"&gt;&lt;span&gt;serverless model customization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://aws.amazon.com/sagemaker/unified-studio/"&gt;&lt;span&gt;data science environments&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that abstract away the underlying compute. At the next level up is the &lt;/span&gt;&lt;a href="https://aws.amazon.com/sagemaker/ai/hyperpod/"&gt;&lt;span&gt;SageMaker HyperPod&lt;/span&gt;&lt;/a&gt;&lt;span&gt; line, which supports both &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-slurm.html"&gt;&lt;span&gt;Slurm&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks.html"&gt;&lt;span&gt;EKS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The HyperPod line offers many conveniences like &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-deep-health-checks.html"&gt;&lt;span&gt;health checks&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-auto-resume.html"&gt;&lt;span&gt;autoremediation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-cluster-observability-slurm.html"&gt;&lt;span&gt;dashboards&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and workload-level features like &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless.html"&gt;&lt;span&gt;checkpointless training&lt;/span&gt;&lt;/a&gt;&lt;span&gt; out of the box for users who want to preserve their `ssh` or `kubectl` access. If you want infrastructure abstracted away but want to handle the ML stack yourself, you can leave the SageMaker umbrella and choose &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/automode.html"&gt;&lt;span&gt;EKS Auto Mode&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which takes care of node provisioning, autoscaling, OS patching, and node repair. EKS Auto Mode is a wrapper on top of &amp;#8220;managed EC2 instances,&amp;#8221; but these are not actual EC2 instances in the sense that they do not show up in the EC2 console and do not provide the same level of customizability as ordinary EC2 instances. In EKS Auto Mode, users do not have access to the control plane, and they must allow AWS to recycle their workers &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/automode.html#:~:text=21%20days%20%28which%20you%20can%20reduce%29"&gt;&lt;span&gt;every 21 days for security&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Finally, for even greater customizability, there is &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/best-practices/karpenter.html"&gt;&lt;span&gt;EKS + Karpenter&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which allows the user to manage autoscaling themselves with the open-source tool &lt;/span&gt;&lt;a href="https://karpenter.sh/"&gt;&lt;span&gt;Karpenter&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite Amazon&amp;#8217;s reputation as &amp;#8220;&lt;/span&gt;&lt;a href="https://www.amazon.jobs/content/en/our-workplace/leadership-principles"&gt;&lt;span&gt;customer-obessed&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; it is clear that this novel-length GPU menu is an example of the adage &amp;#8220;&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Conway%27s_law"&gt;&lt;span&gt;you ship your org chart&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; rather than a reflection of genuine demand segmentation. And the bureaucratic frustrations hardly end once you&amp;#8217;ve ordered your cluster. This is a criticism of the organization rather than of any team in particular&amp;#8212;AWS has shades of the &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Crisis_of_the_Third_Century"&gt;&lt;span&gt;3rd-Century Roman Empire&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. To improve its standing in the next round of ClusterMAX testing, we recommend AWS choose another empire and/or time period for reference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nevertheless, there is a unifying trait of all these offerings: they fail to provision the first time you try. Thus, we made another clarifying Venn diagram:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o3AI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96cb228c-6606-4934-9672-72ef4487dd7f_1700x1560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1560" src="https://substackcdn.com/image/fetch/$s_!o3AI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96cb228c-6606-4934-9672-72ef4487dd7f_1700x1560.png" title="" width="1700" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Ibid.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This finally brings us to the AWS operator experience. One SageMaker cluster we provisioned in the console failed due to insufficient IAM permissions. Some of the EKS clusters used Terraform to simplify provisioning, but that path is not battle-tested and requires being in the right subdirectory and on the right commit of the right branch of the right (in-flight) repo and knowing exactly which knobs to turn without making an invalid request. One cluster came up without Lustre and would not let us attach any, despite extended back-and-forth with AWS engineers. For the purposes of testing, we provisioned a new cluster in a new region to gather data on filesystem perf, but if we were a real-life lab, this would have been crippling, at least temporarily. The AWS team we worked with was consistently helpful, but it is clear that they don&amp;#8217;t have the liberty to go solve problems or even insight into how the system fits together, especially compared to the flat, nimble neoclouds we&amp;#8217;re judging them against. It should not require six engineers on multiple calls to provision a Slurm cluster in the first place.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once the goods were delivered, there were no blockers that kept us from getting reasonable perf out of the gate. The drivers, firmware, and most utilities were up to date. This is the bare minimum from a reputable provider like AWS, however, and there was no shortage of rough edges elsewhere.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A basic point of distinction between the AWS clusters we tested and their peer B200 clusters is that AWS uses Elastic Fabric Adapter (EFA), its proprietary scale-out fabric. In our testing, peak EFA throughput was strong. On a four-node 32-GPU all-to-all &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Settler_colonialism"&gt;&lt;span&gt;NCCL&lt;/span&gt;&lt;/a&gt;&lt;span&gt; test over EFA on B200 we measured 59.44 GB/s busbw at 16 GiB message size, which works out to about 92% of scale-out line rate given the proportion of traffic that crosses the node boundary. On other networking tests with other traffic patterns and launching mechanisms, as long as message size was large enough, throughput was among the best B200 clusters. However, EFA consistently demonstrated worse latency than well tuned InfiniBand comps. For example, when the message size was reduced to 64 KiB, the same four-node 32-GPU all-to-all NCCL test took 85.26&amp;#181;s over EFA and under 50&amp;#181;s on InfiniBand peers; this delta of 30-40% between EFA and InfiniBand was consistent across small-message tests, which are latency-dominated. Although this may seem like a nitpick, scale-out latency is a critical metric for modern &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/glossary/expert-parallelism"&gt;&lt;span&gt;expert-parallel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; workloads, which frequently send small token vectors across the node boundary. This 64 KiB NCCL test, for example, is similar to the expert routing step of models like Kimi K3 and DeepSeek V4. Our findings are corroborated by an &lt;/span&gt;&lt;a href="https://research.perplexity.ai/articles/enabling-trillion-parameter-models-on-aws-efa"&gt;&lt;span&gt;excellent Perplexity technical blog post about optimizing EFA&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which reported similar results: EFA demonstrates satisfactory peak throughput but pays a latency penalty of 20&amp;#181;s or so on &amp;#8220;the message sizes exchanged during MoE dispatch and combine.&amp;#8221; (Note that this Perplexity post compares EFA to ConnectX-7 NICs whereas we tested ConnectX-8, but the nameplate throughput of the two generations is identical.) It&amp;#8217;s not a good sign when Perplexity&amp;#8217;s cracked engineers are writing painstakingly detailed blog posts about how to &amp;#8220;enable&amp;#8221; basic functionality on your custom network stack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RTQu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8af3c70d-f9ae-43c4-afb5-98722cd154cb_2048x1253.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1253" src="https://substackcdn.com/image/fetch/$s_!RTQu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8af3c70d-f9ae-43c4-afb5-98722cd154cb_2048x1253.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;All-reduce tests on EFA. Note that message size must double many times before time to completion changes much; this is because at small sizes, it is latency, rather than line rate, that defines performance.&lt;span&gt;.&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;EFA still requires extra setup for expert-parallel inference in upstream vLLM and SGLang. AWS reports successful vLLM deployments, but users must install EFA userspace libraries and build the relevant communication components with EFA support. Depending on the workload, these include DeepEP, NIXL, or Mooncake Store. &lt;/span&gt;&lt;a href="https://github.com/amazon-contributing/DeepEP"&gt;&lt;span&gt;AWS&amp;#8217;s DeepEP fork&lt;/span&gt;&lt;/a&gt;&lt;span&gt; supports EFA through NCCL GIN. &lt;/span&gt;&lt;a href="https://github.com/deepseek-ai/DeepEP"&gt;&lt;span&gt;DeepEP V2&lt;/span&gt;&lt;/a&gt;&lt;span&gt; uses NCCL GIN, while its NVSHMEM-based V1 path is now documented as legacy. Upstream integration and default container packaging still require work. NCCL EP is another route under development; the linked vLLM integration remains a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/56241"&gt;&lt;span&gt;draft PR&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;In general, EFA is not a priority for frontier communications libraries, and users must wait weeks or months for what support they do get.&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS is the only cloud distinguished in this way. Every other provider we tested uses InfiniBand or RoCE. Of course, AWS&amp;#8217;s customers with GW deals have the resources to make sure their EFA is well tuned, but we still think it a shame that the largest provider&amp;#8217;s scale-out stack is uniquely troublesome.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a different way, storage was another basic cluster service that often proved uncooperative. The B200 cluster we provisioned in `ap-south-1a` failed every request for storage with an ambiguous `Insufficient capacity` error, and the `Failed` filesystems took 5h46m55s to delete.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!JRNV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf42d75a-3a29-49ae-b581-025db99bce52_1244x252.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="252" src="https://substackcdn.com/image/fetch/$s_!JRNV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf42d75a-3a29-49ae-b581-025db99bce52_1244x252.png" width="1244" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To test Lustre performance required another cluster in another region, which meant another protracted bringup&amp;#8212;another evening of terminal-watching trying to discern whether Terraform was making progress or not.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!j7ks!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd91b500f-d3b9-4fd0-a3a0-77a6d644b532_2048x1218.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1218" src="https://substackcdn.com/image/fetch/$s_!j7ks!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd91b500f-d3b9-4fd0-a3a0-77a6d644b532_2048x1218.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Provisioning purgatory.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Claiming storage on AWS via Terraform is like raising a toddler: you can only watch and hope that once it&amp;#8217;s done destroying it will start creating. And once the storage is created, it is not necessarily straightforward to access. On the Kubernetes layer, one cluster provided no StorageClass by default, and its only provided StorageClass left our PVC indefinitely in `Pending` because it had the wrong driver. This required us to define our own StorageClass with the correct provisioner.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Powered on and wired up, storage perf was mixed. The provided &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/ClusterMAX-internal/blob/d039ae43c09bc20e32cfea67469f80069e90d2a8/runs/aws-eks-karpenter-b200/20260729-094037/tests/fio/fio.values.json#L34"&gt;&lt;span&gt;FSx stack struggled significantly with ordinary buffered I/O&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, reaching 9.2s in p99 sequential read latency on fio testing, compared to 312ms on the same metric with buffering disabled. Greater latency on the buffered setting is expected, but this is a pathological delta.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS&amp;#8217;s health checks&amp;#8217; performance was, again, mixed. Our EKS Auto Mode cluster caught the XID we injected, set `AcceleratedHardwareReady=False`, and gave us a new and healthy node only 24m after the original injection. Meanwhile, our SageMaker HyperPod Slurm cluster immediately detected the XID, brought the node into `DRAIN`, and completed most of the reprovisioning process before tripping over its own feet when it required a deep health check before it could rejoin the fleet. This deep health check was submitted as a Slurm job and couldn&amp;#8217;t be scheduled until, well, the node was added back to the fleet. Thus, an operator had to manually push through a `scontrol ... State=RESUME` command, at which point the fleet returned to full health. With our feedback, AWS promptly fixed this circular dependency, and a follow-up test on a single H100 node succeeded without intervention. Better.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our EKS Karpenter cluster&amp;#8217;s health checks were even more self-defeating. The `dcgm-server` DaemonSet did not tolerate the `&lt;/span&gt;&lt;a href="http://nvidia.com/gpu:NoSchedule"&gt;&lt;span&gt;nvidia.com/gpu:NoSchedule&lt;/span&gt;&lt;/a&gt;&lt;span&gt;` taint, so it did not attach to the worker node, causing the monitoring agent to report `error connecting to nv-hostengine` and flip `AcceleratedHardwareReady=False` with `Reason=DCGMError`. Karpenter then marked the `NodeClaim` for termination, the replacement node was marked unhealthy for the same reason, and the system spun in circles until we manually modified the DaemonSet to tolerate the GPU taint. The health check had another allergic reaction when it noticed the IMEX daemon did not schedule. IMEX configures the NVLink fabric across nodes, but we had ordinary B200 nodes speaking via EFA, so there was nothing for IMEX to do: this daemon&amp;#8217;s failure to land &lt;/span&gt;should have been harmless. Instead, the monitoring log emitted the schizophrenic message&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;ignoring IMEX health code on non-NVLink multi-node system, code=122&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;sending condition to exporter,&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;Reason=NvidiaFabricError,&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;Severity=Fatal&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;br /&gt;This would again have recycled a healthy node if we did not manually pin &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;NodeRepair=false&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to keep overzealous garbage collection from blocking our work. Finally, as our testing came to a close, Karpenter tore down our B200 cluster 39 minutes before the &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;EndDate&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, force-evicting a 4-node MPIJob in progress. We have gone into such detail here because these bugs are almost unbelievably elementary for the world&amp;#8217;s largest cloud. Perhaps the single painfree part of the AWS lifecycle was Karpenter scale-up and scale-down, which completed in minutes with no errors. However, GPU capacity must be secured in large blocks and far in advance, so snappy autoscaling with Karpenter is a meaningless feature.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite the many problems with their product, AWS&amp;#8217;s specialists and engineers were intelligent and responsive in our interactions with them. They were eager to show what they had improved, sought out feedback on documentation, circled back to rectify errors in testing, and even built a nice, forward-looking &lt;/span&gt;&lt;a href="https://awslabs.github.io/mcp/servers/sagemaker-ai-mcp-server"&gt;&lt;span&gt;MCP server&lt;/span&gt;&lt;/a&gt;&lt;span&gt; whose skills we plundered for our own codebase. AWS&amp;#8217;s issues lie in its organizational structure. The number of basic issues that have slipped through the cracks is astonishing in an organization with AWS&amp;#8217;s resources.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In February, AWS &lt;/span&gt;&lt;a href="https://press.aboutamazon.com/2026/2/openai-and-amazon-announce-strategic-partnership"&gt;&lt;span&gt;announced the expansion of its deal with OpenAI by $100B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; in 2Q26, it &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1018724/000101872426000024/amzn-20260630xex991.htm"&gt;&lt;span&gt;posted 37% growth in net sales YoY&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1018724/000101872426000024/amzn-20260630xex991.htm"&gt;&lt;span&gt;its Trainium business has hit $25B in ARR with triple-digit YoY growth&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1018724/000101872426000024/amzn-20260630xex991.htm"&gt;&lt;span&gt;its Anthropic investment is appreciating to the tune of tens of billions per year&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; Bedrock &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/anthropic-growth-and-bedrock-mix"&gt;&lt;span&gt;continues to make bed-rocking margins on bed-rocking income&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Managed clusters are not AWS&amp;#8217;s priority.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Gcore&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Gcore is a Luxembourg-ish neocloud building out in ambiguous region called &amp;#171; Europe, &amp;#187; where it relies on other providers for capacity. They have made no flashy announcements recently, though they are adding Blackwell to their Hopper fleet. In ClusterMAX 2.0, we gave Gcore a Silver rating after testing their Kubernetes and SonK offering via Soperator. This time round, we only tried the SonK again.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our insight into Gcore&amp;#8217;s capabilities was limited by their lack of capacity: most providers granted us at least 4 B300 nodes for at least a week, but Gcore was so constrained that they could only part ways with 3 H200s. Nevertheless, there was plenty to keep us on our toes on this cluster.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!HibB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cb65a8-b84d-4b13-99cb-24afea4c0cce_2024x286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="286" src="https://substackcdn.com/image/fetch/$s_!HibB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cb65a8-b84d-4b13-99cb-24afea4c0cce_2024x286.png" width="2024" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our testing on the Soperator layer required several rounds of back-and-forth with the Gcore team to fix some rough edges, but the team consistently proved helpful. When the majority of our first sweep failed due to a misconfiguration that prevented non-root users from running their workloads, the team responded promptly, confirming `kernel.apparmor_restrict_unprivileged_userns=0` would get us unblocked. Gcore&amp;#8217;s team was again responsive in correcting another poor default when each Slurm worker reported `RealMemory=2048 MiB`, apparently having erroneously inherited CPU configurations. This kept us from even running `nvidia-smi`, and we were glad to see it quickly repaired.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!DxFL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ede5496-e7a8-469c-96f7-97530bc48a7e_2048x126.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="126" src="https://substackcdn.com/image/fetch/$s_!DxFL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ede5496-e7a8-469c-96f7-97530bc48a7e_2048x126.png" width="2048" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Debugging was made slightly more challenging on the Soperator layer because inter-node SSH was disabled by default, but the team pointed us to a `soperator-createuser` convenience script to make life easier. The team also troubleshot an error with their dashboard as we tested.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YrbA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe89460-79f5-4eeb-bd38-db18f40971f6_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1214" src="https://substackcdn.com/image/fetch/$s_!YrbA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe89460-79f5-4eeb-bd38-db18f40971f6_2048x1214.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the Kubernetes layer, there was no default StorageClass, so users had to select NFS explicitly. The storage on the Slurm layer was properly configured, with the easy-to-use Soperator default of NFS at `/`, providing the illusion of a single shared volume wired to all the nodes. This storage performed well across workloads. The N/S network was fine, and the E/W network ultimately performed up to spec, but the RDMA devices had non-standard names and no `topology.conf`, so configuration took extra steps.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The XID that we injected was quickly caught and displayed in Grafana; interestingly, the node went `Down` on the Slurm layer, but on the Kubernetes layer nothing changed, even though it was injected via K8s. We could not test autoremediation because Gcore had no spare capacity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Md-Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a763f9-8c8b-44cd-8b93-ce1bda77006b_2048x1149.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1149" src="https://substackcdn.com/image/fetch/$s_!Md-Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a763f9-8c8b-44cd-8b93-ce1bda77006b_2048x1149.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We were impressed by Gcore&amp;#8217;s attentiveness and their Soperator offering that, after some massaging, did the basics right. We look forward to testing Gcore&amp;#8217;s B300/GB300 management, including its handling of XDR ConnectX-8 NICs, and seeing the improvements of their Soperator and Kubernetes products.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GMO&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;GMO&amp;#8217;s managed Slurm cluster delivered strong networking and storage performance on two B300 nodes. Its main gaps were restricted profiling, limited enterprise controls, and a lack of autoremediation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Slurm arrived with a configured head node, partitions, and topology.conf. Drivers and CUDA/NCCL/HPC-X modules were current and consistent across nodes, and Pyxis was available. Onboarding was straightforward, though the Japanese-only console required some manual ctrl+c, ctrl+v translation for us to understand.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M6Z-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf12c9e5-7529-4849-897c-d4198170d523_1226x667.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="667" src="https://substackcdn.com/image/fetch/$s_!M6Z-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf12c9e5-7529-4849-897c-d4198170d523_1226x667.png" width="1226" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: PoV you are a SemiAnalysis intern who dropped Japanese after two classes trying to locate a Grafana dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Grafana access took us five days of troubleshooting. We initially missed the macOS login-keychain instruction, then entered the certificate password where the system password was required. GMO investigated and repeatedly followed up. The final mistake was ours, but clearer certificate instructions would have saved time. Or, no unnecessary custom certificates to access the website. Japanese security theater strikes again.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ne4g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea0e60-f11b-4708-ae48-23cf601addd6_1111x913.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="913" src="https://substackcdn.com/image/fetch/$s_!Ne4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea0e60-f11b-4708-ae48-23cf601addd6_1111x913.png" width="1111" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Attempting to access our Grafana dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The sixteen 400 Gb/s rails per node delivered strong NCCL results, though two nodes provide less scaling evidence than our usual four-node minimum. MPI launches needed explicit NCCL_IB_HCA settings, which GMO said it already supplied in nccl.conf, but which didn&amp;#8217;t work for us initially. Burn-in showed no network errors, retries, or ECC errors, with normal temperatures and power.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Shared home/data/work directories worked out of the box. FIO sequential reads and writes, random reads, and torch.save were solid, built on a well-tuned DDN Lustre filesystem. However, our contrived tests such as `import torch` and vLLM Serve from shared storage performed poorly; GMO offered to investigate but we chalked it up to classic Lustre metadata performance tuning issues and moved on. Like many other Lustre implementations, the GMO storage offering lacked snapshots, automated backups, and disaster recovery options.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cluster also lacked `sudo`, Docker on the workers, and required the use of &lt;/span&gt;&lt;strong&gt;&lt;span&gt;snodes&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, a convenience script that they built to show metadata about the cluster, since they prevent users from running any &lt;/span&gt;&lt;strong&gt;&lt;span&gt;scontrol&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; commands on their own cluster. Security theater once again.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a final step, SSH to worker nodes on the cluster was also blocked. And inside Slurm jobs, `RmProfilingAdminOnly=1` blocked Nsight Compute&amp;#8217;s GPU counters, and perf was not usable for our profiling needs. We believe that managed clusters should allow users to profile their own workloads if they choose to go for the yolo-mode option. We wanted it, but GMO could not provide.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, Grafana exposed useful DCGM metrics but lacked XID detection, estimated TFLOPS, SM Active, and SM Occupied views that we enjoy for performance and reliability monitoring. The Slurm job summary view was also pretty basic. Our synthetic XID 79 log injection produced no observed alert or node drain. GMO said it runs dcgmi health in the Slurm prolog, confirmed XID 79 was not whitelisted, and agreed to investigate for future. We finished our testing by determining that GMO lacked any autoremediation system in place, or at least we couldn&amp;#8217;t verify it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lLSi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd9aa99-91e9-423f-8096-cf04312f20c9_1312x888.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="888" src="https://substackcdn.com/image/fetch/$s_!lLSi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd9aa99-91e9-423f-8096-cf04312f20c9_1312x888.png" width="1312" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Our Grafana Dashboard on GMO!&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, GMO&amp;#8217;s lacking Kubernetes and enterprise features such as RBAC, SSO, and customer-accessible audit logs put it in the camp of niche, local player serving the Japanese market effectively. Our support experience with their team was helpful, but followed standard Japanese business hours. Going forward, we expect GMO to continue to be a leader in Japan, but lack the ambition required to expand their business beyond their local geography.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Verda&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Helsinki-based Verda (formerly DataCrunch) &lt;/span&gt;&lt;a href="https://verda.com/blog/100m-revenue-run-rate"&gt;&lt;span&gt;disclosed $100M ARR and $200M total funding this June&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. They maintain a close relationship with Nvidia and continue to aggressively pursue financing. On the technical side, they have implemented a number of features since we tested them in November, and we are optimistic about their engineering team and roadmap.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Last round of testing, Verda&amp;#8217;s Slurm was officially in beta, and they did not offer Kubernetes. This time, they offer a managed Kubernetes and have moved their Slurm offering to Slurm-on-Kubernetes to simplify deployment. We tested their cluster on both the Slurm and K8s layers; it had its fair share of rough edges, but represents significant progress and a strong starting point for continued development. We also found that security was solid.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5lYj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eba537c-4823-4331-9aca-a3f6d9937dd0_2048x1180.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1180" src="https://substackcdn.com/image/fetch/$s_!5lYj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eba537c-4823-4331-9aca-a3f6d9937dd0_2048x1180.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The purchase and onboarding process was smooth, and the cluster provisioned without hiccups in 30m. The Grafana dashboard worked out of the box, and we SSHed onto the cluster without incident.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MCOI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56ff15e-9317-41f5-ac49-5bc36feb1a2c_1318x1213.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1213" src="https://substackcdn.com/image/fetch/$s_!MCOI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56ff15e-9317-41f5-ac49-5bc36feb1a2c_1318x1213.png" width="1318" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tRNF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45655420-db56-4293-a8d0-80a50c59c73a_2048x1177.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1177" src="https://substackcdn.com/image/fetch/$s_!tRNF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45655420-db56-4293-a8d0-80a50c59c73a_2048x1177.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Once we got on the cluster, though, there were some bumps in the road. Our Slurm testing began with an interesting footgun: when we SSHed in, we assumed we were on the Slinky layer, but we actually had landed on the outer VM with wrappers that ran `salloc`, `sinfo`, and similar commands via `kubectl exec` into the `LoginSet`. The behavior was unusual&amp;#8212;all Slurm commands escalated us to `root`, for example, and our Python environment disappeared&amp;#8212;and it took an evening of debugging before we puzzled out that our Slurm access was illusory and a different SSH command would be required to access the Slinky layer properly.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!gYJg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22583e07-2129-4410-bcfc-c0dcf855b317_1500x139.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="139" src="https://substackcdn.com/image/fetch/$s_!gYJg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22583e07-2129-4410-bcfc-c0dcf855b317_1500x139.png" width="1500" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Verda&amp;#8217;s engineers were responsive, quickly hopping on a support call in which they reasonably explained the rationale behind these convenience functions and pointed us to the supported path. Although this particular feature caused us a headache, it&amp;#8217;s bullish when engineers have gone out of their way to try to make their cluster easier to use.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Slinky layer proved serviceable but imperfect. Verda ran a NCCL-test prolog that exceeded Slurm&amp;#8217;s 10-second `MessageTimeout`, causing a worrisome though harmless `Prolog hung` alert every allocation. More significantly, Verda did not support Pyxis or Enroot, so we had to stand up our environment via a massive `.sif` file. Once our workaround was finished, we completed an 8-hour burn-in without incident and measured satisfactory numbers on our microbenchmarks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!b0YF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d03267-f400-43ca-88a6-32280b0f55e7_1716x227.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="227" src="https://substackcdn.com/image/fetch/$s_!b0YF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d03267-f400-43ca-88a6-32280b0f55e7_1716x227.png" width="1716" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meanwhile, the Kubernetes layer could only be steered through the bastion, offering no way to download a `kubeconfig` through the console. This is a relatively simple fix to align Verda&amp;#8217;s offering with users&amp;#8217; standard workflows.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The biggest shortcomings that surfaced during our performance sweep were of the shared filesystem. Gross throughput numbers were excellent, but cross-node file locks seemed simply not to be enforced. We found 100/100 exclusive-lock violations for both `flock()` and `fcntl()` across nodes, while same-node controls refused every attempt. This strongly suggests the issue is with `virtiofs` failing to publicize locking behavior. We also saw corrupted data when downloading with multiple clients from Hugging Face and `ENOENT` failures on Elbencho with 32 clients. This is more low-hanging fruit, and crucial given the fundamental importance of a reliable shared filesystem when running Slinky.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Lastly, Verda&amp;#8217;s health checks programs are not yet fully configured. They are literal &amp;#8220;health checks&amp;#8221; in the sense that they evaluate whether a node is healthy, but there is nothing to consume their output&amp;#8212;they exit `1`&amp;#8212;&amp;#8220;yup, this one&amp;#8217;s dead&amp;#8221;&amp;#8212;and move on. A user must therefore bring their own reliability suite if they don&amp;#8217;t want bad nodes silently killing their workflows. There is of course also no autoremediation provided by Verda.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Verda consistently communicated promptly and clearly and seemed to have engineers with the liberty and motivation to improve their product. On September 10, after our testing completed, they &lt;/span&gt;&lt;a href="https://verda.com/blog/instant-clusters-h1-2026#gpu-cluster-health-checks"&gt;&lt;span&gt;pushed a number of changes to Instant Clusters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that appear meaningful. We look forward to seeing them continue to sand the edges of their Slinky and Kubernetes offerings, tune their storage system, and implement robust health checks and autoremediation.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Moonlite&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.moonlite.ai/"&gt;&lt;span&gt;Moonlite&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a neocloud headquartered in Chicago, is a new inclusion as of ClusterMAX 3.0. With an ex-Crusoe founding team, Moonlite currently operates a Hopper fleet and has recently handed over its first B300s and GB300s, which it will be continuing to ramp up in the coming months. According to LinkedIn, Moonlite has the fewest employees of any company we worked with this round and oriented around engineering.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested Moonlite&amp;#8217;s Kubernetes and Slinky. The handover process was smooth, with a nice onboarding document defining validated recipes and a Kubeconfig that gave us everything we needed. By default, everyone shared the same root user on Slinky; when we asked for non-root users, Moonlite made a `moonlite-adduser` convenience script in half an hour and baked it into the login-pod image same-day. This shows Moonlite&amp;#8217;s responsiveness to feedback, but also their greenness. We loved their response. We would rather have a battle-tested system, ideally through the console, to handle basics like this.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the hardware side, everything we tested worked well out of the box. NCCL tests hit ConnectX-7 specs, NFS was good, compute benchmarks were solid, and burn-in completed without a problem. However, it bears repeating that we were testing H100s, which by now are quite familiar to the industry and are therefore easier to get right than the GB300 NVL72s we had with other providers. Nonetheless, we were happy with our Hopper perf.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One component of the system that we could not test was the NVMe, which existed but could not be accessed. Nothing exposes it: no local-path `StorageClass`, `hostPath` unavailable, and Slurm workers are Slinky pods with only VAST `/home`. On the Kubernetes layer, there was no default `StorageClass` at all, and unqualified PVCs hung `Pending`.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested Moonlite&amp;#8217;s health and monitoring system via a PCIe secondary bus reset, and Moonlite alerted us in 11 minutes. With our permission, they cordoned the node, ran diags, and returned it to our fleet after 57 minutes total, including a few minutes where they waited for our instruction on how to proceed. In practice, with actual customers, they define policies ahead of time so that their team can follow a runbook depending on the particular error. Moonlite&amp;#8217;s typical SLA is to respond within 15 minutes as their team receives alerts in Slack and PagerDuty. We hear from their customers that so far that this is exactly what they do.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our view, any autoremediation process that brings us back to a full fleet within an hour is good enough. But while manual processes are fine, at scale, we want to see this automated. We would also prefer greater visibility on the cluster in the event of an error. The only change visible to the user was that the node, while remaining `Ready` on the Kubernetes layer, advertised 7 GPUs instead of 8 in the time between the reset and Moonlite&amp;#8217;s manual intervention.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Slinky layer lacked any container runtime on the workers but otherwise got the job done, and had most of what we ask for on the login pod. Moonlite&amp;#8217;s Grafana was fine, but it lacked detail at the scheduling layer, and does not display the most crucial information, which is error status.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;What Moonlite attempted to do, it did well. We look forward to testing them again as their products mature and they get some GB300 calluses on their hands.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Together&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In ClusterMAX 2.0, we wrote the following about Together:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;Together is a strong provider with a robust cluster offering for both Slurm and kubernetes, but it is held back from the gold category due to reliability issues.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;This round, Together&amp;#8217;s issues&amp;#8212;generally but not exclusively having to do with reliability&amp;#8212;are cause for downgrading it to Bronze.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two nodes of ours failed during a compute test; one came back, but the other was sent to RMA without notice, so we were left wondering where it went. Later in testing, Together&amp;#8217;s Slurm `HealthCheckProgram` tried to run `dcgmi diag -r 1` under a 45s timeout on nodes that were already scheduled; the diag did not land, the timeout was misread as a failure, and the nodes were drained mid-run. Together quickly fixed this with our feedback. Separately, one of our nodes could not access VAST because its storage NICs were in `operstate=down`, which Together explained was due to a race condition in NIC initialization in their new lightweight VM stack. There was nothing to catch this error, and manual intervention was required to reprovision a healthy node and bring our test fleet back up to 4. While we like the sound of &amp;#8220;reduced cluster provisioning time,&amp;#8221; we obviously don&amp;#8217;t like to see it affecting reliability.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!19To!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d454aea-e52e-44f2-8250-0c8b0ad86720_2048x874.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!19To!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d454aea-e52e-44f2-8250-0c8b0ad86720_2048x874.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Together&amp;#8217;s health checks did work correctly in some instances, showing progress since &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. When we triggered a PCIe secondary-bus reset on the Slurm cluster, the node was drained in 67s, and an automatic node replacement completed in 35m7s without manual intervention. A synthetic error also cordoned a node on the Kubernetes layer and correctly did not trigger autoremediation because we had `Auto Repair` turned off.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Together Kubernetes and Slinky layers were both functional, though with a handful of challenges. Interestingly, Together advises to avoid using the Kubernetes layer of the Slinky cluster: to convert Slinky nodes to K8s, we were instructed to tear them down and reprovision as vanilla Kubernetes. The Slinky offering should therefore be evaluated as plain Slurm. Summarizing its pain points as briefly as possible: OCI image extraction failed because of default settings on `/tmp`, so we had to redirect extraction to `/scratch`; when this happened, Slurm exited `0` anyway; NFS rejected any filename containing `:`; tenants did not have permission to read `dmesg`, which prevents checking for XID events; and non-login worker shells have neither `nvcc` nor `mpirun` on `PATH`, so ordinary batch scripts behave differently from interactive setups and lack the tooling that they need. None of these is fatal, but adding them up, along with other more minor errors, meant a few dev days before we were able to run our stuff unimpeded. Strangely, Together&amp;#8217;s public internet delivered strong throughput to most services, but its connections to Canonical&amp;#8217;s Ubuntu archive origins repeatedly failed to establish, stalled after connecting, or transferred below 20 kB/s. This again left us stranded as we tried to get our cluster set up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A public IP check confirmed that this flaky B300 cluster had org `AS53735 IREN`. This N+0 Prince George datacenter is one of two datacenters in the industry notorious for unreliability, along with Crusoe&amp;#8217;s cursed Reykjavik site. We strongly suspect that one or both of these datacenters was not &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2093805994493034883"&gt;&lt;span&gt;inaugurated with a Land Acknowledgement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We know of multiple exceptionally unhappy customers of Together struggling with link flaps, power issues, cluster access being shutoff, random upgrades that aren&amp;#8217;t approved by the users going wrong and not being rolled back, and weekend-long outages that eventually get blamed on a single ISP (yes, a single ISP at this site&amp;#8212;no redundancy in Northern Canada). Maybe their other sites are better but the TogetherAI site at IREN Prince George is completely bad.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;After playing the blame game for some time, it is clear that reliability issues cannot be blamed entirely on underlying providers. Unforced errors from customer support engineers have created a lack of trust between customer and provider.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, managed clusters are not Together&amp;#8217;s bread and butter, nor are they its primary source of revenue. When, in July, they &lt;/span&gt;&lt;a href="https://www.together.ai/blog/announcing-our-series-c"&gt;&lt;span&gt;announced an $800M Series C&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the post made passing reference (at best) to their managed clusters business, emphasizing, on the contrary, that &amp;#8220;Together AI is a research-driven company.&amp;#8221; The offtakers of their &lt;/span&gt;&lt;a href="https://finance.yahoo.com/technology/ai/articles/together-ai-humain-form-strategic-120000648.html"&gt;&lt;span&gt;250MW in Saudi&lt;/span&gt;&lt;/a&gt;&lt;span&gt; are as yet undisclosed, but we are aware that Together would prefer to get paid per token, not per GPU-hour. Despite this, we hope that Together manages to Get It Together, and address its cluster reliability issues to make its Slurm and Kubernetes products something to be proud of.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Crusoe&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The Crusoe section of ClusterMAX 2.0 ended on a cautious note:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;Crusoe is at risk of being downgraded to ClusterMAX Silver due to many of their top individual contributor engineers quitting, leaving the culture in their cloud division beginning to resemble big tech. There are too many middle managers across the organization, especially in engineering. This has caused incredibly slow moving releases, such as their AutoClusters feature, leaving us with concerns about the future of Crusoe&amp;#8217;s public cloud offerings. Chase needs to do a rapid course correction if he doesn&amp;#8217;t want to lose all of his 10x engineers and eventually lose their Neocloud business with it.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;In the eight months and change since we published that paragraph, Crusoe has had its fair share of wins. Its valuation has grown from around &lt;/span&gt;&lt;a href="https://www.globenewswire.com/news-release/2025/10/24/3172932/0/en/Crusoe-the-AI-Factory-Company-Raising-1-375-Billion-at-a-Valuation-Above-10-Billion-to-Power-the-Future-of-AI-Infrastructure.html"&gt;&lt;span&gt;$10B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/newsroom/crusoe-announces-series-f-funding"&gt;&lt;span&gt;$30.9B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, it has announced &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/newsroom/crusoe-announces-new-900-mw-ai-factory-campus-in-abilene-texas-to-support-microsoft-ai-infrastructure"&gt;&lt;span&gt;900MW&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/newsroom/crusoe-and-lancium-announce-1-gigawatt-ai-data-center-campus-in-childress-texas"&gt;&lt;span&gt;1.0GW&lt;/span&gt;&lt;/a&gt;&lt;span&gt; campuses in Texas and &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;many more elsewhere&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and it remains an innovator in the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;&lt;span&gt;wild wild west of datacenter construction&lt;/span&gt;&lt;/a&gt;. They have the largest real pipeline of any datacenter builder.&lt;/p&gt;&lt;p&gt;Its inference endpoints business is also extremely highly regarded, following the acquisition of some cracked Israeli engineers from Atero. They have also landed awesome deals with firms like Jane Street.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Plenty to keep their hands full and business churning, some clusters are amazing, but others from them are terrible.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Yet this round of ClusterMAX testing finds that Crusoe&amp;#8217;s neocloud business has not course-corrected rapidly enough. The problems go back to the fundamentals: reliability and hygiene.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We emphasize health checks in our &lt;/span&gt;&lt;a href="https://www.clustermax.ai/expectations"&gt;&lt;span&gt;expectations&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and our write-ups, but genuine hardware failures are rare in testing because our ClusterMAX allocations are too small and short-lived. Crusoe bucks this trend. On an H100 cluster we had in May to test AutoClusters, we saw an impressive barrage of &lt;/span&gt;&lt;a href="https://docs.nvidia.com/deploy/xid-errors/analyzing-xid-catalog.html"&gt;&lt;span&gt;XID&lt;/span&gt;&lt;/a&gt;&lt;span&gt;s&amp;#8212;more real errors on one cluster over five days than we saw in the rest of testing combined.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!j3M8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa329b23f-21d8-4161-8d1d-f6773c4f7648_710x708.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="708" src="https://substackcdn.com/image/fetch/$s_!j3M8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa329b23f-21d8-4161-8d1d-f6773c4f7648_710x708.png" width="710" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In a pattern that would repeat throughout testing, exceptionally poor performance in some areas was paired with mature services in others: this storm of XIDs was accompanied by convenient emails, attractively styled, politely notifying us of the errors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sbUf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb352f0-7454-46a2-a664-06b4b3475be4_1906x717.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="717" src="https://substackcdn.com/image/fetch/$s_!sbUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb352f0-7454-46a2-a664-06b4b3475be4_1906x717.png" width="1906" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In addition to being responsible for the majority of this round&amp;#8217;s hardware failures, Crusoe bears the distinction of having had the oldest Linux kernel and the oldest GPU drivers we tested. Crusoe has since rectified these shortcomings, but at the time of testing there were several software versions that were well below our minimum expectations: the aforementioned NVIDIA drivers failed our `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax audit security`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, along with Docker, ConnectX firmware, and `runc`. These issues speak to a lax security posture and poor engineering hygiene.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ADwB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43394dd5-0859-4fda-995d-ebce78b6608d_2048x770.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="770" src="https://substackcdn.com/image/fetch/$s_!ADwB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43394dd5-0859-4fda-995d-ebce78b6608d_2048x770.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Nor are these software-version criticisms merely academic. The Linux kernel that our B300 cluster ran, `5.15.0-185-generic`, was earlier than a Linux patch series called &amp;#8220;&lt;/span&gt;&lt;a href="https://github.com/torvalds/linux/commit/9426414f0d42f824892ecd4dccfebf8987084a41"&gt;&lt;span&gt;writeback: Avoid lockups when switching inodes&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&amp;#8221; The particular problem that our kernel experienced is well explained by the description of commit `&lt;/span&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1b849cfa6b61f1c866a908c9e8dd9b5aaab820b"&gt;&lt;span&gt;e1b849c&lt;/span&gt;&lt;/a&gt;&lt;span&gt;`, which fixed it for upstream kernels:&lt;br /&gt;```&lt;br /&gt;There can be multiple inode switch works that are trying to switch inodes to / from the same wb. This can happen in particular if some cgroup exits which owns many (thousands) inodes and we need to switch them all. In this case several inode_switch_wbs_work_fn() instances will be just spinning on the same wb-&amp;gt;list_lock while only one of them makes forward progress. This wastes CPU cycles and quickly leads to softlockup reports and unusable system.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;```&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When might a `cgroup` that owns thousands of `inode`s exit? One answer: when a Slurm job is torn down. In our case, as an ordinary workload wrapped up, every CPU on the NUMA node ended up stuck contending for the same `list_lock`, making the processor unusable. The local NFS client, which happened to be on the frozen NUMA node, couldn&amp;#8217;t get CPU time, and a liveness probe for that client timed out and reported the node unhealthy. Kubelet tried to control the damage with a `SIGTERM` and a `StopContainer` operation, but the kernel was taking its sweet time doing the laundry&amp;#8212;reassigning dirty `inodes`&amp;#8212;and took over two hours before it could honor the termination requests. The final result was another `NotReady` email from Crusoe&amp;#8212;this one, uniquely, downstream of an old CPU kernel.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FtAg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02cee8f4-3296-49c3-978f-5731e80353c2_600x1166.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1166" src="https://substackcdn.com/image/fetch/$s_!FtAg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02cee8f4-3296-49c3-978f-5731e80353c2_600x1166.png" width="600" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;By the end of our testing, this kernel was not merely old and unperformant: it was officially marked a security vulnerability by &lt;/span&gt;&lt;a href="https://ubuntu.com/security/CVE-2026-64378"&gt;&lt;span&gt;CVE-2026-64378&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which exploited the buggy writeback behavior, published on July 25 with severity 7.8; &lt;/span&gt;&lt;a href="https://ubuntu.com/security/CVE-2026-64531"&gt;&lt;span&gt;a separate 7.8 for this kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; was posted on July 27. Thus, we added the Linux kernel to our collection of Crusoe software exposed to CVEs. Crusoe has informed us that they will be upgrading to a 6-major Linux kernel, a necessary patch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ppy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39e3841-11dc-4862-a7a8-6352c494c1d0_2048x1470.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1470" src="https://substackcdn.com/image/fetch/$s_!Ppy0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39e3841-11dc-4862-a7a8-6352c494c1d0_2048x1470.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: A Crusoe job posting on August 13, 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When we ran our XID injection on Crusoe&amp;#8217;s Kubernetes layer, the error was quickly detected and a `Node Replacement` workflow was triggered, but the node could not be put in `drain` due to a mismatch in Slurm naming convention that slipped through Crusoe&amp;#8217;s CI. The health monitoring system spun its wheels, repeatedly catching the error and trying but failing to mark the node unhealthy. Crusoe&amp;#8217;s engineering team diagnosed the error impressively quickly, rolling out a replacement within hours. However, our replacement node had faulty storage NICs, immediately bringing it into `drain`. This issue persisted after the node&amp;#8217;s VM was manually reset. Crusoe&amp;#8217;s engineering team has informed us that the failure of AutoClusters to remediate in this latter event was &amp;#8220;a known gap,&amp;#8221; and that they will be &amp;#8220;rolling out auto-remediation actions for this in a few weeks.&amp;#8221; This is a surprisingly lethargic response to a basic failure of reliability.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Vx1X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e75c1-c96e-4877-8263-21d9a60bda07_2030x810.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="810" src="https://substackcdn.com/image/fetch/$s_!Vx1X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e75c1-c96e-4877-8263-21d9a60bda07_2030x810.png" width="2030" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Last and briefly, it bears mentioning that this cluster&amp;#8217;s WAN was among the slowest we tested, clocking in between 0.47 Gbps and 0.78 Gbps depending on the context. Iceland has some skinny cables getting off the island.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;All these problems add up to a cluster notorious for its flakiness, as confirmed by our friends at frontier labs who complain about both the number of failures and the apparent lack of interest from Crusoe engineers to fix the issues promptly. To be clear, we at one point viewed Crusoe as the #2 neocloud in the world, and as a result the #2 place in the world to rent GPUs. We made recommendations to this effect. Oh, how the mighty have fallen.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But while Crusoe&amp;#8217;s machine images are badly due for a refresh, and their engineers can&amp;#8217;t get Claude Tags or Codex approved, they do have automations like this set up in their internal Slack:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Mp20!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ebfbf-f058-4e7f-b3c8-3b99064127c2_2031x141.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="141" src="https://substackcdn.com/image/fetch/$s_!Mp20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ebfbf-f058-4e7f-b3c8-3b99064127c2_2031x141.png" width="2031" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Does a CVE from November of 2025 count as &amp;#8220;historical baggage&amp;#8221;?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In all seriousness, this is a problem of priorities, a problem of bureaucracy run amok. We are not sure what to make of job postings like the above one for a senior Linux kernel engineer. Literally, we&amp;#8217;re just asking everyone to keep things up to date. You don&amp;#8217;t need to hire Linus to understand why this makes sense. So while it&amp;#8217;s cool to see Crusoe flexing its muscles and paying top dollar for a good person, it&amp;#8217;s not a lack of people or funding or technical skill that has brought Crusoe here in the first place. Our complaints focus on the most basic issues possible, not the &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/blog/slurm-on-crusoe-managed-kubernetes-how-we-built-managed-gpu-training-infrastructure"&gt;&lt;span&gt;Slinky configuration &lt;/span&gt;&lt;/a&gt;&lt;span&gt;or &lt;/span&gt;&lt;a href="https://www.crusoe.ai/cloud"&gt;&lt;span&gt;console&lt;/span&gt;&lt;/a&gt;&lt;span&gt; or &lt;/span&gt;&lt;a href="https://docs.crusoecloud.com/installing-the-cli/"&gt;&lt;span&gt;CLI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that no doubt take up much more engineering time and that we enjoy using.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We enjoy working with Crusoe&amp;#8217;s engineering team and believe they have plenty of talent to improve their standing. Frankly, in the last few months, things seem to be getting back on track. Engineers are locked in, pushing code, and excited about upcoming releases. The Atero acquisition has been worth its weight in gold, skyrocketing Crusoe to the top of many buyer&amp;#8217;s lists when it comes to inference endpoint quality. We love to see it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Still, in the managed clusters business, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;TCO comes down to goodput, and goodput comes down to reliability&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and Crusoe&amp;#8217;s clusters are exceptionally unreliable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Crusoe comes in towards the bottom of our Bronze category for this round.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Prime Intellect&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Prime Intellect &lt;/span&gt;&lt;a href="https://www.primeintellect.ai/blog/series-a"&gt;&lt;span&gt;closed a $130M Series A this July&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at a &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/07/08/prime-intellect-raises-130m-series-a-to-help-enterprises-build-their-own-ai-agents/"&gt;&lt;span&gt;$1B valuation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, disclosing $100M of &amp;#8220;annualized revenue run rate across compute, RL and post-training, sandboxes, inference, environments, and evaluations.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested Slurm and Kubernetes B300 clusters and mostly enjoyed both of Prime Intellect&amp;#8217;s orchestration layers, although each was missing a handful of packages we would&amp;#8217;ve liked to have. The huge Slurm control plane was nice and snappy, having machines with 2TB of RAM for some reason. Plenty of swap space to run &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;salloc&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;After a quick fix to standardize the NCCL bootstrap interface, our networking tests ran up to 13 nodes on the ConnectX-8 NICs with excellent throughput. Storage was no issue, with Weka &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;/data&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; volume performing very well at 4 nodes and scaling steadily beyond. PrimeIntellect&amp;#8217;s managed Grafana was one of the nicer ones we encountered. However, we were on a cluster that was still going through burn-in, so we saw a steady stream of errors. An easy way to test the monitoring and health checks on the system!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mNM9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F474ff935-9589-410b-a578-22f98d257375_2048x1154.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1154" src="https://substackcdn.com/image/fetch/$s_!mNM9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F474ff935-9589-410b-a578-22f98d257375_2048x1154.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;First, a node on our Kubernetes cluster was marked &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;NotReady&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, apparently due to on-site techs monkeying with adjacent servers; it returned within 5 minutes. Then, during a PyTorch networking test, a different Kubernetes node stopped posting kubelet status and the distributed job could not complete; the node came back after a reboot and the job completed. The next day, 2 Slurm nodes went down, one with NVLink issues and the other stuck after a reboot. Both returned promptly after intervention, but the latter was soon back to its shenanigans with another surprise reboot, causing a storage test to fail. An MPI test aborted in its last phase, and the corresponding Slurm job remained in &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;COMPLETING&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; as all workers remained unreachable in the brief period before we handed the cluster back.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;All of these reliability issues can be blamed on the fact that we got on this cluster in a small window while they were still doing burn-in for a paying customer. Fair enough. But the lack of compute at Prime&amp;#8217;s disposal that would allow them hold back hot spares &lt;span&gt;points to a bigger problem of growing capacity constraints. Prime is a reseller of other&amp;#8217;s compute, and depends on their underlying providers to guarantee customers with a high quality experience. This comes with challenges that high quality training/RL frameworks, dashboards, and maniacal Slack engagement from a cracked team of engineers can&amp;#8217;t always cover up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, Prime&amp;#8217;s health checks performed impressively throughout, quickly intervening and limiting the damage of each error. We thought the system&amp;#8217;s default responses were sensible and even liked the Slack alerts, which the team promptly followed up on. Given that Prime gets its capacity from a number of providers, the quality of their software layer is important for labs to feel comfortable with what they&amp;#8217;re getting. Of the marketplaces we&amp;#8217;ve tested, Prime seems to be the best.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_I5c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4736b265-c5f7-4f4a-b287-4dfddef97232_2048x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!_I5c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4736b265-c5f7-4f4a-b287-4dfddef97232_2048x842.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This leaves Prime Intellect with a straightforward assignment, and one that we cannot have direct insight into: improve reliability, build a base-load of compute capacity, and rise in the rankings as a true neocloud. We have no doubts about the team&amp;#8217;s technical ability; they have done a lot of hard things correctly on this cluster, and are the only provider on this list that injects real experience training models into their approach to software and support. For better or worse, their work elsewhere is much more impressive than the bread-and-butter managed compute offering evaluated here.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We got a preview of their hosted training product during this period and are very impressed. RL infrastructure is decidedly more complex than a simple managed Slurm or Kubernetes cluster, since its built on top of the same foundation but with three components that need to stay in sync:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Training&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Inference&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Sandboxes/environments&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Coming soon, we will be evaluating hosted training infrastructure providers and RLaaS companies for hire through a project provisionally called PostTrainingX. If we had to put out an initial cut at those rankings, Prime would be in the hunt for Platinum! Stay tuned.&lt;/p&gt;&lt;h3&gt;&lt;span&gt;DigitalOcean&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This marks the first round of testing that we have been able to get the full DigitalOcean developer experience. &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1582961/000158296126000045/a2026-q1dopressrelease.htm"&gt;&lt;span&gt;Marketing itself&lt;/span&gt;&lt;/a&gt;&lt;span&gt; as &amp;#8220;the first cloud built end-to-end for the inference and agentic era,&amp;#8221; DigitalOcean distinguishes itself from &amp;#8220;bare-metal focused neo-clouds and inference wrappers that lack cloud platforms.&amp;#8221; In fewer words: DigitalOcean sells, among other things, managed clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DigitalOcean&amp;#8217;s managed clusters are orchestrated by Kubernetes, which proved solid but slightly immature. Their onboarding doc asked us to install Multus ourselves, then create network attachments, install MPI Operator, and create the MPIJob manifest. There&amp;#8217;s no reason not to set this up for the customer in advance. Once configured, our cluster performed well, hitting all the standard benchmarks for compute and XDR networking, and completing burn-in without incident. The cluster also lacked a RWX StorageClass out of the box, adding another basic setup step that the better K8s providers handle for you. Once the storage was configured, its performance was interesting: sequential writes were approximately 6x faster than sequential reads at several different client counts, the inverse of what we see on most clusters. We expect that DigitalOcean&amp;#8217;s sequential read performance could be significantly improved with retuning.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When we went to test the health checks, our first XID injection went unnoticed: the monitoring system did not detect anything, and the node remained available for scheduling. When we alerted the DigitalOcean team, they responded promptly, found the bug in their system, and asked us to reperform the test later in the week. The second try went smoothly, and we had a fresh node 50 minutes after injection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When a neocloud is &amp;#8220;built end-to-end for [...] inference,&amp;#8221; that means it doesn&amp;#8217;t offer Slurm. The DigitalOcean team helpfully offered us a runbook to stand up Slinky, and it got the basics right, but would require significant work before it could be considered production-ready. No SSH access, nor, as mentioned previously, any RWX volume by default, which means that there is nowhere to keep a `/shared`. Anyone who plans to run Slurm on DigitalOcean should expect to stand up their orchestration themselves.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DigitalOcean &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1582961/000158296126000045/a2026-q1dopressrelease.htm"&gt;&lt;span&gt;will be adding 60 MW of capacity throughout 2027&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and, aside from its managed K8s, it has an interesting selection of GPU services like &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1582961/000158296126000045/a2026-q1dopressrelease.htm"&gt;&lt;span&gt;Droplets&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.digitalocean.com/products/bare-metal-gpus"&gt;&lt;span&gt;bare-metal Hopper and MI300X&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that fall outside the scope of ClusterMAX testing. But no plans for GB&amp;#8217;s or VR&amp;#8217;s from what we can see at this point. We look forward to the team continuing to improve its managed Kubernetes service the next time we test.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hyperstack&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hyperstack, under parent NexGen Cloud, is a UK-based neocloud that &lt;/span&gt;&lt;a href="https://docs.hyperstack.cloud/llms.txt"&gt;&lt;span&gt;advertises Kubernetes clusters in the US, Canada, and Norway&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It recently &lt;/span&gt;&lt;a href="https://www.nexgencloud.com/news/nexgen-cloud-secures-45-million-in-series-a-funding-to-expand-sovereign-ai-infrastructure-in-europe"&gt;&lt;span&gt;raised $45M at a $354M valuation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with plans for many AI new products for &amp;#8220;full-cycle development.&amp;#8221; &lt;/span&gt;&lt;a href="https://www.nexgencloud.com/news/usd.ai-provides-34m-facility-to-finance-nexgen-clouds-gpu-deployment-in-sweden"&gt;&lt;span&gt;As it announced a $34M debt facility to build out a B200 fleet&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, it also disclosed plans to deploy 4,500 B300s later this year and for an additional 56 MW online in 2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The managed Kubernetes cluster that we tested marks significant progress since ClusterMAX 2.0, and a solid foundation for its continued growth. Compute and networking tests were up to spec, and burn-in sustained good numbers with no hard errors. Our Kubernetes node-reboot recovery was quick, and we had no trouble mounting and unmounting PersistentVolumes. The N/S network was fine, and storage was good enough, although we were not able to get Weka and VAST, which Hyperstack usually offers, on our timeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our synthetic XID was detected in under a second with a `NvidiaFatalXid=True` flag. The test was awkward as Hyperstack had no extra capacity, so we had to take a node out of our fleet to simulate a spare. The support team notified us that they had detected the error 12m after we injected it, and our spare rejoined the fleet after a total of 52m. Interestingly, at this point, the &amp;#8220;sick&amp;#8221; node was still not cordoned, which took until 1h30m to register on the Kubernetes layer. This was all driven by manual intervention by Hyperstack&amp;#8217;s SRE team after our synthetic error triggered Grafana alerts.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FjJi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7211d5c-b5ef-44b1-a9f5-e99495125b2a_961x486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="486" src="https://substackcdn.com/image/fetch/$s_!FjJi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7211d5c-b5ef-44b1-a9f5-e99495125b2a_961x486.png" width="961" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, this test was a success, and we appreciate Hyperstack&amp;#8217;s commitment to helping it go smoothly. However, as the team is aware, the amount of human support required makes us worry about its replicability. Hyperstack offers 24/7 support and targets intervention in under 60m in the event of single-node failure, but it&amp;#8217;s better not to have to count on another engineering team pushing the right buttons before your cluster gets back to full health.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The only outright error during our testing was that two pods, `cilium-envoy` and `csi-hyperstack-node`, crash-looped with `Too many open files`. This was a minor annoyance and did not affect our workflows.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to continuing to work with Hyperstack as they grow their team, gain experience managing larger clusters, and continue to automate and harden their infrastructure.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Participation Ribbon&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Vultr&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Vultr advertises itself as &amp;#8220;&lt;/span&gt;&lt;a href="https://www.businesswire.com/news/home/20260708517182/en/Vultr-and-SUSE-Launch-Validated-Full-Stack-NVIDIA-Enterprise-AI-Platform-to-Accelerate-Production-Deployments"&gt;&lt;span&gt;the world&amp;#8217;s largest privately-held cloud infrastructure company&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which they are not, and &amp;#8220;&lt;/span&gt;&lt;a href="https://www.hpe.com/us/en/newsroom/press-release/2026/06/vultr-selects-hpe-and-nvidia-for-next-generation-ai-infrastructure-for-cloud-scale-data-centers.html"&gt;&lt;span&gt;the world&amp;#8217;s largest privately held hyperscaler&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which they wouldn&amp;#8217;t be even if they were. Still, they are a relevant player in neocloud land, with modern GB300s and MI355X including a claimed &lt;/span&gt;&lt;a href="https://www.businesswire.com/news/home/20251202285088/en/Vultr-and-AMD-Expand-Collaboration-to-Drive-Global-AI-Innovation-and-Scale"&gt;&lt;span&gt;50 MW AMD site&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in Ohio. In &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Vultr&amp;#8217;s cluster was delivered with a handful of basic errors. Unfortunately, the pattern is the same almost a year later.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The images that Vultr built for our testing had many libraries with applicable CVEs, including CUDA, DCGM, Docker, runc, and ConnectX firmware. Our Slinky login pod did not mount `/shared` and lacked the Pyxis plugstack config, so we had to orchestrate from a worker pod until the Vultr support team reprovisioned the login pod mid-campaign, fixing both issues. There was another basic problem with the storage visible from the K8s layer: the default storage configuration was incompatible with our bare-metal cluster. The default StorageClass, `vultr-block-storage`, provisioned and bound without complaint, then the pod sat in `ContainerCreating` forever. However, the Lustre tier, which came attached to the worker nodes, was excellent, achieving 91.7 GB/s aggregate read across 32 clients. Grafana was configured but only partially correct, as NVLink read 0 due to unconfigured `DCGM_FI_PROF_NVLINK_*` fields.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Vultr is known to have been experiencing issues with the reliability in its scale-out networking, which has discouraged partners from beginning or expanding existing deals. We recommend that Vultr continue to improve the sturdiness of its clusters and work to create golden images with all relevant utilities and orchestration reasonably configured and up to date.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Vessl&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Vessl is a new Korean neocloud who fancies itself a &amp;#8220;multi cloud orchestrator&amp;#8221; rather than a broker, buying bare metal long-term and providing a management layer with SLAs on top. They &lt;/span&gt;&lt;a href="https://vessl.ai/ko/blog/vessl-b200-ai-factory"&gt;&lt;span&gt;claim 5,000 GPUs currently in operation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and have an ambitious target of 100 MW by the end of 2027. &lt;/span&gt;&lt;a href="https://kgsa.net/?page_id=29&amp;amp;mod=document&amp;amp;uid=8667"&gt;&lt;span&gt;An old Vessl BizOps job posting&lt;/span&gt;&lt;/a&gt;&lt;span&gt; says to expect &amp;#8220;Speed. We MUST move fast, learn fast, and iterate constantly,&amp;#8221; demanding &amp;#8220;&lt;/span&gt;&lt;a href="https://www.linkedin.com/posts/the-concept-of-80000-hours-career-consulting-share-7471245601628696577-HlPU/"&gt;&lt;span&gt;a minimum of 60 hours per week&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We love the ambition; however, the immaturity of Vessl&amp;#8217;s cluster, which we sampled in its Kubernetes and Slinky flavors, gives them plenty to work on. Our onboarding began with a notice to pin three settings to render the RDMA fabric usable. A heads-up is better than nothing, but we much prefer to be given a cluster that performs well out of the box.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!lFOI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f043a94-7c2c-4c37-9d56-b627138a60b8_1744x238.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="238" src="https://substackcdn.com/image/fetch/$s_!lFOI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f043a94-7c2c-4c37-9d56-b627138a60b8_1744x238.png" width="1744" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The third bullet was in response to a particularly cumbersome configuration: by default, due to Vessl&amp;#8217;s Kubernetes `LimitRange`, each container would hard-fail if it used more than 2GB of host memory. Although a defensive default might make sense in certain cases, this is a poor setting. Nodes rarely are called on to run more than one job at a time, so containers can expect to have all of the host DRAM to play with&amp;#8212;hundreds of GB&amp;#8212;and OOM-killing them for going above 2GB is stifling. We recommend that Vessl relax this limit, bringing it in line with the physical capacity of the host while also making failure more graceful.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of management, Vessl provided no way to handle users on the Slinky layer except via traditional Linux tools on the machine. The SSH key we added from the console did not show up on the cluster, nor did the one we added via the Vessl CLI; we later learned that these utilities are independent of Vessl&amp;#8217;s Blackwell clusters. We could therefore use only the private key and `kubeconfig` DMed to us on Slack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Hxsw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e712d05-e3d0-4d5f-9c27-5a9b89b4b156_2048x298.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="298" src="https://substackcdn.com/image/fetch/$s_!Hxsw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e712d05-e3d0-4d5f-9c27-5a9b89b4b156_2048x298.png" width="2048" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The cluster provided a reasonable (though strange) `add-user` convenience script to make new Linux users.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M7u8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc421b89f-eb94-43ca-a479-45e4885de096_1308x822.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="822" src="https://substackcdn.com/image/fetch/$s_!M7u8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc421b89f-eb94-43ca-a479-45e4885de096_1308x822.png" width="1308" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It did not provide, however, basic packages like `pip`, `git`, or even `sudo`.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!WZNP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02307a5c-746c-40ed-ac40-d402528367c2_1292x72.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="72" src="https://substackcdn.com/image/fetch/$s_!WZNP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02307a5c-746c-40ed-ac40-d402528367c2_1292x72.png" width="1292" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!N22A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42e8d396-2de6-4d06-b1e0-df2d635a9340_946x69.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="69" src="https://substackcdn.com/image/fetch/$s_!N22A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42e8d396-2de6-4d06-b1e0-df2d635a9340_946x69.png" width="946" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!f-ha!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dcc0786-1a69-42d6-93fd-73ba6e53865b_783x70.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="70" src="https://substackcdn.com/image/fetch/$s_!f-ha!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dcc0786-1a69-42d6-93fd-73ba6e53865b_783x70.png" width="783" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The cluster therefore took some work to get to the starting line. But our intern was still not done putting in reps as Linux sysadmin. Vessl ran the Slurm login node with an ephemeral OverlayFS root, so runtime changes to `/etc/passwd` and `/usr/bin` existed only in the container&amp;#8217;s writable layer and were not preserved when Kubernetes recycled the pod. This caused our users to disappear midway through testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another Slinky misconfiguration brought down the Slurm layer for part of testing. Our workloads wrote to an overlay that they did not clean up, accumulating 863 GiB in the root volume, causing Kubernetes to mark the node `DiskPressure` and restart it. This not only brought down the local worker, but the Slurm controller daemon as well, rendering the whole Slurm layer intermittently inaccessible. We infer that `slurmctld` was scheduled on to a node also running `slurmd`. Co-scheduling a `slurmd-pyxis` pod with a `slurmctld` is generally a bad practice for reasons well illustrated by this anecdote: the data plane should not be bogged down by the administrative duties of the control plane, and the control plane should not be within the blast radius of the data plane. Vessl quickly stopped the bleeding by having Enroot write to a larger volume, but to our knowledge the root cause&amp;#8212;the co-scheduled worker and controller&amp;#8212;remains unaddressed. It is clear that Vessl does not have experience running Slinky at scale in production.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XFSc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf619-792d-401e-a5d4-a2de20f10a35_2048x798.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="798" src="https://substackcdn.com/image/fetch/$s_!XFSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf619-792d-401e-a5d4-a2de20f10a35_2048x798.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A separate error made Kubernetes access inconsistent. The URL in our `kubeconfig`&amp;#8217;s `server` field did not always resolve to the same IP address: Vessl had erroneously published the private `10.x` IP to the record set in addition to the public one. Sometimes our `kubectl` command resolved to the right (public) IP, and we could access, but other times it would resolve to the wrong one and our request would hang until a retry went through. We recommend that Vessl remove the `10.x` IP from the public record set.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The `NetworkPolicy` we set on the Kubernetes layer of our Vessl cluster was accepted but not enforced, as HTTP requests between all tenant pods were accepted without regard to defined rules. Vessl did not have a health check program configured and should prioritize this along with all the mundane &amp;#8220;quality of life&amp;#8221; features indicated above.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!ZdtQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24cf8a2-afbd-43a3-9537-ffa22f1dea42_1425x78.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="78" src="https://substackcdn.com/image/fetch/$s_!ZdtQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24cf8a2-afbd-43a3-9537-ffa22f1dea42_1425x78.png" width="1425" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The hardware itself that Vessl offered performed well throughout testing, including on NCCL tests over InfiniBand. Given that it has such a large fleet advertised as coming online soon, Vessl has every motivation to harden its offering, providing superior services to its users and enabling it to command superior prices. We will be interested to observe Vessl&amp;#8217;s progress when we next test.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Runpod&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Runpod is a neocloud headquartered in Moorestown, New Jersey with a fleet including RTX PRO 6000, H100, H200, B200, and B300. This June, &lt;/span&gt;&lt;a href="https://www.prnewswire.com/news-releases/runpod-raises-100m-led-by-summit-partners-to-accelerate-the-ai-developer-cloud-302808689.html"&gt;&lt;span&gt;they raised $100M at a $1B valuation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, announcing on Twitter that &lt;/span&gt;&lt;a href="https://x.com/LukePiette/status/2069822990615728333"&gt;&lt;span&gt;their revenue doubled to $240M ARR from February to June&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cluster we were able to test was in Seattle, and was so new that it did not even have storage configured yet. Our &amp;#8220;Instant Cluster&amp;#8221; was just about instant, spinning up in under 2 minutes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8EJN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3b62b74-729a-4b4e-92fd-8672fbbfa140_2048x1113.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1113" src="https://substackcdn.com/image/fetch/$s_!8EJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3b62b74-729a-4b4e-92fd-8672fbbfa140_2048x1113.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Runpod&amp;#8217;s user model is unusual. In an ideal world, we manage permissions via a web console with RBAC, where we can add our team members by email, increase or decrease privileges, make groups, and drop in our SSH keys to be automatically synced to the cluster. Instead, taking advantage of its snappy provisioning, Runpod recommends minting Instant Clusters as needed. Engineers then operate their cluster with a single tenant and return them to the pool when finished. This means that budgeting, monitoring, and other such policies are handled above the cluster level, rather than via traditional tools like Linux user management or Slurm accounting. Runpod&amp;#8217;s design choice is viable, but it is revealing we did not end up using the cluster in the suggested manner, preferring to fall back to the more familiar pattern of making Linux accounts tied to our SSH keys.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our first burn-in failed as one of our nodes had port 1 links go down on two NICs, suspected to be due to an issue with a leaf switch. There was no health check to catch the error, but there was a Grafana dashboard that highlighted the error if you know where to look. With our feedback, the Runpod team quickly improved the dashboard to make InfiniBand state easier to spot.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2jRn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2a0073-ebec-4897-bca3-ad5501b3fe33_2048x1054.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1054" src="https://substackcdn.com/image/fetch/$s_!2jRn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2a0073-ebec-4897-bca3-ad5501b3fe33_2048x1054.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the second burn-in attempt, the networking performed well and the test completed without error.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cluster was so new that there was no shared filesystem to test. On the software side, though, our initial audit found many things to be improved. The CUDA Toolkit, GPU driver, and NIC firmware were deprecated for security reasons, and the CUDA Toolkit was additionally a liability because &lt;/span&gt;&lt;a href="https://docs.nvidia.com/cuda/archive/12.9.0/pdf/CUDA_Toolkit_Release_Notes.pdf"&gt;&lt;span&gt;12.8 does not support SM103&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the B300 SM architecture. This caused some of our benchmarks to fail on the first try. The cluster was also missing lots of expected tooling, with no container runtime and many basic HPC packages absent.  Slurm also occasionally marked waiting jobs as `InvalidAccount`, which prevented jobs from running, even though `AccountingStorageEnforce=none` and `AllowAccounts=ALL`. The workaround was to spam `scontrol update JobId=&amp;lt;jobid&amp;gt; Account=me` until Slurm accepted.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We also saw a node drained when an image extraction filled our 50 GB root overlay, which was shared with `/var/spool/slurmd`, leaving `slurmd` unable to write. Our tenant lacked credentials to `scontrol update`, so our testing continued shorthanded. Separately, Linux rejected `unshare -Ur`, so we had to run with `udocker` instead. Our standard XID injection route was blocked because we lacked permission to write to `/dev/kmsg`; we had no mechanism to issue node reboots; passwordless `sudo` was not enabled by default. The theme here is clear: within the Runpod environment, users lack many permissions they need to get their work done.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We find the Runpod team unusually receptive to feedback and eager to explain their decisions. We like that &lt;/span&gt;&lt;a href="https://www.runpod.io/careers"&gt;&lt;span&gt;the majority of their job postings are in serious engineering roles&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and we hope they continue to work to strike a better balance between ease of access and developer control.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Bitdeer&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Bitdeer was a new inclusion in ClusterMAX testing as of ClusterMAX 2.1. Yet another crypto miner pivoting to AI, Bitdeer already has an impressive 1.75GW in total electrical capacity &lt;/span&gt;&lt;a href="https://ir.bitdeer.com/news-releases/news-release-details/bitdeer-reports-unaudited-financial-results-second-quarter-2026"&gt;&lt;span&gt;according to its most recent announcement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. However, this mostly feeds cryptocurrency mining rigs: &lt;/span&gt;&lt;a href="https://atlas.semianalysis.com/?dashboard=datacenter_model"&gt;&lt;span&gt;our SemiAnalysis Datacenter Industry Model estimates they only have a handful of AI MW online&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Still, Bitdeer is steering hard toward the higher-margin GPU business, with hundreds of MW already in the pipeline over the next couple of years as it works on sites, either converted or now, in Knoxville, Wenatchee, Fox Creek, and Rockdale, as well as in Norway and Malaysia. Hoping to grow its business vertically as well as horizontally, Bitdeer is not content with mere colo deals, with fledgling offerings from token-as-a-service to managed agents to, of course, managed clusters.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!epx5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f265b3a-94a5-4931-b066-fdcccf9de49a_1496x902.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="902" src="https://substackcdn.com/image/fetch/$s_!epx5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f265b3a-94a5-4931-b066-fdcccf9de49a_1496x902.png" width="1496" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="http://bitdeer.ai"&gt;bitdeer.ai&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We spent a lot of time trying to figure out what exactly Bitdeer expected us to test when they gave us credits on their public console. Health checks were not set up, the monitoring dashboard did not work, many basic libraries like PyTorch and Docker were not installed, networking settings were empty, IMEX was not configured, and the console did not support ordinary conveniences like RBAC. Bitdeer&amp;#8217;s monitoring installer downloaded a binary for the wrong CPU architecture. SSH worked eventually, but oddly required an RSA key rather than ed25519. Kubernetes queries repeatedly lost their connection. In short, the management of this cluster was strictly nominal. The most that can be said is that it had GPU drivers, NCCL, CUDA, and an OS and kernel, and that all were sufficiently modern.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once we had the time to set things up, performance was fine. GPUs hit expected numbers on burn-in and NVLink supported the expected traffic.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o1Iu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f84fb39-e5a1-4e8e-b260-1f8d47fe13d6_1280x857.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="857" src="https://substackcdn.com/image/fetch/$s_!o1Iu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f84fb39-e5a1-4e8e-b260-1f8d47fe13d6_1280x857.png" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, the cluster&amp;#8217;s WAN performance was exceptionally bad, averaging around 0.1 GB/s across several tests. The cause of this poor performance is unknown to us; needless to say, it would be an impediment to real-world usage.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of all, getting support was a massive pain. The entire technical team was based in Asia (Malaysia, or Singapore in our case), which meant 8-12h TAT when we were trying to troubleshoot issues. It was impossible to consider Bitdeer for anything other than this tier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to seeing Bitdeer&amp;#8217;s improvements in future rounds of testing as its managed cloud offering matures and it implements features like health checks and managed Kubernetes. It will be interesting to see where Bitdeer allocates its time and attention, as management has unambiguously announced that its neocloud business is not its main focus: &amp;#8220;&lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1899123/000121390026054748/ea028888001ex99-1.htm"&gt;&lt;span&gt;Executing on colocation lease agreements is THE top priority.&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Shadeform&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Shadeform continues to focus on brokering and small scale marketplace reselling of individual GPU VMs with a small team. We enjoy the interface and working with the Shadeform team, but without more ambition they will stay in our lowest tier.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Radiant&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Radiant was formed after Brookfield acquired Ori, a UK-based neocloud that we discussed in ClusterMAX 2.1. Unfortunately we have not been able to test a working, secure cluster. Despite almost a year of planning, along with quite a bit of marketing effort, and announcements that mention Billions and Gigawatts, Radiant is yet to deploy a Blackwell GPU.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;FPT&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;FPT suffered from a number of security issues during our testing, which we described in ClusterMAX 2.1. We have yet to re-test and are not aware of any Blackwell capacity.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Core42&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Core42 is a dark horse in this category. They have a solid team, allocation of GPUs, political backing, and an infinite money glitch in the form of Mubadala. We expect to see them put the pieces together and rocket up the rankings as they enter the US market.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Latitude&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Latitude is making progress to keep their modest cloud business afloat, being recently acquired by Megaport and as a result going public. We had the chance to test some RTX Pro 6000 Blackwell servers, but as long as Latitude is missing the latest and greatest GPUs, we expect them to be stuck in this category.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;IBM Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We have not had the opportunity to re-try IBM Cloud since our horrendous experience in ClusterMAX 2.0.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;BuzzHPC&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Buzz is making waves in Canada, latching onto the Sovereign AI wave associated with the Carney vs Trump showdown, to the tune of 1.2GW and $50B in Saskatchewan, in partnership with Bell and others. This is quite the complement for their 300MW+ elsewhere in the country. BuzzHPC is one of the many public companies on the ClusterMAX list, via parent company HIVE Digital Technologies Ltd. Unfortunately, all the GPUs that we have tested from Buzz were in clusters of questionable quality, relying on questionable software vendor partner choices. We have not had the opportunity to re-test since ClusterMAX 2.0, but we hope this changes in the near future.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Neysa&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Indian neocloud Neysa announced a &lt;/span&gt;&lt;a href="https://neysa.ai/press-release/blackstone-leads-funding-of-over-1-billion-dollar-to-neysa/"&gt;&lt;span&gt;$1.2B in financing this February&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, including $600M equity and $600M debt, in a round led by Blackstone that left them at $1.4B post-money. They claim &amp;#8220;&lt;/span&gt;&lt;a href="https://neysa.ai/blog/hpc-architecture/"&gt;&lt;span&gt;9,216 air-cooled NVIDIA B300 staged between December 2026 and March 2027&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; with an equal number of AMD MI350X in the pipeline as well. Impressive growth, and clearly the leader in India in this regard.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This round, our testing unfortunately revealed a cluster that was riddled with errors. Many software packages that came pre-installed during cluster provisioning were months or even years out of date, with several serious CVEs applicable. CUDA Toolkit 12.0, for example, was &lt;/span&gt;&lt;a href="https://developer.nvidia.com/cuda-toolkit-archive"&gt;&lt;span&gt;released in December 2022&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, making it older than Neysa itself. Somehow this was installed on our cluster at &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;/usr/bin/nvcc&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We enjoyed working with the Neysa team and encourage them to continue to improve their security posture and shore up their fundamentals as their capacity spikes and the bring on large customers from abroad. While current Neysa customers are mostly stuck on the Hopper generation, with a few B300s available, they are no GB&amp;#8217;s (and, as a result, no direct liquid cooling) that have made it to production on the Indian subcontinent.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Vast.ai&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;A reseller/marketplace that keeps coming up in customer conversations for random GPUs on-demand, representing one of the better partnerships teams in the industry, finding unused capacity all over the world. Unfortunately, the UI is just terrible, so hard to use.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hyperbolic&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We haven&amp;#8217;t had the chance to re-test Hyperbolic since the last round, but they got a basic security compliance attestation done finally! Hyperbolic moves onto the list.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;STN&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;STN has been very confusing. One of the earliest clouds to deploy B300s, and one of the only providers with an option for &amp;#8220;private cloud&amp;#8221;, where customers take care of procuring the cluster themselves, and keep the chips on their balance sheet, but STN takes care of cluster operations. We hear from multiple customers how they enjoy this arrangement and prefer it over price gouging neoclouds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve always enjoyed working with the STN team, but unfortunately each of the last three times we&amp;#8217;ve engaged with the team, we have run into some performance, reliability, or configuration issue, asked for a fix, been promised a fix, not gotten the fix, and then time has run out.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We regrettably keep STN in this tier until we can see a complete end to end testing experience as the customer would experience it.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Not Recommended - Underperforming&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Based on hands-on testing, these providers can quickly rise to Bronze by fixing one or more critical issues, such as offering only older GPUs, missing basic security attestation (SOC 2, ISO 27001), misconfiguring key server features (leaving PCIe ACS enabled, or failing to enable GPUDirect RDMA), or charging for GPU hours during cluster creation or hardware downtime.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;SharonAI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Sharon AI is an Australian neocloud that &lt;/span&gt;&lt;a href="https://sharonai.com/press-releases/sharon-ai-announces-us1-32-billion-five-year-cloud-computing-service-agreement/"&gt;&lt;span&gt;claims 132MW in its pipeline, with 116MW already contracted out&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, against a current footprint that we estimate around 4 MW. They do not have SOC 2 or ISO 27001. We were able to test 2 bare metal H200 nodes to verify basic functionality. We look forward to testing Sharon AI down the line as their offerings mature.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;IREN&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;IREN continues to come up in our conversations with neocloud customers, and usually for the wrong reasons. They&amp;#8217;ve got rock bottom prices on HGX B200 and B300 GPUs in Prince George and Mackenzie in Northern BC, Canada, and we&amp;#8217;ve heard the stories. Multi-day power outages, network upgrades, storage failures, air quality controls leading to link flaps, XID&amp;#8217;s everywhere. The #1 worst site in the industry according to users. And we are some of their users, as we&amp;#8217;ve gotten to test IREN GPUs from multiple providers that resell their capacity. A lot of our users that aren&amp;#8217;t having an good time that we are hearing from aren&amp;#8217;t renting from IREN resellers but IREN themselves&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, the new builds in Childress and Sweetwater look much better (read: not N+0 power, cooling, and ISPs!). We&amp;#8217;ve covered plenty about these sites in our Datacenter Model, suffice it to say that despite all the technical shortcomings in their cloud services, we expect the &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-and-iren-announce-strategic-partnership-to-accelerate-deployment-of-up-to-5-gigawatts-of-ai-infrastructure"&gt;&lt;span&gt;$2.1B investment from NVIDIA&lt;/span&gt;&lt;/a&gt;&lt;span&gt; will help them cut less corners this time around.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We recommend that IREN stop pretending to offer managed clusters and inference endpoints in public marketing and investment materials, and focus on their bare metal offerings, where there is plenty of market demand for their services.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hydra Host&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hydra Host raised a &lt;/span&gt;&lt;a href="https://hydrahost.com/post/tokens-are-the-new-oil-hydra-host-series-a/"&gt;&lt;span&gt;$100M Series A&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in June 2026, with NVIDIA among its backers. They are focusing on brokering deals, and our earlier testing is all we have to go on for managed cluster experience. We need to test a real managed cluster before considering an upgrade.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;FarmGPU&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We couldn&amp;#8217;t make much progress in our testing of FarmGPU. The Slurm layer did not advertise GPU resources properly, while Kubernetes did not expose any RDMA devices for scale-out networking.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, we very much appreciate FarmGPU&amp;#8217;s open development culture, including their solid Grafana monitoring experience and detailed notes on provisioning. We find the technical team to be trustworthy and solid to work with, even if they are stretched too thin just trying to get a few small clusters deployed correctly.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;WhiteFiber&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;WhiteFiber raised &lt;/span&gt;&lt;a href="https://www.whitefiber.com/news?id=19"&gt;&lt;span&gt;$159.4M gross at its initial IPO closing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in August 2025. Our prior testing found good network performance but unusable Slurm/Kubernetes integration and weak job monitoring. More recent customer feedback suggested improvement, though the ephemeral Slurm login filesystem remained a concern. We need to verify that these operational problems are fixed.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;PaleBlueDot&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;PaleBlueDot raised a &lt;/span&gt;&lt;a href="https://www.prnewswire.com/news-releases/palebluedot-ai-raises-150m-series-b-to-scale-global-ai-compute-infrastructure-302672782.html"&gt;&lt;span&gt;$150M Series B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; led by B Capital in January 2026. We previously found its marketplace easy to use for individual VMs, but it lacked a complete managed-cluster experience. Unfortunately, they have shut down their on-demand console in favor of serving some big customers in dedicated datacenters.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Akamai&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Not much has changed in the last year at Akamai/Linode, with single-node GPUs being the focus and no managed Slurm or Kubernetes available. We&amp;#8217;ll keep watching to see if this sleeping giant wakes up anytime soon.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hetzner&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hetzner&amp;#8217;s low-cost hosting model still provides some cheap PCIe GPUs, specifically the RTX 4000 and 6000 Pro Blackwell Edition. We&amp;#8217;re waiting to see if they take the plunge with anything bigger, building on all their datacenter operations experience to really serve the AI market.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Mithril&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Mithril, formerly Foundry, announced &lt;/span&gt;&lt;a href="https://mithril.ai/blog/introducing-foundry"&gt;&lt;span&gt;$80M in funding back in 2024&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &amp;#8220;restore the promise of public cloud to AI&amp;#8221;. Today, it&amp;#8217;s a marketplace wrapping 3 Nebius availability zones with H100 or H200, though only the H200&amp;#8217;s have an option with a scale-out network.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pOU2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5188b-419c-4668-beb5-cec14d49a018_911x313.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="313" src="https://substackcdn.com/image/fetch/$s_!pOU2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5188b-419c-4668-beb5-cec14d49a018_911x313.png" width="911" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Mithril website&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;There were some announcements about TPU support that we were quite excited about, but that partnership seems to have been scrubbed away.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;OVHCloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;OVHcloud has substantial infrastructure globally, operating in tons of datacenters globally, some of which are shared with top neoclouds on this list. But our concerns remain that general purpose IaaS is not the growth engine of the AI age with companies doing crazy things to get access to the latest and greatest. Another sleeping giant.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Massed Compute&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Massed Compute last announced capital raise involved &lt;/span&gt;&lt;a href="https://www.hpcwire.com/off-the-wire/massed-compute-gains-300m-backing-for-nvidia-powered-ai-cloud-expansion/"&gt;&lt;span&gt;up to $300M in equity and revenue-share financing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; from Digital Alpha in August 2025. They have used this to drive reasonable growth for a bare metal business, but that alone does not cut it on the ClusterMAX rating system, especially since their &lt;/span&gt;&lt;a href="https://massedcompute.com/faq-answers/?question=What%20are%20the%20key%20features%20of%20NVIDIA%20H100%20GPUs%20that%20enable%20improved%20performance%20in%20machine%20learning%20workloads%3F#:~:text=These%20answers%20are%20generated%20by%20an%20AI%20system%20and%20may%20be%20incomplete%20or%20inaccurate."&gt;&lt;span&gt;slop cannon chatbot&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is still getting indexed by web crawlers.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Not Recommended - Unavailable&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Our &amp;#8220;Not Recommended - Unavailable&amp;#8221; tier is the same as ever, but to clarify, for this section we include four types of companies:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those that we have previously tested who now claim to have zero spare capacity and/or refuse to test with us. This includes Fluidstack, Cirrascale, Lightning AI (recently merged with Voltage Park), Scaleway, CUDO Compute, Denvr Dataworks, and Atlas Cloud.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those that are yet to launch, yet to be tested, and are generally interesting to us, though we believe some unnamed of this bunch are misleading investors (i.e., lying) by claiming in public marketing materials that they do managed clusters when they really just do bare metal. This includes SpaceXAI, Mistral, Poolside Infrastructure Company, Nscale, Highrise, Corvex, Andromeda, Volta, Firebird, Tatra, Sesterce, Yotta, Boostrun, GlobalAI, Argentum and Qumulus.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those who are big and important, but who we cannot test properly due to geographic or regulatory concerns. This includes Alibaba Cloud, MegaSpeed, BytePlus, RunSun, SK Telecom, Naver Cloud and Indosat/Zankore/Lintasarta.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those who are too small to be relevant. These are still covered in our market view, but not part of the rating system.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;&lt;span&gt;Fluidstack&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Fluidstack has (currently) exited the managed clusters market, as far as we are concerned, because their focus has shifted from managed Nvidia clusters to bare-metal TPU deployments at 100K+ chip scale. We look forward to testing with them again in the future, with whatever chips they may offer at that time. &lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Cirrascale&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Unfortunately, after receiving a legal letter to modify our previous article&amp;#8217;s description of our experience working with Cirrascale, we have not been able to establish a productive working relationship.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Lightning (merged with Voltage Park)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Following the merger of Lightning and Voltage Park, the combined company has unfortunately run out of GPUs, and we haven&amp;#8217;t been able to test the reconciled products. This is despite the company consistently advertising that they are the 3rd biggest neocloud in the world in terms of GPUs deployed. They are not in the top 10.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Scaleway&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Recently, we hear that Scaleway has de-prioritized a number of customer engagements and decided to voluntarily break ties with NVIDIA, in favour of AMD, for seemingly no good reason. We think this is a shame.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;CUDO&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;CUDO did not make a representative managed Slurm or Kubernetes environment available for this cycle as it focuses on other business priorities (namely, managing the build out of a bunch of bare metal datacenters). We look forward to reassessing CUDO when an environment becomes available.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Denvr Dataworks&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Despite changes in leadership and random bouts of activity in the community, we have yet to make any progress testing Denvr and have not seen any meaningful growth in the business that would allow them to dig themselves out of the hole their founders put them in.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Atlas Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We haven&amp;#8217;t been able to get GPUs from Atlas recently, despite big announcements about bare metal datacenters from their crypto parent company and random appearances on endpoint provider lists with their managed inference offering.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;SpaceXAI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We love Colossus and can&amp;#8217;t wait to test the SpaceXAI neocloud offering!&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Mistral&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Mistral just raised a &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/09/08/mistral-raises-e3b-as-sovereign-ai-becomes-big-business/"&gt;&lt;span&gt;&amp;#8364;3B Series D&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and has yet to confirm the validity of a hacker from TeamPCP claiming to put its entire codebase up for sale on the dark web. Anyway, we are very excited to test their neocloud offering. The team told us the platform was still coming up and onboarding its first customers in August, so we very much look forward to testing with them in the future. It seems obvious to us that companies with experience building training clusters for their own models (see above) will be successful neoclouds if they choose to pivot.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Poolside Infrastructure Company&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Following a $6B licensiquihire by Nvidia that took an incredible group and buried them in the Nemotron bureaucracy, Poolside&amp;#8217;s legacy lives on through the Poolside Infrastructure Company, which is developing their Project Horizon campus in West Texas. We have not yet tested anything from them, but their experience and ambition makes them an immediate contender if the skeleton crew decides to go for it on the neocloud business.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Nscale&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Nscale announced a &lt;/span&gt;&lt;a href="https://www.nscale.com/press-releases/nscale-series-c"&gt;&lt;span&gt;$2B Series C&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March, announced the acquisition of AnyScale in May, and just filed an S1 to go public on NYSE a few days ago. It is unbelievable to us that they can have such a big business, and continue to claim in public marketing materials that they offer managed clusters and inference endpoints, when this is clearly not true. Obviously, though, they&amp;#8217;ll continue to be successful. They&amp;#8217;ve got access to lots of land and power, some construction and datacenter operations experience, and people really want that bare metal at a nice price.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Highrise&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Highrise, Hut 8&amp;#8217;s AI Cloud business, is constantly in the news. We hope we can test some managed clusters from them soon.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Corvex&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Corvex continues to run scared from ClusterMAX, though they announced a $33M private placement in August to expand their datacenter capacity. Their &lt;/span&gt;&lt;a href="https://www.corvex.ai/blog/press-release-corvex-to-go-public-in-all-stock-merger-withmovano-creating-a-pure-play-platform-for-secure-ai-infrastructure-and-high-performanceinference"&gt;&lt;span&gt;choice of merger partner was Movano, maker of the Evie smart ring&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Quite a change in product roadmap. Privately, they claim some secure government customers in the USG. We look forward to testing.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Andromeda&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Andromeda takes capacity from other providers and puts a managed cluster service on top. We have discussed testing multiple times, and enjoyed working with the technical team, but find the business side to be a little shady. Resellers have a perverse incentive to keep the customer in the dark about who the underlying provider is, out of fear that the customer can just go around them and contract with them directly. Unfortunately, this can lead to bad games of broken telephone, and lots of finger pointing in the worst case. Specifically, we have a problem with non-circumvention clauses and hope that Andromeda can build a durable business model that allows them to be honest about their solid technical team and the value it can provide. We look forward to testing some of their Blackwell capacity soon, wherever it may be.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Volta&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Volta launched with &lt;/span&gt;&lt;a href="https://www.bloomberg.com/news/articles/2026-08-04/nvidia-dell-back-ai-cloud-startup-volta-at-2-4-billion-value"&gt;&lt;span&gt;$300M in venture funding and a separate $5B financing pool&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for customers. Its first large announced contract uses Bitdeer&amp;#8217;s Norway site. We have not tested the cloud software or customer operations.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Firebird&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Firebird is building GPU infrastructure in Armenia, with $60M in construction financing announced by Ameriabank, and expansion plans in Kazakhstan. Recently, they became the subject of &lt;/span&gt;&lt;a href="https://zartonkmedia.com/2026/09/06/following-wsj-report-firebird-co-founder-offers-context-armenia-ai-project-has-roots-going-back-years-built-to-make-armenia-a-global-technology-powerhouse/"&gt;&lt;span&gt;a story about Nvidia chip access and the Armenia-Azerbaijan peace process; co-founder Razmig Hovaghimian responded that the project had roots going back years before those diplomatic developments&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. GPU diplomacy. Pressure&amp;#8217;s on to deliver for the people of Armenia! We still need to see the managed cloud in action.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Tatra&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Tatra is developing B300 and GB300 capacity in Slovakia, using the country&amp;#8217;s nuclear and hydro power base. We have some great feedback about the technical chops of the father/son team&amp;#8212;hard working, impressive family. For now, though, we need them to get their first tranche fully deployed so we can put them to the test.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Sesterce&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We spun up an on-demand H100 through Sesterce in August. The console showed an out-of-date Ubuntu option, provisioning took its time, and eventually we got a working machine. Then we found Shadeform underneath. A broker on top of a broker. We would quite like to know how many companies need a margin before the customer gets to run a workload! With that said, Sesterce is pursuing some big bare metal Blackwell clusters with big offtakers. We want to test those.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Groq&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Groq set out to challenge Nvidia, but after a licensiquihire took Jonathan Ross and most of the engineering team, the remaining company has pivoted&amp;#8230; to renting out Nvidia GPUs! Becoming a neocloud is the move if you want another $350M to live out your dreams (as &lt;/span&gt;&lt;a href="https://groq.com/newsroom/groq-becomes-an-nvidia-cloud-partner"&gt;&lt;span&gt;announced in August&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). We look forward to testing more than just endpoints one day. Jensen gets the chip team and another customer. Not bad.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Yotta&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Yotta handed us a four-node H100 Kubernetes cluster after an onboarding demo that mostly included a tour of the login screen. To file a ticket, we were directed from Shakti Cloud into One Yotta, then back through the Shakti domain. Unfortunately, all these portals do not help keep clusters online, with us hitting a real failure (Xid 94) within a day of starting our testing. Our testing is ongoing here, and performance is solid (though way after our deadline), but judging from customer feedback and our own experience, we&amp;#8217;re getting pretty clear signals so far. We need to see Blackwell GPUs and some improved reliability for them to keep pace with others in the industry.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Darya&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Darya is bringing GPU cloud infrastructure to Tajikistan, right on the border of Afghanistan, which certainly expands the map of places we need to test. &lt;/span&gt;&lt;a href="https://yotta.com/press-releases/darya-ai-and-yotta-data-services-sign-strategic-collaboration-agreement-to-develop-tajikistans-first-green-ai-data-center/"&gt;&lt;span&gt;Its H200 cluster launched in June 2025, and it subsequently signed an agreement with Yotta to develop a hydropower-fed AI datacenter in Darvoz&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Interesting stuff, but after our experience navigating Yotta&amp;#8217;s portals, we are particularly curious which parts of the operating model make the trip to Tajikistan. We have not yet had access to Darya&amp;#8217;s cluster, though we would love to visit the site.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UbWR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a998bd-2550-4185-aa2c-808cf6d383ae_1448x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="892" src="https://substackcdn.com/image/fetch/$s_!UbWR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a998bd-2550-4185-aa2c-808cf6d383ae_1448x892.png" width="1448" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Darya&amp;#8217;s Datacenter on Google Maps&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Boostrun&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Boostrun has some solid bare metal, but bought its way past some of the Kubernetes engineering: &lt;/span&gt;&lt;a href="https://www.vcluster.com/case-studies/boost-run"&gt;&lt;span&gt;vCluster says the company launched managed Kubernetes in under 45 days with no new platform engineering hires. They went with isolated tenant control planes, dedicated private nodes, and Netris for network provisioning&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Sensible. We would rather see a small provider use working software than spend a year rediscovering Kubernetes. In customer discussions, we have still considered adding another operator for a fully managed training experience. We have tested a Boostrun cluster indirectly, through another provider reselling their capacity, but await the opportunity to engage with their support teams directly. We want to see how much of the day two operations Boostrun handles for themselves in a real engagement before moving them onto the list.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Global AI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Global AI takes the sovereign-cloud pitch quite literally: &lt;/span&gt;&lt;a href="https://www.globalai.com/"&gt;&lt;span&gt;dedicated, single-tenant, air-gapped clusters sold by the data hall (or so they say). Customers decide when Global AI can access their systems&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a solid offering for bare metal. However, when advertising an option for managed clusters, we need to see more. Just to assess bare metal we want to see things like how provisioning and security patches get handled, how comprehensive the monitoring stack is, how reliability and health checks work, and generally how competent the onsite team is at closing tickets quickly and correctly. We have not yet gotten to see this level of detail.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Argentum&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Argentum&amp;#8217;s website says &lt;/span&gt;&lt;a href="https://argentum-ai.com/"&gt;&lt;span&gt;&amp;#8220;200,000+ GPUs available now.&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Had you heard of Argentum before you got to this section of the article?&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;QumulusAI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;QumulusAI found a different source of GPU debt: a &lt;/span&gt;&lt;a href="https://www.qumulusai.com/articles/qumulusai-secures-500m-non-recourse-financing-facility-through-usdai-to-accelerate-ai-infrastructure-growth"&gt;&lt;span&gt;$500M non-recourse facility through USD.AI&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, using GPU Warehouse Receipt Tokens as collateral for stablecoin borrowing, with financing for up to 70% of approved deployments. GPU Warehouse Receipt Tokens is the actual name. The announcement describes a facility, so we are not counting $500M of installed hardware. In our customer discussions, Qumulus has come up as a capacity supplier that may need another operator on top for managed training. We still need to inspect its own software and support, but initial customer feedback has been surprisingly solid.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Alibaba Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Alibaba has considerably more software to show us than the usual neocloud startup. One example is &lt;/span&gt;&lt;a href="https://www.alibabacloud.com/help/en/ack/cloud-native-ai-suite/use-cases/implement-slurm-hpc-and-kubernetes-load-hybrid-scheduling-on-ack-cluster"&gt;&lt;span&gt;its ACK Slurm operator: a SlurmCopilot component coordinates resource allocations between Slurm and Kubernetes so idle resources do not remain stranded in one scheduler&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This is the kind of orchestration plumbing we like to poke at, and obviously this is a company that is not ready for a poking. We have an account, have been whitelisted for a few model endpoints, and have engaged directly with the sales team, but have yet to get access to any modern GPUs or this ACK software for testing.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Megaspeed&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Plenty of hardware to investigate in their Malaysian and Indonesian sites, but no login yet.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;BytePlus&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;BytePlus&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.byteplus.com/en/product/gpu"&gt;&lt;span&gt;GPU service advertises switch-affinity placement on a multi-rail network, direct RDMA access to its vePFS parallel filesystem&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and integration with our favourite model ever: Seedance 2.5. We have not yet completed an evaluation of their clusters, but there is clearly stuff to watch out for. Tik, tok.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Humain&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Humain has given itself plenty to do. Alongside the Saudi GPU buildout, &lt;/span&gt;&lt;a href="https://www.reuters.com/world/middle-east/saudi-ai-firm-humain-unveils-6-gigawatt-data-centre-plan-new-ai-operating-system-2025-10-27/"&gt;&lt;span&gt;Tareq Amin announced a roughly 6 GW datacenter ambition, as well as Humain One, a real-time voice&lt;/span&gt;&lt;/a&gt;&lt;span&gt; interface for any computer. We would be happy to start with a login and a functioning cluster, but we have yet to get a response from the team, leaving us wondering what secrets they&amp;#8217;re hiding next to their Groq systems.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;SK Telecom&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;SK Telecom runs over 1,000 B200s for Korea&amp;#8217;s sovereign foundation-model initiative. As we &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/koreas-trillion-dollar-sovereign"&gt;&lt;span&gt;covered in a recent article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the government also rented ~3,000 H100 equivalents from SK Telecom and Naver combined for the competition&amp;#8217;s first round. SK Telecom has announced a much larger 2 GW NVIDIA DSX AI factory, expected to deploy Vera Rubin systems with SK Hynix HBM4, within SK Group&amp;#8217;s planned 5 GW first-phase buildout. We have tested SK Telecom GPUs through Vessl, and they were solid, but nothing with SK directly. We need to see more from them on the international market to consider them a serious player, but the technical foundation is clearly there.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Naver&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Naver, much like SK Telecom, is highly credible. It already operates hyperscaler-class datacenters, and its July plan with NVIDIA and Brookfield calls for expanding the GAK Sejong AI factory from an initial 55 MW buildout to 200 MW by 2028. We are interested in how much of that operational experience reaches external customers, vs the internal research teams at Naver. We have yet to test that experience.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Indosat (Zankore)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Zankore has announced the first phase of roughly 200 MW of GB300 NVL72 capacity is to be delivered in the first half of 2027. Even if they are a little behind schedule on deploying Blackwell, they are still well on their way to a long-term 1 GW ambition, primarily to serve offtakers (rumoured to be) from mainland China. And they&amp;#8217;ve landed a &lt;/span&gt;&lt;a href="https://www.reuters.com/business/media-telecom/ooredoo-backed-zankore-secures-31-billion-financing-nvidia-ai-cloud-platform-2026-09-09/"&gt;&lt;span&gt;$3.1B loan&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to go do it!&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;Where ClusterMAX Goes From Here&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/clustermax-30-the-industry-standard"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/clustermax-30-the-industry-standard"/>
    <summary type="html">&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;This post has bonus content for paid subscribers. Upgrade to get full access.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Upgrade" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In 8 months since our last major release of ClusterMAX, slavering investors have just about run out of pockets to stuff checks into. GPU supply has gone to zero. Meanwhile, we have been hard at work putting clusters through the ringer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Weeks ago, we teased this report with some R-rated anecdotes from our experiences probing the security practices of neoclouds, eliciting a PSA from a neocloud customer that you may have heard of.&lt;/span&gt;&lt;/p&gt;&lt;div class="twitter-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Today, we finally go through the full breadth and depth of our testing, more thorough in ClusterMAX 3.0 than ever before. This includes compute, networking, storage, orchestration, UI, monitoring, support, and just about everything that you could think to check on a GPU cloud. We&amp;#8217;ll explain who&amp;#8217;s been cutting deals, whose engineers have been hard at work, and whose clusters you should negotiate to come with a bottle of Aspirin.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Without further ado, voil&amp;#224; the ClusterMAX 3.0 podium:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!av5g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2130ed4-61b4-49a8-98e5-03408801831c_1432x880.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="880" src="https://substackcdn.com/image/fetch/$s_!av5g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2130ed4-61b4-49a8-98e5-03408801831c_1432x880.png" width="1432" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX 3.0, September 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VHk0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb4097-5b9c-4863-a7d1-533dce1fde2a_1258x711.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="711" src="https://substackcdn.com/image/fetch/$s_!VHk0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb4097-5b9c-4863-a7d1-533dce1fde2a_1258x711.png" width="1258" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Neocloud Dashboard, available to our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO Model&lt;/a&gt; subscribers&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Results (Executive Summary)&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href="https://youtube.com/@semianalysis?si=4_Vv7QxIgISst4Rn"&gt;&lt;span&gt;YouTube&lt;/span&gt;&lt;/a&gt;&lt;span&gt; summary video and podcast discussion coming soon!&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;ClusterMAX 3.0 debuts with a comprehensive review of the neocloud industry, covering 77 providers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We increase our market view to cover 323 providers, up from 209 in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, 169 in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-gpu-cloud-clustermax-rating-system-how-to-rent-gpus"&gt;&lt;span&gt;ClusterMAX 1.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and 124 in the original &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ai-neocloud-playbook-and-anatomy"&gt;&lt;span&gt;AI Neocloud Playbook and Anatomy&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We have now interviewed well over 200 end users of neoclouds as part of this research.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We update our &lt;/span&gt;&lt;a href="https://www.clustermax.ai/criteria"&gt;&lt;span&gt;itemized list of criteria across 10 categories&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and update our direct descriptions of our &lt;/span&gt;&lt;a href="https://www.clustermax.ai/expectations"&gt;&lt;span&gt;expectations for Slurm, Kubernetes, Standalone Machines, Monitoring Dashboards, and Health Checks&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. All of this content is live on our website. We encourage providers to use these lists when developing their offerings. We still consider these lists as an amalgamation of our experience interviewing end users, making them representative of the features that end users expect from their cloud providers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Nebius joins CoreWeave in the Platinum tier. While CoreWeave still sets the technical bar for others to follow, Nebius is now established as a provider that consistently commands a premium pricing over others. Strong business decisions by Nebius have put them in a position to serve an entire class of neolabs at seller&amp;#8217;s prices.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Google Cloud joins Oracle in the Gold tier. Azure moves to Silver, Fluidstack moves to Unavailable, and Crusoe drops to Bronze. Lambda, Firmus and TensorWave remain in Silver, while GMI moves up to Silver from Bronze.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Many companies drop from Silver (or Gold) to Bronze or lower. We raise the bar this round as only 19 neoclouds globally achieve a Medallion rating.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We establish a tier between Bronze and Underperforming: the Participation Ribbon tier. 15 providers join this rating, which more accurately describes our opinion that they do the bare minimum to get by.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;The rest of this article provides analysis of key trends: Financing, Blackwell and Grace-Blackwell deployments, the Move To Vera Rubin, Scale Out Networks, Reliability, Security (of course), and Agentic Coding. We provide an Appendix with individual comments about every provider that once again stretches this article to over 30,000 words. We hope you enjoy.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;hr /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;In light of the SemiAnalysis imperative to publish the most rigorous possible testing of&amp;#8230; everything&amp;#8230; we are hiring MTS for ClusterMAX and adjacent projects. If you are a neocloud sicko, fire off an application here and let&amp;#8217;s get to work.&lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;We are also hiring across Research, Consulting, and Technical Staff&lt;/a&gt;. We have multiple openings in our New York and San Francisco offices. Remote work is also acceptable.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-clustermax"&gt;ClusterMAX MTS&lt;/a&gt; (full time): All levels of experience with Slurm, Kubernetes, and GPUs considered.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-tokenomics"&gt;Tokenomics MTS&lt;/a&gt; (full time): All levels of experience with model evals, harnesses, inference endpoints, and RL infrastructure considered.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Research Analyst &amp;#8211; AI Infrastructure and Economics (&lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-ai-infrastructure-economics"&gt;full time&lt;/a&gt; or &lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-intern-ai-infrastructure-economics"&gt;internship&lt;/a&gt;): All levels of experience covering the financials of neoclouds, neolabs, and frontier labs tokenomics considered.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-technical-consultant"&gt;Technical Consultant&lt;/a&gt; (full time): Lead engagements from technical strategy to technical due diligence. All levels of experience from consulting and technical backgrounds considered.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;h1&gt;&lt;span&gt;Scope&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;For the folks in the back: we are ranking managed clusters. This excludes a number of popular offerings throughout the industry. We are not testing who can build the best powered shell or run the tidiest datacenter&amp;#8212;at least not directly. We are not handcrafting our images or hitting an API endpoint for tokens as a service. Here&amp;#8217;s our idealized ClusterMAX reader: You dropped out of your Stanford PhD to pursue your dream of acquiring social status in San Francisco, getting started with the old reliable &amp;#8220;Cladue make me pithc deck w technial languge for agetnci ai make no mistakes.&amp;#8221; You have 7 or even as many as &lt;/span&gt;&lt;a href="https://www.businessinsider.com/jeff-deans-startup-discovery-loop-is-eyeing-a-valuation-2026-9"&gt;&lt;span&gt;10 figures&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to wager on compute, but you don&amp;#8217;t have any opinion on Ubuntu versions or how to handle NAT, and you&amp;#8217;ve never managed a fleet at scale. Ideally, all that infrastructure will fade into the background. You just want to focus on your idiosyncratic perf optimizations, model architectures, training strategies, data mixes, applications, or wherever else you seek your edge. To compete, you need bleeding-edge hardware, and you aim to spend 0 engineering time trying to figure out why GPU 7 in node 19 has been stalling your job, or why a quarter of your cluster has disappeared altogether. You need a managed cluster.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The economic argument here is straightforward: a neocloud can amortize the cost of standing up all this management infrastructure over its huge fleet. It pays a team of engineers to build bulletproof health checks, keep its machine images up to date, make convenient monitoring systems, and handle all the related chores that we cover in great detail further on. In an ideal world, a lab pays a markup for a much better product; it gets to run its experiments without being held back by its hardware; the neocloud recoups its investment; everyone is better off.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There comes a point, though, when labs are willing to internalize this cost. At their scale, frontier labs are not willing to trust a neocloud with so much of the stack. OpenAI, for instance, has posted extremely insightful blogs about its &lt;/span&gt;&lt;a href="https://openai.com/index/scaling-kubernetes-to-7500-nodes/"&gt;&lt;span&gt;difficulties scaling Kubernetes&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; the innovations described would have been simply impossible if they were renting from a neocloud who didn&amp;#8217;t let them into the K8s control plane. As &lt;/span&gt;&lt;a href="https://job-boards.greenhouse.io/anthropic/jobs/5211241008"&gt;&lt;span&gt;a current Anthropic job posting&lt;/span&gt;&lt;/a&gt;&lt;span&gt; puts it:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;We are operating at a scale where the defaults stop working. We own the scheduler and extend it to place topology-sensitive ML workloads across thousands of accelerators at once. We scale the control plane itself &amp;#8212; apiserver, etcd, controllers &amp;#8212; so it stays responsive as object counts and node counts grow by orders of magnitude. And we build the core cluster services every workload depends on, like service discovery, so they hold up under the same pressure.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Suffice it to say that labs of OpenAI and Anthropic&amp;#8217;s speed and size need to co-design their whole stack simultaneously, and an off-the-rack Slinky implementation&amp;#8212;even a good one&amp;#8212;won&amp;#8217;t cut it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The obvious care that frontier labs take in managing their infrastructure goes to show why ClusterMAX matters. The sum of the salary ranges for OpenAI and Anthropic open positions with &amp;#8220;Kubernetes&amp;#8221; in their descriptions is, last we checked, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;$27,769,274-$42,687,654&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, not to mention the salaries they pay to the huge teams they already staff. If you&amp;#8217;re not anticipating a trillion-dollar liquidity event and you need your infra to be good enough to give you a fighting chance, you need a neocloud to do the heavy lifting for you.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At least on paper, smaller neocloud customers are David fighting Goliath. OpenAI and Anthropic have remarkable growth rates on their respective &lt;/span&gt;&lt;s&gt;&lt;span&gt;logistic&lt;/span&gt;&lt;/s&gt;&lt;span&gt; exponential curves, and our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; currently models them at 56.3% of all lab compute YE2027.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!f3nA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd167da3e-8fe2-4d65-b6f2-c3c226d7ebad_2100x758.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="758" src="https://substackcdn.com/image/fetch/$s_!f3nA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd167da3e-8fe2-4d65-b6f2-c3c226d7ebad_2100x758.png" width="2100" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;OpenAI Compute Capacity. Source: &lt;a href="https://tokenomics.semianalysis.com/openai/financials"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As we will describe in more detail later, there is also a Matthew principle in effect here, due to financing: the profitable frontier labs have an easier time locking down capacity than smaller ones, which get stuck with fat prepays, worse prices, and a much harder time planning years in advance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Does this mean that managed clusters are dead? cLUsTerMaX iS wAshED? In truth, although Anthropic and OpenAI are taking larger slices by the year, managed clusters as a business are still growing exponentially. We&amp;#8217;ve helped countless labs find compute, countless more are on the hunt, willing to pay, and waiting for more capacity to come online. Anthropic and OpenAI are the biggest customers, but there is a long tail of mere multi-hundred-million-dollar deals whose aggregate value is enormous.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One plausible scenario in which managed clusters gain ground on frontier-lab bare metal involves open-source progress. Serving open-source models is already more lucrative than many realize; we recently modeled that &amp;#8220;&lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/you-can-make-over-100m-per-mw-per-year-selling-open-source-tokens/"&gt;&lt;span&gt;you can make over $100M per MW per year selling open source tokens&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; leaving plenty of room for profit even at today&amp;#8217;s rental prices. One could imagine open-source models increasing their market share, whether the marginal adopter is more cost-sensitive or algorithmic progress closes the gap to closed-source. Regardless of the dynamics, this would increase the relative standing of managed clusters. Just about any supply-side fracture would make labs marginally less willing to handle the infra, and marginally more willing to rely on neoclouds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The layers on top of these clusters are rapidly maturing, but they lie outside the scope of ClusterMAX. There&amp;#8217;s a handful of niches to consider. There are inference endpoints, which can be either public or private, and bill by the token. There are post-training services, which customize open-source models for specific use-cases. And there are sandbox services, which provide the infrastructure for agents, especially during RL rollouts, and simplify and optimize container and CPU management. These all fit loosely in the category &amp;#8220;GPU services&amp;#8221; and the border between them can be blurry. For example, a cloud might spin up an inference endpoint with spare capacity after it&amp;#8217;s sold managed clusters, or it might provide sandbox infrastructure and also consume it internally as it sells RLaaS. We will be publishing much more about this in the near future, but it is beyond the scope of this report.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Testing Methodology&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;For ClusterMAX 3.0, we requested the following from every provider:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;32 GPUs (4 nodes of 8-way HGX, or 8 nodes of 4-way NVL72)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High bandwidth network (we asked for 800G RoCE or XDR InfiniBand, but many providers did not have it yet)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;10TB+ of high performance file storage (supporting NFS/POSIX mounts and a RWX StorageClass via csi driver)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;10TB+ of S3-compliant object storage&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A monitoring dashboard (usually based on Grafana)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;5 days to test Slurm, and 5 days to test K8s (can be done in parallel, on a SonK cluster, or sequentially, if the provider wanted to take the nodes back and re-provision them)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Blackwell, not Hopper (B200, B300, GB200, GB300) for NVIDIA, or MI355X for AMD are considered acceptable. H100 is now over 4 years old!&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;We tested the cluster through 3 phases, described below. Of course, we always complement this testing by contacting customers of all these providers and taking their feedback into account.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Phase 1: Audit&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;First, the Audit covers yes/no questions. Is the cluster setup properly? Is software installed? Is it up to date? Do utilities work as expected? It takes about 15 minutes to run. It&amp;#8217;s available on &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/ClusterMAX"&gt;&lt;span&gt;GitHub&lt;/span&gt;&lt;/a&gt;&lt;span&gt; or via &lt;/span&gt;&lt;strong&gt;&lt;span&gt;{uv} pip install clustermax&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The audit checks the configuration before we put it under load. It covers hardware inventory, software and firmware versions, GPU access, containers, scheduler configuration, networking, storage, health monitoring, and security. We check which components apply to the environment we&amp;#8217;re testing, and display pass, warn, fail, and skipped for all our checks. We have released this part for free and will maintain it over time. The rest we keep internally for now.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Phase 2: Performance&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Performance puts a pass/fail threshold on the performance characteristics of both the individual components of the cluster and the cluster as a whole. These are done through microbenchmarks, and real-world benchmarks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Specifically, we test:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;GPU Compute&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Networking&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Lifecycle&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Training&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Inference&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Below we explain this in more detail, but keep in mind that what we test evolves over time.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GPU Compute&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We start by checking the real-world GEMM performance on the GPUs. GEMMs are the most critical operation in modern AI workloads, which we have explained many times before, with Grouped GEMMs being particularly important for modern MoE models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We test Grouped GEMMs on cuBLASLt (or hipBLASLt) and DeepGEMM across many precision types: BF16, FP16, TF32, FP32, FP8 E4M3, MXFP8, and NVFP4, depending on what is supported by the chips in the cluster. We use a common set of shapes for different gate_up and down projections at varying batch sizes in the Kimi K2.5, K3 and DeepSeek V3, V4 Pro models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We then test GEMMs, GEMV bandwidth, and MAMF (Maximum Achievable Matmul FLOPS, from &lt;/span&gt;&lt;a href="https://github.com/stas00/ml-engineering/tree/master/compute/accelerator/benchmarks"&gt;&lt;span&gt;Stas Bekman&lt;/span&gt;&lt;/a&gt;&lt;span&gt;), which runs a sweep for a while on each GPU, per precision, using cuBLASLt (or rocBLAS). We report FLOPs for all of our GEMM tests.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!k5rj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2db658-0ea7-4ef5-acfb-5b8db57913e5_829x781.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="781" src="https://substackcdn.com/image/fetch/$s_!k5rj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2db658-0ea7-4ef5-acfb-5b8db57913e5_829x781.png" width="829" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!utME!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d603db1-709e-4fad-a1e4-d1bc4f5ea8f0_829x778.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="778" src="https://substackcdn.com/image/fetch/$s_!utME!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d603db1-709e-4fad-a1e4-d1bc4f5ea8f0_829x778.png" width="829" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We also test memory, through a GEMV test, and `nvbandwidth&lt;/span&gt;&lt;strong&gt;&lt;span&gt;`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. GEMV measures matrix-vector multiplication with a skinny vector, reporting GB/s as a proxy for the streaming behavior of low-batch decoding. NVIDIA&amp;#8217;s `nvbandwidth` utility is built into DCGM health checks, and measures h2d (CPU-to-GPU), d2d (GPU-to-GPU), and d2h (GPU-to-CPU) bandwidth. Finally, we also have a custom PyTorch script that measures the same paths through actual tensor copies, recording bandwidth for pinned h2d, d2h, and local HBM copies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Last, we test HPL-MxP for the boomers. HPL-MxP solves a large dense linear system using low-precision factorization, which means we hit compute, memory, and communication together. The test covers compute, HBM, MPI broadcasts over the scale-out network, NVLink, and numerical correctness in a single workload. We report FLOPs across a range of number formats depending on the chip type.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although GEMMs are the heart of modern AI workloads, these microbenchmarks very rarely distinguish providers&amp;#8212;it would be hard for a provider to mess up &lt;/span&gt;this functionality&lt;span&gt;. It&amp;#8217;s important to check raw GEMM perf is during an extended burn-in, as described later, when a chip&amp;#8217;s clock speeds might drop to avoid overheating if it is not properly cooled. On a GEMM burst, you&amp;#8217;re unlikely to find much of note. We run these tests on every provider because it&amp;#8217;s quick and because a cluster is immediately unusable if they fail, but we worry more about other tests.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Lifecycle&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In order to understand the ease of use of the cluster throughout its lifecycle, we have a set of contrived tests that we use. We start by checking internet speed using multiple approaches for download/upload speed, mostly from Cloudflare. We then test the time it takes to install common packages like PyTorch and vLLM via &lt;/span&gt;&lt;strong&gt;&lt;span&gt;pip&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;uv&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, as well as download containers from Docker Hub, ghcr.io, and &lt;/span&gt;&lt;a href="http://nvcr.io"&gt;&lt;span&gt;nvcr.io&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and pull a model from Hugging Face and ModelScope.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We then redo the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;pip&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;uv&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;strong&gt;&lt;span&gt;install&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; tests with fresh package caches on each available storage tier: home, shared filesystem, local NVMe scratch, and any additional mounts (referred to as `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;/home`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;/data`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;/scratch`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, and other). We then run `import torch` from each location to see how long that takes. On most providers, this takes 1-2 seconds, but on some filesystems with LOSF performance issues, it can somehow take 10-20 seconds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, we take the models downloaded earlier, and run a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;vllm serve&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; command to test the time until we can hit /v1/models. Again, while certain providers can load a small model into GPU memory from shared storage in 10-40 seconds, some providers take over 2 minutes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!B-8N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc822c9-bfcc-4b35-85bb-031a385dc56d_783x474.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="474" src="https://substackcdn.com/image/fetch/$s_!B-8N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc822c9-bfcc-4b35-85bb-031a385dc56d_783x474.png" width="783" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Networking&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We benchmark a wide suite of communication performance for inter-node and intra-node transfers. This includes MPI collectives, running NCCL or RCCL tests launched through MPI, measuring collective bandwidth and latency across message sizes from 8 B to 16 GB for all-to-all, all-reduce, all-gather, and other collectives. The same workloads are also run through &lt;/span&gt;&lt;strong&gt;&lt;span&gt;torch.distributed&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; in PyTorch. In addition, we use RDMA perftest, specifically&lt;/span&gt;&lt;strong&gt;&lt;span&gt; ib_write_bw&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;ib_read_bw&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, we measure point-to-point bandwidth on each network rail, along with host-memory fallback (via PCIe), to identify any issues.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We grow the world size in factors of 2 until we&amp;#8217;ve used our whole cluster, keeping track of how performance scales. We also run tests with NVLink disabled, particularly on GB200 or GB300 NVL72 clusters, in order to isolate the performance of the scale-out network. It&amp;#8217;s important to be careful in your accounting here, since world size, algorithm, and job placement relative to scale-out boundary materially affect results.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Chwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49e7f132-bc0e-43f9-9ad2-e569bff872e9_1654x186.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="186" src="https://substackcdn.com/image/fetch/$s_!Chwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49e7f132-bc0e-43f9-9ad2-e569bff872e9_1654x186.png" width="1654" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Quickly checking what&amp;#8217;s supported on our cluster&amp;#8217;s networking stack out of the box&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!cm7I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1712792-316c-44f0-a33c-3e3014dde8c5_739x829.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="829" src="https://substackcdn.com/image/fetch/$s_!cm7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1712792-316c-44f0-a33c-3e3014dde8c5_739x829.png" width="739" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!usC5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc38eaf49-3d21-47bb-aaac-5ccf43c614b8_733x915.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="915" src="https://substackcdn.com/image/fetch/$s_!usC5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc38eaf49-3d21-47bb-aaac-5ccf43c614b8_733x915.png" width="733" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We run fio, ior, Elbencho, a custom checkpoint save/load benchmark written in Torch and Torch DCP, and a custom datagen benchmarked shared with us by &lt;/span&gt;&lt;a href="https://www.skild.ai/"&gt;&lt;span&gt;Skild AI&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Datagen is probably the most interesting, as it approximates their real workload in a robotics data pipeline: aggregate write throughput generating the video (MP4) and parquet sensor dataset.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The test that finds the most issues, though, is good old-fashioned fio. We sweep sequential/random reads/writes with buffered/direct I/O with 1MiB sequential blocks and 4 KiB buffered / 64 KiB direct random blocks from c1 all the way up to c32, or, if we have more than 4 nodes, as many clients as the cluster can tolerate. If storage is misconfigured in any way, there is almost always some setting in this fio sweep that shows poor perf. We track throughput, IOPS, and latency, and of course we also discover inconsistencies in metadata if the test fails with too many clients.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xhtv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e56d45-b74d-4d51-8f3c-5b5ba1b33a35_734x749.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="749" src="https://substackcdn.com/image/fetch/$s_!Xhtv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e56d45-b74d-4d51-8f3c-5b5ba1b33a35_734x749.png" title="" width="734" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Of course, this significantly depends on how big the volume we&amp;#8217;ve been given is and how the SLO is defined. Take these results with a grain of salt&amp;#8212;the chart above really only shows that Azure gave us a PB-scale mount. This grain of salt also goes to show why having data on lots of clusters is important. Buffered tests, for example, have higher latency, as you might assume, and can also produce very noisy results if the test is not run for long enough. But how much higher latency, and how noisy? To know the difference between what&amp;#8217;s &amp;#8220;good enough&amp;#8221; and what needs to be flagged to a provider, it&amp;#8217;s crucial to compare to a big peer set.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For object storage, we run this suite again against an S3 bucket. We also run a custom benchmark that measures large object throughput on sequential read/write, small object PUT and GET rates, and read latency (p50, p90, p99). In this testing, we keep everything consistent. As always, though, if we notice a cluster struggles with a certain workload, we linger, running more tests to more precisely isolate the issue.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Training&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Moving into the real world, we start to see how issues on the network or storage reveal themselves in real testing. We run two jobs via torchtitan: llama 3.1 8B pretraining on the C4 dataset with FSDP, and GPT-OSS MoE training via torchtitan with expert parallelism. The former is FLOPs bound, the latter is collective bound (unless you&amp;#8217;re on NVL72). So, the latter makes it plain to see when something is wrong with the network.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uNkV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa1e9ed-5b12-4623-ac2a-0ee2a63462a5_740x714.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="714" src="https://substackcdn.com/image/fetch/$s_!uNkV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa1e9ed-5b12-4623-ac2a-0ee2a63462a5_740x714.png" width="740" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CNH3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F321be736-0b73-4b6a-b7ba-ba6fe06c960c_734x772.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="772" src="https://substackcdn.com/image/fetch/$s_!CNH3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F321be736-0b73-4b6a-b7ba-ba6fe06c960c_734x772.png" width="734" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Inference&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We run the InferenceX &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/agentx"&gt;&lt;span&gt;AgentX benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in single node and multinode scenarios with different models to find compute-bound, memory-bound and comms-bound regimes with profiling traces on, treating the InferenceX results as the benchmark performance result to compare to. As with our training tests, this highlights the importance of the various cluster components covered in the microbenchmarks. If a cluster can&amp;#8217;t survive NCCL tests, it certainly won&amp;#8217;t be able to produce many tokens, and our InferenceX tests show how goodput is lost.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Phase 3: Reliability&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Just because we see solid performance during a benchmark does not mean that the provider can drive solid &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;goodput&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and it certainly doesn&amp;#8217;t mean they will provide a nice support experience. So, we test reliability, monitoring and autoremediation in multiple ways.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Burn-in&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We start with an 8-hour burn-in on the GPUs and network, by running large GEMMs on the tensor cores and all-to-all communications at the same time, with a monitoring script tracking temperature, power, clock frequency, FLOPs, network connectivity, latency, bandwidth, and of course tailing the kernel ring buffer for any errors. You would be shocked how many hardware issues we induce with just this simple test. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We cannot emphasize strongly enough how important it is to stress the GPUs and the network at the same time.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Burn-in requires simultaneous thermal expansion and contraction of both of these components to approximate the real behaviour of these systems under real stress from real workloads. Lots of providers still use scripts that burn the GPUs and network separately.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Fabric&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Next, we test the sustained performance of the scale-out and scale-up network fabric by looping through all-to-all, all-gather, and reduce-scatter of large message sizes. We report average, minimum, and maximum bandwidth, plus collective errors. On the frontend network, we also test management-network packet loss, RTT, and TCP bandwidth between every directed pair across four nodes. It&amp;#8217;s not often that this extra test catches errors that the burn-in did not, but we like the data, and it has revealed big performance differences on certain Ethernet networks under load.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Continuing on, we test filesystem endurance by running 7.5 minutes of sequential mixed reads and writes, followed by 7.5 minutes of random mixed reads and writes, at each client count, using fio (as described previously). We increase clients across the allocation and report bandwidth over time, IOPS, tail latency, and performance degradation. Interestingly, we have seen some providers have bandwidth degradation of almost 40% under load, when compared to the initial benchmark.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When object storage is available, we also run a 15 minute mixed PUT, GET, LIST, and DELETE workload, measuring throughput degradation, p99 GET time-to-first-byte drift, throttling, and errors. We&amp;#8217;ve seen about a 10% difference in these tests.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Orchestration&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;On Kubernetes, we test &amp;#8220;churn&amp;#8221; by repeatedly creating/deleting GPU pods and checking the API for GPU allocation. We report both scheduling and startup latency, and report failures when &lt;/span&gt;&lt;strong&gt;&lt;span&gt;kubectl delete po&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; gets stuck. We also increase batches of CPU-only sandbox pods, measuring how many reach Ready, how long they take, and why the rest remain Pending.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Last, we test the PVC lifecycle by repeatedly starting a pod that mounts a volume, writes and fsyncs a file, then gets deleted. We wait for teardown between cycles and use a warmup cycle to remove the initial image pull from the measured runs.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Destructive&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Finally, we get to the fun part: breaking things on purpose.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, we reboot all the nodes in the cluster. You would hope that this is not a destructive test, but it is. On Kubernetes, we cordon and drain the node, issue the reboot, and require a changed boot ID, then wait for it to return to the cluster. The timer stops when we can run &lt;/span&gt;&lt;strong&gt;&lt;span&gt;nvidia-smi&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; in a fresh pod on the node. With Slurm, we just get an allocation or SSH and run &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sudo reboot&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Slurm-on-Kubernetes is a little different, so we attempt to do things from the Kubernetes layer to test it correctly. Our scripts time everything throughout.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For injecting failures, we start by using the DCGM injection method. If it doesn&amp;#8217;t work properly, we follow up by writing a synthetic NVIDIA XID or SXID message into the kernel log, and watch how the provider&amp;#8217;s existing health checks and scheduler respond. We leave their health agents and drain automation alone, so it&amp;#8217;s up to their tooling to detect the error and act on it. Most health checks are set up to read from the kernel ring buffer, but some are not, so we communicate with the provider to make sure that our trigger will work and that we have access to pull it. As a final, trusty method, we reset the GPU&amp;#8217;s upstream PCIe bridge, which produces a genuine XID 79.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In all these cases, we time how long it takes to detect the failure, how long the node stays in `DRAIN` state, and how long it takes to run a basic command once it returns to the cluster. On AMD systems, we inject a UMC RAS error and track everything the same way.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is our most critical test. Providers where we hear a bunch of customer complaints about reliability generally do not have health checks, monitoring dashboards, and autoremediation in place. Reliability is the #1 most important criteria to many of the biggest customers in the world, as we discussed in great detail in our article &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;How Much Do GPU Clusters Really Cost&lt;/span&gt;&lt;/a&gt;&lt;span&gt;?&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2sN2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa331e4d-ca20-4efb-a547-4c4b45f38fd8_923x756.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="756" src="https://substackcdn.com/image/fetch/$s_!2sN2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa331e4d-ca20-4efb-a547-4c4b45f38fd8_923x756.png" width="923" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX Results Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is worth noting that our hands-on testing is only a part of the overall ratings. There are many things that we cannot test hands on, and need to use other research methods to understand in detail. Namely, performance at scale, reliability over time, support experience, pricing, GPU availability and delivery timelines.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Coming Soon: Agentic Workloads and RL&lt;/h2&gt;&lt;p&gt;We have two more test suites that we will say much more about in upcoming work.&lt;/p&gt;&lt;h2&gt;CPU Compute&lt;/h2&gt;&lt;p&gt;The CPU is a critical performance consideration for modern agentic workloads, which we have discussed previously. We have developed a comprehensive benchmark that pushes CPU performance to the limits on exactly these agentic workloads, via common Linux tool use and more microbenchmarks in an upcoming project called SandboX.&lt;/p&gt;&lt;p&gt;SandboX runs a range of CPU-intensive workloads representative of code execution, including ring-shuffle producer-consumer queues, Redpanda (measuring a local Kafka-compatible broker and its throughput), and a dynamic load bench.&lt;/p&gt;&lt;p&gt;We also benchmark the sandbox lifecycle of Kubernetes clusters, for insight into how co-locating sandboxes for RL on the leftover CPU/memory resources in a GPU clusters might work. We report cold-start latency, scheduling throughput, density per node, capacity, and baseline.&lt;/p&gt;&lt;h3&gt;Reinforcement Learning&lt;/h3&gt;&lt;p&gt;An RL run has many moving parts: generators that roll out trajectories, environments that execute actions in sandbox, and a trainer that receives rollouts, updates the policy and pushes updated weights back out to the inference engine. Scaling RL means balancing maximizing utilization of trainer, inference engine, environment sandbox executions, rollout transfer, weight sync among other things, bottleneck on any one can stall entire RL stack.&lt;/p&gt;&lt;p&gt;We&amp;#8217;re also seeing the emergence of Post-Training-as-a-Service, or RLaaS, where customers bring their own environments, or have forward-deployed engineers build them, and hosted training providers set up the infrastructure to post-train open-weight models. The pitch is customization while protecting the customer&amp;#8217;s IP, which apparently is Satya&amp;#8217;s tagline now.&lt;/p&gt;&lt;p&gt;In our upcoming PostTrainingX benchmark, we sweep trainer-to-inference GPU allocations, batch sizes, rollout concurrency, and policy-staleness limits to study their effects on performance and training stability.&lt;/p&gt;&lt;p&gt;We track generator performance through input/output tokens per second per inference GPU, rollout latency, KV-cache occupancy, and prefix-cache hit rates. Communication efficiency through weight-synchronization latency, transfer bandwidth, and network telemetry; and trainer performance and stability through training throughput, optimizer-step time, MFU, train/rollout KL, observed policy staleness, clipping fractions, gradient norms, and rejected rollouts.&lt;/p&gt;&lt;p&gt;For environments, we measure setup time, tool-execution time, timeouts, and infrastructure failures. GPU utilization, memory usage, and power consumption provide system-level context, while archived trajectories, logs, and exact environment definitions make results reproducible.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eE5d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58068806-a29a-439d-b8a2-a8e071d42102_908x772.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="772" src="https://substackcdn.com/image/fetch/$s_!eE5d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58068806-a29a-439d-b8a2-a8e071d42102_908x772.png" title="" width="908" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The goal of PostTrainingX is to benchmark every provider. That includes hosted training platforms like Applied Compute, Azure Foundry, Fireworks, Thinky, Baseten, Trajectory, Engram, AI21&amp;#8217;s platform etc, as well as open-source frameworks like Miles, slime, prime-rl and verl. The end result should give customers the data to decide whether to run their own post-training stack on open-source frameworks or hand it off to a hosted RL provider.&lt;/p&gt;&lt;p&gt;We&amp;#8217;ve already started running on open-source frameworks, including Miles, prime-rl, and verl, and will expand to hosted providers next. Stay tuned&amp;#8230;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Industry Trends&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Financing&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The hottest topic in neocloud land over the past few months has been financing. Everyone wants to &amp;#8220;follow the money&amp;#8221;, which is exactly what we do in our AI Compute, Capital, and Markets Model, which we launched in a &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i"&gt;&lt;span&gt;recent article breaking down how NVIDIA&amp;#8217;s Backstop Universe&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Below we will discuss a few more hot topics.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Debt and Accessing Debt&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Today, neoclouds have realized that a creditworthy customer contract can help them obtain debt at lower rates than their own credit rating would otherwise support. This means that providers without a committed customer (or &amp;#8220;IG offtaker&amp;#8221;) may need more expensive debt or equity-like capital in order to buy GPUs and either get their business off the ground or grow it. Meanwhile, lenders also need evidence that a provider can deliver its cluster on time and meet the SLAs in their customer contract. Raising debt depends as much on lease termination rights as it does on the cash available for debt service, as well as the TCV. This has led multiple insurance providers to enter the market with parametric offerings that protect neoclouds and their lenders against contract terminations, typically offering a one-month bridge to find a new offtaker in the event of a termination. We are big fans of this structure, and believe it to be a solid method for lenders to use to de-risk these transactions.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Counterparty Risk &amp;amp; Nvidia&amp;#8217;s Balance-Sheet-as-a-Service&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In a large neocloud project, the GPU lender and the datacenter lender can face different counterparties within the same project. For example, in the Anthropic TPU neocloud structure, Broadcom supports equipment financing while Google supports datacenter rent. Since several loans in the supply chain can depend on the same AI lab, there can be systemic, correlated risk, even when each loan names a different neocloud or datacenter borrower. Like we just discussed, construction delays can trigger cancellations and impair cashflow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Enter Nvidia backstops. Since Nvidia supports GPU demand through revenue floors, landlord guarantees, and leases that it plans to transfer to third parties, they are able to help neoclouds and AI labs obtain investment-grade financing without a hyperscaler being involved. Nvidia earns its GPU margin at the initial sale but can now also receive a share of revenue above their &amp;#8220;AICP floor&amp;#8221;. Their financial support therefore drives demand for their hardware. The Balance Sheet Is The Moat.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Depreciation Schedules&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This topic has died down a little since we went after Dr. Burry &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178649945/depreciation-schedules-and-the-future-of-gpus-in-azure"&gt;&lt;span&gt;in our article last November&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Maybe it was all those 6 year contracts people are signing, or those pesky 4-year-old H100s that just won&amp;#8217;t drop in price! Who&amp;#8217;s to know for sure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Either way, we separate equipment purchase dates from in-service dates when we model depreciation. A 6-year depreciation assumption needs provider-specific support, while in NVIDIA&amp;#8217;s AICP program, the 6-year revenue floor does not actually establish the useful life of the GPUs. Our depreciation sensitivity tests change modeled margins quite a bit, but IRR remains the priority for lenders, so we won&amp;#8217;t be sharing them here. And of course, financial analysis does not establish a real price that a buyer will pay for GPUs in the future. That is up to supply-and-demand dynamics, and the ultimate question: residual value. With lenders unable to set loan repayment schedules separately from the accounting assumptions that we use to depreciate equipment, we are stuck in a world where no one will take on the risk of assessing a residual value on 4, 5, or 6 year old GB300&amp;#8217;s today.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Blackwell and Grace Blackwell&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Now let&amp;#8217;s get back to the technical stuff for the rest of this article. The good stuff.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we discussed &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178057384/gb200-nvl72-reliability-and-slas"&gt;&lt;span&gt;in great detail in ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the difference between operating 8-way H100 HGX servers and GB300 NVL72 rack-scale systems is massive. Providers who cut their teeth installing H100s 3-4 years ago, are now contending with the following:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Grace CPUs based on ARM (instead of x86 Intel or AMD)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Blackwell GPUs with sm100/sm103 (with CUDA 13.0+)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Mandatory direct liquid cooling (DLC)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High voltage power (130kW+ per rack, via 3phase 408 or 480V power delivery)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Scale-out networks with 800G CX-8 NICs and 51.2T or 102.4T (800GbE RoCE Spectrum-X) or 115.2T switches (800Gb XDR InfiniBand)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Scale-up networks with NVLink switches and backplanes at rack-scale, 72-way&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;BF-3 or BF-4 DPUs for the frontend (or converged frontend/storage) network&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multiplanar networks with shuffle boards/shuffle cables&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;All of these changes have implications on provisioning software, monitoring systems, training of technicians, facility-level electrical, cooling, and mechanical systems, OEM support contracts and relationships, and more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Just because a provider was successful in the Hopper generation, does not mean that they will be successful in the Blackwell generation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our rankings, we put a premium on any provider that delivered Grace Blackwell to us, and frankly gave them a lot more leeway when it came to difficulties during provisioning, monitoring, and reliability/hot spares.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This means that if a customer rents standard HGX nodes that merely connect by RoCE or InfiniBand, we expect to see autoremediation with hot spares available: replacements in under an hour end-to-end and detection in around 2 minutes. However, with an NVL72 system, it does not make sense to hot-swap a tray on a different scale-up fabric.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;So, in our testing, as long as a health check notices the unhealthy node (in 2 minutes or less, still) and keeps workloads from being scheduled on it, it has done its job. As mentioned above, we advise many labs and clouds on GB300 NVL72 SLAs, and the most common pattern we see could be called &amp;#8220;NVL64+&amp;#8221;. This means that there is an SLA applied to each node, but in the event that 3 or more of the 18 nodes in a rack fail at a given time, the whole rack is considered down. This is due to simple powers of two: lots of jobs are divisible by 64, and run on 64 GPUs, while the max config to fill up 72 GPUs is world_size=8 * num_jobs=9.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Moving to Vera Rubin&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Interestingly, moving from Grace Blackwell to Vera Rubin requires a lot less changes than moving from Hopper to Blackwell. Providers still manage an Arm-based CPU, a liquid-cooled rack-scale architecture, a 72-way NVLink scale-up network, a multiplanar scale-out network, and some Bluefield DPUs. Back when GB200 came along, all this stuff was new!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The major changes are in the move from 800G CX-8 NICs to 1.6T CX-9 NICs on the scale-out network, and increased power moving from ~130kW to ~200kW per rack, including &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/inside-the-800vdc-revolution-part"&gt;&lt;span&gt;800V DC options&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Early demand is more robust than in the Blackwell transition&amp;#8212;having partially to do with the fact that &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;it&amp;#8217;s easier to port GB software to VR than it was from Hopper to GB&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8212;and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;we&amp;#8217;re hearing from many providers that they are on track to deliver VR earlier than expected&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Bring up has been surprisingly smooth, and the physical design seems to be much more mature.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Scale Out Networks&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The scale-out network is the last big design decision a provider still owns. Nvidia and the OEM/ODM lock down most of the NVL72 rack. Outside it, providers pick the topology, the cabling, and how Kubernetes or Slurm hands the fabric to a job. We found problems at every layer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Starting with the physical layer, 800G CX-8 NICs are multiplanar: each NIC splits its bandwidth across independent switch fabrics, called planes. Total bandwidth stays at 800G per GPU. More planes give each switch more effective ports, and each NIC more paths to uplink, which needs a shuffle. Every NIC lane must land on the right plane, so shuffle boxes put the fiber mapping in a patch module while shuffle cables build it into the assembly. Both work, but there are tradeoffs in terms of reliability (how often you need to service the devices) and serviceability (how easy it is to repair or replace a device).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Oracle is a pioneer in this physical design, and it shows when you get a GB300 node. Each 4x GPU tray we got had 16x physical 200G ports, which means 4 planes per GPU. Linux exposed 4 usable 800G RDMA VFs (rdma_vf_rail0 to rdma_vf_rail3), one per GPU, each in its own VRF. The aggregate PFs failed with no usable GID, so we had to rely on their SPCX NCCL plugin, using 16 queue pairs per connection, and adaptive routing across planes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Why bother doing this? The answer is scale. Oracle builds Acceleron on this physical design. Their MRC topology paper shows how each NIC splits into 8x100G, which turns a 51.2T switch into 512 ports, and supports 131,072 GPUs at full bandwidth, with only 2 tiers, and a max of 3 switch hops. OpenAI released MRC through OCP in May 2026, and Oracle runs it at Stargate Abilene. The software layer allows MRC to spray one connection across paths and planes, place data out of order, recover loss with selective acks, and uses SRv6 source routing to steer around failed or congested links. This logical layer can get complicated any scale. Its where jobs have issues.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To allocate an RDMA device and use it correctly, Kubernetes must hand each pod the right devices and interfaces. In other words, there are many ways to configure and use the NVIDIA NetworkOperator. Get it wrong, and it&amp;#8217;s a headache for everyone.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our scripts recognizes the following deployment patterns with the NetworkOperator (resource names are examples from the clusters we inspected):&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;rdma_shared_device: rdma/rdma_shared_device_* with a resource-backed NAD, or a host-network fallback&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;sriov_host_device: nvidia.com/hostdev or nvidia.com/rdma_host_dev with a HostDeviceNetwork NAD, for direct device access and GPUDirect RDMA&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;sriov_legacy: a VF via NAD-bound nvidia.com/&amp;lt;resource&amp;gt; and a SriovNetwork NAD, plus RDMA CNI where needed&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;sriov_ib: an InfiniBand VF such as nvidia.com/mlnxics with a SriovIBNetwork NAD. Partitioned fabrics also need the right PKey and UFM config.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;ovs_offload: nvidia.com/switchdev with an OVSNetwork NAD, for hardware-offloaded Open vSwitch.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;rdma_ib / rdma_roce: rdma/ib, rdma/roce, or nvidia.com/rdma_*, with one NAD per rail or a host-network fallback.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Provider-specific: AWS EFA (vpc.amazonaws.com/efa and libfabric), DOKS (rdma/fabricN with roce-net-fabricN@fabricN), and GKE DRANET (DRA claim templates and pod resourceClaims).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Device setup and the NCCL plugin on top of it can change job performance. On Google&amp;#8217;s GB300, the built-in NCCL library picked an unroutable link-local GID and hung when we tested. Setting NCCL_IB_GID_INDEX=3 fixed it, and Google&amp;#8217;s gIB plugin hit 99.5 GB/s on a 16-node, 16 GiB all-to-all vs 95.3 GB/s from other providers, i.e., full performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, multinode NVLink is its own problem. The ComputeDomain CRD in NVIDIA&amp;#8217;s DRA driver gives each job its own IMEX daemons and channel claims, independent of RDMA. Google, GMI, and Firmus Kubernetes used ComputeDomain, with different RDMA paths: DRANET at Google, shared devices with host networking at GMI, per-rail VFs at Firmus. Meanwhile, Oracle, Azure Slurm, GMI Slurm, Firmus Slurm, and Nebius Soperator supplied IMEX from the host with no tenant claim. Azure AKS ran multi-node NVLink with no tenant-visible ComputeDomain, despite GPU DRA ResourceSlices, and the channel source and tenant isolation boundary were undocumented.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each ComputeDomain must stay inside one NVLink domain, since crossing domains needs RDMA. In other words, this is topology-aware networking on the hierarchical scale-up NVLink + scale-out RDMA networks. When we launched jobs incorrectly, without ComputeDomain awareness, they just hung in clique setup when placement crossed racks. We will leave our rants about EFA not supporting DeepEP and MoonEP for the AWS provider review later on in the Appendix.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Reliability, Health Checks, Autoremediation, and SLAs&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Around the time we started our research for &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;How Much Do GPU Clusters Really Cost?&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we started injecting failures into every cluster we tested. The differences between providers were big. Handling a failure takes two things:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Identify it happened&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fix it properly&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;To identify failures, we recommend monitoring dashboards. A good dashboard shows the failed component, the affected jobs, the current scheduler state, and when each check last ran. A stale green result is not evidence of health. Of course, a monitoring dashboard relies on some telemetry, so you have to have DCGM setup correctly (and securely).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To fix failures, we expect autoremediation: reboots and replacement with hot spare nodes. Autoremediation will not cover everything. Some failures need human intervention, RMAs, and other work that the provider must communicate directly to the customer. We covered the exact cost, measured in the form of goodput, in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;our article on this topic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA recently open-sourced NVSentinel, a fault detection and remediation system for Kubernetes. It reads DCGM, syslog, and cloud maintenance events, then can cordon and drain nodes, reset GPUs, or reboot. The default install is monitoring only. The software is the easy part. The important part is the mapping from each XID to the action the provider takes. A contained XID 94 needs an application restart. An uncontained XID 95 needs GPU recovery. Clearly, if you na&amp;#239;vely reboot every node for every XID, you&amp;#8217;ll kill healthy work, while if you leave GPUs schedulable after serious XIDs, you risk workloads crashing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is also why many customers want bare metal only. They just want the provider to close support tickets. Closing support tickets is harder than it sounds. A given ticket can come from any of 100+ XIDs, each with a different meaning and resolution. SOPs cover everything from swapping a drive or power supply, to cleaning cables, to reseating memory, GPUs, or NICs, all the way to RMAing individual components or whole server trays.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There are a lot of different choices for autoremediation, and the right one depends on the system. Also, remediation is a different question for GB than for HGX. On HGX, you swap in a hot spare node with 8 GPUs. On NVL72, you cannot hot swap 8 more GPUs into the NVLink domain. A failed tray takes 4 GPUs down, and the options are to run the rack degraded or to swap the whole rack. The good news is that GB300 tends to fail less than GB200. Either way, the flow from an error to the action in the datacenter is what matters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Some providers told us they wait before acting, to leave customers time to get their stuff off the node. That is cope. We are simulating a hard failure. The node is dead, and there is nothing left to get off it. (It&amp;#8217;s a general truism that if a provider says they choose not to do something because they want to &amp;#8220;give their customers optionality,&amp;#8221; it is cope, and it&amp;#8217;s only a matter of time before the provider recognizes it as such.)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is where owning and operating the datacenter differs from renting colo. A provider that runs its own facility controls the technicians, the spares, and the SOPs on site. A provider in colo can depend on the landlord&amp;#8217;s remote hands and their schedule. Both show up in how fast capacity comes back, and that is what an SLA has to measure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When it comes to SLAs, we have developed a standardized set of SLAs for 3 tiers of providers&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In these documents we provide the following:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Technical definitions for &amp;#8220;node&amp;#8221;, &amp;#8220;rack&amp;#8221;, &amp;#8220;cluster&amp;#8221;, and &amp;#8220;site&amp;#8221; in two scenarios (HGX 8-way systems, i.e. H100 or B300, and MGX 4-way systems, i.e., GB200 or VR NVL72)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Technical definitions of &amp;#8220;downtime&amp;#8221; for all systems&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Three tiers of associated SLAs (&amp;#8220;Bronze&amp;#8221;, &amp;#8220;Silver&amp;#8221;, and &amp;#8220;Gold&amp;#8221;, with corresponding thresholds and credit penalties associated with downtime)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Two-way commitments for measuring downtime and providing credits&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Recommended exclusions from downtime measurement, such as software upgrades, security patches, and physical maintenance&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Recommended monthly review cadence for provider performance against SLAs&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Contract termination rights for the buyer associated with downtime below recommended thresholds&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Definitions of acceptance testing, with descriptions of the types of tests to perform across GPU compute, networking, storage and software to validate a cluster is operational and can be accepted, with recommendations to contact SemiAnalysis for a ClusterMAX technical assessment&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Contract termination rights for the buyer associated with missing an agreed acceptance date&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Definitions for &amp;#8220;force majeure&amp;#8221; clauses&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;&amp;#8230; and more&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;We encourage Compute Buyers (Neolabs), Cloud Providers (Neoclouds), Debt/Financing Partners, and Insurance Providers to use these terms as a basis for their contracts, and to include a SemiAnalysis Technical Assessment during acceptance testing and monthly SLA performance reviews. We perform this Technical Assessment using our &lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; utility and a comprehensive, proprietary process.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Please contact us at &lt;/span&gt;&lt;a href="mailto:clustermax@semianalysis.com"&gt;&lt;span&gt;clustermax@semianalysis.com&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for more information.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Security&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Since we put out &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/most-neoclouds-suck-at-security"&gt;&lt;span&gt;Most Neoclouds Suck at Security&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; we&amp;#8217;ve been encouraged by the response. Our friends have been running &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/clustermax"&gt;&lt;span&gt;our CLI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on their clusters to find which dusty old packages to replace, and there has generally been increased impetus to treat this issue with the seriousness that it merits.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Still, we think it deserves more scrutiny. As discourse reaches a fever pitch over whether AI will kill everyone, there has been almost no analysis of the concrete means by which it could actually elude control and do harm. &lt;/span&gt;&lt;a href="https://openai.com/index/hugging-face-incident-and-the-road-ahead/"&gt;&lt;span&gt;OpenAI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals"&gt;&lt;span&gt;Anthropic&lt;/span&gt;&lt;/a&gt;&lt;span&gt; are spending gazillions of dollars doing gain-of-function research, some of their infra has been revealed deeply suspect, and yet it has mostly escaped commentary that GPU clusters&amp;#8212;the physical hosts that underlie these models&amp;#8212;often have nothing like the immune system that you would hope.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The imperative of good security practices holds regardless of your beliefs about AI capabilities. Even if these clusters were made no more vulnerable by AI tools, the fact would remain that we are spending billions on infrastructure that is not secure as it ought to be. There are plenty of unpleasant scenarios to imagine that involve nothing more than a guy with Vim and a good understanding of operating systems. Read through the Hugging Face reports and tally the number of mundane cybersec errors that let the fire spread.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s also worth emphasizing that this is, to some extent, a structural risk. As the industry navigates the hazards of heavy-handed regulation and uncritical social pushback, a breach of an LLM factory is the last thing it should invite into headlines. This is true for cybersecurity reasons&amp;#8212;each compromised node increases the number of neighbors for bad actors to explore&amp;#8212;as well as ordinary sociopolitical ones&amp;#8212;for better or worse, detractors will paint the neocloud industry with a broad brush.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Be a good neighbor and don&amp;#8217;t get hacked.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!C2Hi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd6b188-48c7-4998-a18f-20a0bd3fc723_1339x1339.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1339" src="https://substackcdn.com/image/fetch/$s_!C2Hi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd6b188-48c7-4998-a18f-20a0bd3fc723_1339x1339.png" width="1339" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Agentic Coding&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Agentic coding is already putting margin pressure on managed GPU clusters because customers that use AI tools are more willing to take bare metal or lightly managed clusters. We saw evidence for this all the time in our testing. If we needed to add Linux users, but there was no script on the cluster, Codex &lt;/span&gt;&lt;strong&gt;&lt;span&gt;/goal make useradd script and add my whole team&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; saved the legwork. Especially on clusters with poor documentation, agents helped grind through all the possible configurations to get us unblocked. &lt;/span&gt;The corresponding Slack conversation often went something like:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;hey guys, how are we supposed to use XYZ?&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;nevermind, Codex told me ABC.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;ya that&amp;#8217;s right. we&amp;#8217;ll add that to the docs.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Agents helped us most in environments with clear success criteria and good context; otherwise, their approaches to GPU systems were na&amp;#239;ve. They have the relevant knowledge, but it is not highly weighted relative to plausible but wrong approaches. Claude, for example, has a habit of overwhelming the Slurm controller by using loops instead of job arrays. One agent of ours decided the NVLink fabric was too much of a pain to configure, instead launching jobs over InfiniBand and declaring victory; another made a similar mistake running storage tests on NVMe instead of NFS; another blamed the provider for poor perf after it tried to schedule GPU jobs onto a CPU node. We usually let agents run overnight, either with `/goal fix this part of the cluster so tests can run` or `/goal try to break this part of the cluster with a realistic workload`. Overall, this allowed us to multiply our output, but sometimes validating the results took longer than it would have to do it ourselves. If you have a good idea how to set up a cluster, agents make you more powerful, and you might even entertain working with a worse provider than otherwise. If you don&amp;#8217;t know what you&amp;#8217;re doing, your AGI advisor will cheerfully tell you to shoot your foot off. In this semi-legible business, agents magnify skill deltas rather than flattening them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;An insightful example of this is in CoreWeave&amp;#8217;s bring-up, which was already among the most rigorous in the industry. Now, in addition to a stringent classical process, they have LLMs run statistics over their fleet, hunting for patterns that flag failures earlier and improve their procedures. CoreWeave also has a NodeBot that provides lightweight reasoning on top of their automated alerts, summarizing the situation and suggesting next steps to simplify diagnosis for the humans in the loop. For example, the team described an event where a &lt;/span&gt;&lt;a href="https://www.youtube.com/shorts/WP3LKBHL8vQ"&gt;&lt;span&gt;thermal interface material pump-out alert&lt;/span&gt;&lt;/a&gt;&lt;span&gt; should have moved the node out of the cluster for investigation, but a simultaneous &lt;/span&gt;&lt;a href="https://forums.developer.nvidia.com/t/xid-62-xid-154-gsp-pmu-halt-crash-on-rtx-pro-6000-blackwell-during-llm-inference/364958"&gt;&lt;span&gt;PMU halt alert&lt;/span&gt;&lt;/a&gt;&lt;span&gt; competed to reboot the node instead of triaging it. NodeBot identified the correct action despite that conflict. CoreWeave has experience running GPUs at scale, knows countless rules of thumb that are absent from the training data, and has experts constantly closing the feedback loop to improve their use of these models; even if &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/openai-jalapeno-better-than-nvidia"&gt;&lt;span&gt;OpenAI built a banger chip with AI-generated kernels&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we don&amp;#8217;t expect CoreWeave to be threatened by upstart neoclouds with vibecoded datacenter automations any time soon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite the fact that&amp;#8212;let&amp;#8217;s be honest&amp;#8212;everyone in the industry is using AI at least for some workflows, the only AI-first offering we saw was a nice MCP server provided by AWS. Otherwise, all the documentation was nominally written for humans. The best thing that a provider can do to cater to agents is to provide exhaustive documentation&amp;#8212;ideally, much more thorough than a human could ever have gone through&amp;#8212;and leave golden recipes on the cluster as a starting point for hillclimbing. In addition to the legacy processes that are not yet AI-first, there are many systems that are strictly worse because they are not built for agents. For example, although letting AI manage your jobs could be good for cluster utilization, it doesn&amp;#8217;t respect the old-fashioned systems put in place to aid research. CoreWeave and Nebius have many Slurm-layer optimizations&amp;#8212;real job accounting systems with RBAC and priorities enforced on users and groups, carefully managed partitions, job arrays, logs and metrics&amp;#8212;that are wasted when everything is run agentically. CoreWeave also tells us that they have seen head nodes run out of memory as remote-control Claude sloporchestrates the cluster. It will be interesting to watch providers improve their AI agent affordances.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Going Forward&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;As described throughout this article, we have been historically testing clusters. But the market has clearly moved in two opposing directions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, the biggest labs are buying bare metal at massive scale, measured in the 100&amp;#8217;s of MWs, and have the talent in house to manage their own training clusters, orchestration software, monitoring and reliability. In essence, their neocloud providers (when they use them, and don&amp;#8217;t do self build) are datacenter technicians who close tickets. This is a complicated business, and not to be taken for granted: there are &lt;/span&gt;&lt;a href="https://docs.nvidia.com/deploy/xid-errors/analyzing-xid-catalog.html"&gt;&lt;span&gt;172 unique, documented ways an NVIDIA GPU can fail&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (XIDs). And many of these failure modes can overlap, resulting in an incredible surface area of different failure scenarios that require a combination of simple troubleshooting logic, human experience, and increasingly, agentic research by AI to recover from these failures.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, many startups are raising 10s or 100s of millions of $$ and spending effectively all of that money on compute. But since so much of this research is driven by RL, via continual learning on real production traces for long horizon agents, the needs for both offline, throughput-optimized inference, and online, latency-sensitive inference is very strong. At the same time, more and more customers are looking for the simplest way to purchase vanilla open source tokens for their workflows.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This leads to our next article, coming soon, where we will describe the Anatomy of an Inference Endpoint, moving towards the inclusion of inference endpoint testing in future versions of ClusterMAX. We believe that all neoclouds need to have an endpoints business going forward.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will also be evaluating RL infrastructure beyond inference: sandboxes, hosted training, evals, and more. We continue to see lots of new providers enter (and exit) the market every day. It is an exciting time to be in AI, and neoclouds are at the centre of it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If you got to this point in the article and are still eager to learn more about our individual experience on every provider, you should consider coming to work at SemiAnalysis!&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;We are actively hiring across Research, Consulting, and Technical Staff. We have multiple openings in our New York and San Francisco offices. Remote work is also acceptable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;ClusterMAX Engineer:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; all levels of experience with Slurm, Kubernetes, and GPUs considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-clustermax"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Tokenomics Engineer:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; all levels of experience with model evals, harnesses, inference endpoints, and RL infrastructure considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-member-of-technical-staff-clustermax"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Research Analyst - AI Infrastructure and Economics:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; all levels of experience covering the financials of neoclouds, neolabs, and frontier labs tokenomics considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-ai-infrastructure-economics"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, or &lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-mts-research-analyst-intern-ai-infrastructure-economics"&gt;&lt;span&gt;internship&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Technical Consultant:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; lead engagements from technical strategy to technical due diligence. all levels of experience from consulting and technical backgrounds considered (&lt;/span&gt;&lt;a href="https://semianalysis.com/semianalysis-careers/#role-technical-consultant"&gt;&lt;span&gt;full time&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Thanks for reading, and we look forward to seeing you for future versions of ClusterMAX.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Appendix: Provider Reviews&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Platinum&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;CoreWeave&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;CoreWeave remains the industry&amp;#8217;s sharpest, sturdiest, most proactive neocloud.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our CoreWeave clusters are exemplary in all crucial categories. The health checks work as intended, the reliability is excellent, and nearly all tests reach expected values out of the box. Along with Nebius, CoreWeave serves as a measuring stick for others in the industry&amp;#8212;not only in the abstract sense of &amp;#8220;excellent performer,&amp;#8221; but also in the literal sense that we compare their clusters to lower-rated ones as a means of precisely describing others&amp;#8217; shortcomings. Whereas other neoclouds have to be nagged to refresh their moldy GPU drivers, CoreWeave has not only taken care of the basics, but stood up a significant independent stack for marginal performance and reliability improvements.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0 report&lt;/span&gt;&lt;/a&gt;&lt;span&gt; went into great detail on CoreWeave&amp;#8217;s design decisions, including its bare metal provisioning, Slurm fork, use of DPUs, and health checks. Since then, one smart feature that the nerds at CoreWeave have added is called &amp;#8220;&lt;/span&gt;&lt;a href="https://docs.coreweave.com/products/sunk/discover_sunk/straggler-detection"&gt;&lt;span&gt;GPU straggler detection&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which is integrated into their best-in-class dashboard. Rather than leaving their customers to dig through logs or do binary search over their fleet to isolate a bad rank, CoreWeave applies handrolled algorithms to NCCL telemetry and recommends a remediation strategy based on its findings. The CoreWeave team tells us that they use this on calls with their customers just about every day. There are all kinds of soft failures that don&amp;#8217;t write an XID or leave any other obvious signature, but waste GPU hours as the job waits on a straggler.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Better than spotting bad GPUs is not scheduling them in the first place; CoreWeave also has systems to make sure every node clears a high bar before it&amp;#8217;s trusted with a customer&amp;#8217;s workloads. When a node is idle in CKS, CoreWeave runs burn-ins for 20-30 minutes of every hour, validating that scale-up and scale-out fabrics are healthy, GEMM numbers are up to spec, D2H and H2D bandwidth are high, and so on. These tests are pre-empted by customer workloads; invisible to the operator, they help make sure that it&amp;#8217;s not production workloads that catch faults. CoreWeave is certainly not the only provider with active health checks, but these are unusually robust.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This diligence extends to CoreWeave&amp;#8217;s &lt;/span&gt;&lt;a href="https://docs.coreweave.com/platform/fleet-management/node-lifecycle"&gt;&lt;span&gt;bring-up process&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Provisioning around 10,000 GPUs per week, CoreWeave believes that they have more data than God about what proves a Blackwell rack healthy. In CoreWeave&amp;#8217;s view, Nvidia diags are good at catching many failures, but their uniquely deep dataset has allowed them to roll out a custom suite of supplementary tests, including for NVLink. The heart of this process is the Fleet LifeCycle Controller (FLCC), which &amp;#8220;&lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1769628/000119312525044231/d899798ds1.htm"&gt;&lt;span&gt;automates node provisioning, testing, and monitoring&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; and owns the path from power-on to handover. Importantly, as others operating fleets at scale can corroborate, there&amp;#8217;s a long tail of obscure failure modes not well covered by Nvidia documentation. CoreWeave keeps statistics on these failures to better predict future faults and bakes its response patterns into FLCC. This is one reason that experience with operations at scale is a crucial criterion in our ratings. There is a huge difference between a newbie and a provider like CoreWeave that has rigorous runbooks, automation, and burn-ins. As described in the &amp;#8220;Agentic Coding&amp;#8221; section above, CoreWeave uses LLMs on top of this system to glean insights that would not be spotted by a human engineer. CoreWeave also works with manufacturers before delivery. Involvement varies by OEM or ODM and by production stage, but in general, the goal is to work backward through the supply chain to catch issues as early as possible: never catch in prod what you could have spotted in bring-up, and never catch in L11 diags what you could have spotted on the factory floor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Their experience with Blackwell NVL72 bring-up and validation, along with their close relationships with Nvidia and Dell, have allowed CoreWeave to be the first provider to announce &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2060912340590084479"&gt;&lt;span&gt;a VR200 NVL72 system passing L11 diags&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. CoreWeave has described VR as &amp;#8220;the generation where we bring our own IP.&amp;#8221; As the physical demands of compute continue increasing, in CoreWeave&amp;#8217;s view, &amp;#8220;how the building operates is now part of how the computer operates&amp;#8212;they are not two individual things anymore.&amp;#8221; Thus, CoreWeave introduced its custom Racky, Valvey, and RLCC in a &lt;/span&gt;&lt;a href="https://www.coreweave.com/blog/a-deep-dive-on-coreweave-innovations-for-nvidia-vera-rubin-nvl72"&gt;&lt;span&gt;recent blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Particularly interesting is Valvey, a programmable per-rack liquid cooling valve assembly. This gives CoreWeave fine-grained control over each rack&amp;#8217;s cooling loop and also, in case of a leak or other emergency, the ability to trigger a shutdown. Despite beginning to adopt a hyperscaler mentality in building its own hardware, CoreWeave frames its approach as anti-hyper: whereas traditional infra emphasizes redundancy and is built to prevent failures, CoreWeave builds to fail gracefully and recover fast, limiting failure domains and allowing nimbler response to the inevitable failures.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Amidst the current trillion-dollar buildout, however, CoreWeave is facing issues responding to the massive increase in cu. Of course, there is plenty of good news to mention. Its relationships with Meta, Microsoft, OpenAI, and NVIDIA&amp;#8212;its largest customers&amp;#8212;appear strong, and it recently struck a &lt;/span&gt;&lt;a href="https://investors.coreweave.com/news/news-details/2026/CoreWeave-Announces-Multi-Year-Agreement-With-Anthropic/default.aspx"&gt;&lt;span&gt;multi-year deal with Anthropic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It has announced splashy deals with &lt;/span&gt;&lt;a href="https://investors.coreweave.com/news/news-details/2026/Hudson-River-Trading-to-Build-Next-Gen-Research-Platform-Powered-by-NVIDIA-Vera-Rubin-NVL72-on-CoreWeave-Cloud/default.aspx"&gt;&lt;span&gt;HRT&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.coreweave.com/news/jane-street-signs-6-billion-ai-cloud-agreement-with-coreweave"&gt;&lt;span&gt;Jane Street&lt;/span&gt;&lt;/a&gt;&lt;span&gt; this summer. It is also &lt;/span&gt;&lt;a href="https://www.coreweave.com/news/coreweave-expands-cloud-ai-platform-to-indonesia-marking-first-move-into-asia-pacific-region"&gt;&lt;span&gt;aggressively expanding its capacity in APAC&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, indicating that it &amp;#8220;&lt;/span&gt;&lt;a href="https://www.fool.com/earnings/call-transcripts/2026/08/18/coreweave-crwv-q2-2026-earnings-call-transcript/"&gt;&lt;span&gt;expect[s] international markets to become a major driver of growth.&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; Yet it sits with $35B in debt and has already seen investor resistance getting projects off the ground. As a result, CoreWeave has become focused on long-term bare metal contracts, which are easy to fund with an investment-grade counterparty, rather than managed clusters, which have higher margins but which the market is less keen to fund. Moreover, our last writeup mentioned an impressive lineup of recent acquisitions, but since then its &lt;/span&gt;&lt;a href="https://investors.corescientific.com/news-events/press-releases/detail/124/core-scientific-announces-termination-of-merger-agreement-with-coreweave"&gt;&lt;span&gt;Core Scientific merger fell through&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and nothing else has been announced.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of feedback, some of which is a bit nitpicky:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We wish that their managed SUNK auth RBAC was done on an per cluster basis&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;We wish that enabling local GPUDirect Storage could be an 1 click button in the UX console&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Onboarding new users and where they put the the ssh pub key input in the UX console is extremely confusing to many users that tried&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;CoreWeave has begun to diversify from bare metal, first by offering &lt;/span&gt;&lt;a href="https://investors.coreweave.com/news/news-details/2026/CoreWeave-SUNK-Expands-Capabilities-to-Bring-AI-Workloads-Online-Faster--Anywhere/default.aspx"&gt;&lt;span&gt;self-service SUNK clusters&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which gives them the option to sell into the on-demand market when they have capacity for it. They also launched a managed inference platform, which recently &lt;/span&gt;&lt;a href="https://s205.q4cdn.com/133937190/files/doc_financials/2026/q2/CRWV-US-CORRECTED-TRANSCRIPT-CoreWeave-Q2-2026-Earnings-Call-11August2026.pdf"&gt;&lt;span&gt;disclosed $100M ARR&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We are actively testing this for an upcoming article on serverless inference endpoints, though were disappointed to find no support for public endpoints paid by the token. For now, let&amp;#8217;s just say that CoreWeave has some work left to do on their inference endpoints.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Nebius&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Nebius was rated the 2nd-best neocloud in the world in ClusterMAX 2.0, yet it remained in Gold. This time, Nebius is unquestionably an industry leader with strong offerings in every category and the ability to command a significant price premium. Nebius moves into Platinum.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius&amp;#8217;s relationship with Nvidia remains strong, including a &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/nvidia-and-nebius-partner-to-scale-full-stack-ai-cloud"&gt;&lt;span&gt;$2B investment in March&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, as Nvidia disclosed a &lt;/span&gt;&lt;a href="https://finance.yahoo.com/technology/ai/articles/nvidia-reports-9-3-beneficial-134838540.html"&gt;&lt;span&gt;9.3% overall stake in July&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Nebius was the first provider to deploy HGX B300s back in December of 2025, and has been &lt;/span&gt;&lt;a href="https://blogs.nvidia.com/blog/vera-rubin/"&gt;&lt;span&gt;among the first neoclouds in VR NVL72 bring-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://www.fool.com/earnings/call-transcripts/2026/08/19/nebius-nbis-q2-2026-earnings-call-transcript/"&gt;&lt;span&gt;expecting to begin deployment&lt;/span&gt;&lt;/a&gt;&lt;span&gt; late this year or early next.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius&amp;#8217;s buildout continues across a number of sites in the US and Europe as &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1513845/000110465926094568/tm2622968d1_ex99-2.htm"&gt;&lt;span&gt;they recently raised their 2027 year-end contracted power target to 5 GW&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. In terms of offtakers, Nebius has signed large deals with hyperscalers &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/nebius-signs-new-ai-infrastructure-agreement-with-meta"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/nebius-announces-multi-billion-dollar-agreement-with-microsoft-for-ai-infrastructure"&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and smaller ones with &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/07/14/reflection-inks-1b-compute-deal-with-nebius/"&gt;&lt;span&gt;Reflection AI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://nebius.com/newsroom/palantir-and-nebius-partner-to-deliver-a-complete-sovereign-ai-stack-to-palantir-customers"&gt;&lt;span&gt;Palantir&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, making it one of a few neoclouds with multi-hundred-MW hyperscaler agreements that still regularly competes for much smaller startup contracts. They are the most active of all neoclouds in the short-term cluster market, serving many happy customers. The days of Nebius spooking prospects with their Russian accents are behind them. This is mirrored by its capacity procurement: unlike many of its peers, Nebius has opportunistically snatched up sites in the 5-20 MW range through a broad network of datacenter and software partners.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of the clusters themselves, well, a good cluster is generally boring. On Nebius, burn-ins run without errors; Slurm is topology-aware; the packages we need are on the cluster and generally recent; WAN is good; the orchestration layers are free of footguns. One point of distinction technically between Nebius and everyone else is that Nebius builds and open-sources its preferred SonK flavor, &lt;/span&gt;&lt;a href="https://github.com/nebius/soperator"&gt;&lt;span&gt;Soperator&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. (CoreWeave, of course, builds SUNK in house, but it is not open-source.) This round, a Gcore cluster we tested used Soperator, and as did Voltage Park and FPT clusters from previous rounds. Nebius &lt;/span&gt;&lt;a href="https://nebius.com/blog/posts/soperator-in-open-source-explained"&gt;&lt;span&gt;writes that &amp;#8220;the real magic of Soperator lies in how we use &amp;#8216;jail&amp;#8217; Persistent Volume&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: Nebius provides a VirtioFS volume at `jail`, then bind-mounts it at `/`, so you don&amp;#8217;t need to worry about pointing your cache to the right directory, or think much about taking your files with you when you `salloc` a node. You&amp;#8217;ll see in our writeups of other providers a handful of gnarly issues with managing the storage system on SonK: Slurm and Kubernetes have different philosophies of persistence, and it&amp;#8217;s not always straightforward to provide the illusion of bare metal when in fact you&amp;#8217;re several layers up, standing on an ephemeral Kubernetes pod. Nebius&amp;#8217;s approach makes this stress-free for the operator.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In particular, Nebius provided us a handful of storage tiers on every worker: `/jail` VirtioFS, `/home` NFS, `/mnt/data/` VirtioFS, `/mnt/local-nvme` ext4, and `/mnt/memory` tmpfs, as well as &lt;/span&gt;&lt;a href="https://docs.nebius.com/object-storage/"&gt;&lt;span&gt;first-class S3&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. For I/O-heavy jobs, `/mnt/data` is recommended, whereas `/home` suffices for shared code and other data with lower-concurrency access. When we first tested `/mnt/data`, we saw very slow 4 KiB sequential allocating writes, while concurrent directory creation from 128+ ranks sometimes returned `EEXIST` due to inconsistent metadata visibility, killing our jobs. With our feedback on the pathological workloads, Nebius retuned this filesystem, and it proved sturdy and fast. We pushed it around and verified that the errors were resolved; per-client, it outperformed the median, and we could further verify that it scaled to handle demanding workloads across two racks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius has put a great deal of work into its health checks, and in our testing, they performed well. Nebius automatically returned a node to service after a synthetic error injection on our GB300 rack; the process is not yet optimized for speed, taking 8h40m from start to finish, but detection is immediate, and the process ultimately works. Moreover, the other GB300 racks we tested did not automatically reboot and return failed nodes, so the fact that this process is self-driving counts in Nebius&amp;#8217;s favor. (As we describe in the &amp;#8220;Blackwell and Grace Blackwell&amp;#8221; section, it&amp;#8217;s common not to autoremediate GB300 nodes at all, since there is no real way to hot-swap a node into an NVL72 rack, and troubleshooting is generally way more complicated than with HGX servers.) Nebius also provided us with an excellent suite of dashboards shedding light on, among other things, cluster health.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fVHi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31c3e010-0c8b-4dba-8b86-4a388335ff60_2048x1208.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1208" src="https://substackcdn.com/image/fetch/$s_!fVHi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31c3e010-0c8b-4dba-8b86-4a388335ff60_2048x1208.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This all leads to Nebius watching their revenue per MW climb compared to CoreWeave&amp;#8217;s (and their market cap along with it). Since they have so much more capacity to sell at the current prices, we expect this trend to continue. Anecdotally, we have seen Nebius get very aggressive during recent negotiations, including a case where they offered a tranche of capacity as a straight-up auction. In general, demanding high prices and sizable prepayments that reach 100% on 1 year commits seems like quite a nice business, especially when those prepayments can cover the entire capex of the servers at the current TCV. Infinite Project IRR anyone?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At their largest bare metal sites, Nebius continues to face delays in construction and permitting, including both B&amp;#233;thune and Vineland, which we have &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/nebius-post-earnings-likely-over-optimistic-arr-target-still/"&gt;&lt;span&gt;covered extensively for clients of our industry-leading Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. But as more chips of all types come online, Nebius&amp;#8217;s track record puts them in a strong position to continue to grow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Overall, we are consistently impressed with Nebius. While we do believe they still trail CoreWeave on many technical aspects and relationships with both NVIDIA and the frontier labs, solid business decisions have established them as the default neocloud to serve the neolabs.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Gold&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Amidst the strange retreat of Google Brain and DeepMind from the frontier, GCP has been dealmaking like few others. Notable partners include &lt;/span&gt;&lt;a href="https://finance.yahoo.com/news/google-cloud-lands-deal-palo-130205661.html"&gt;&lt;span&gt;Palo Alto Networks for $10B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/04/22/exclusive-google-deepens-thinking-machines-lab-ties-with-new-multi-billion-dollar-deal/"&gt;&lt;span&gt;Thinking Machines Lab for a &amp;#8220;multibillion-dollar deal,&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt; along with expansions of its lucrative relationship with AI safety org Anthropic. With acquisitions of &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/03/11/google-completes-32b-acquisition-of-wiz/"&gt;&lt;span&gt;cybersecurity startup Wiz for $32B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and energy startup &lt;/span&gt;&lt;a href="https://abc.xyz/investor/news/news-details/2025/Alphabet-Announces-Agreement-to-Acquire-Intersect-to-Advance-U-S--Energy-Innovation-2025-DVIuVDM9wW/default.aspx"&gt;&lt;span&gt;Intersect for $4.75B in cash&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Google has been aggressive in expanding its technical capabilities. It also exposes itself to new revenue streams by &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;ramping TPU sales&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of only renting them through GCP, a development we are very keen to track. Its own TPUaaS is still growing, though, thanks to a &lt;/span&gt;&lt;a href="https://www.blackstone.com/news/press/blackstone-announces-joint-venture-with-google-to-create-new-tpu-cloud/"&gt;&lt;span&gt;$5B deal with Blackstone&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that is targeting 500 MW in capacity. Google has gigawatts in the pipeline, and we look forward to continuing to track its continued competition with the other hyperscalers and labs for access to power and permitting.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With a unique position cutting across so many layers of the stack, Google may have more total engineering talent than any company in the world, yet it has a &lt;/span&gt;&lt;a href="https://killedbygoogle.com/"&gt;&lt;span&gt;notably imperfect history&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in supporting innovation. In ClusterMAX 1.0, we noted a myriad of issues with its platform, yet we predicted GCP would reach Gold or Platinum promptly. It has taken until ClusterMAX 3.0 for this to come true, but Google is finally and comfortably among the best managed cluster providers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The GCP GPU experience is less refined than that of our Platinum providers, CoreWeave and Nebius. The console feels like the DMV compared to the streamlined UIs of the younger, more focused neoclouds. Access required a Google Cloud CLI that was occasionally uncooperative, forcing us sometimes to switch to the browser-based connection in Google&amp;#8217;s console, which was also unreliable. There was a small misconfiguration on our GB200 GKE cluster, where default StorageClass refused to attach to the `a4x-highgpu-4g` nodes, forcing us to try again with a non-default class to get block storage. Nitpicks aside, GKE is very well set up, and we enjoy using it. Google&amp;#8217;s managed Slurm is officially generally available and quite solid, with good defaults and health checks configured. A lot of the testing that we did for ClusterMAX 2.0 on their managed Slurm offering is now valid, since the bureaucrats in GCP Product Management are allowing real customers to use the offering, not sticking it with labels like &amp;#8220;Beta&amp;#8221; or &amp;#8220;Pre Release&amp;#8221; or &amp;#8220;not yet GA.&amp;#8221; (By the way, many of the neoclouds we&amp;#8217;ll discuss after Google should consider using some of these labels more often&amp;#8212;the balance is somewhere in the middle here.)&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!mRfb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8d6bb3-86ab-4dd2-be3e-d310b9718ccb_666x108.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="108" src="https://substackcdn.com/image/fetch/$s_!mRfb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8d6bb3-86ab-4dd2-be3e-d310b9718ccb_666x108.png" width="666" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aX1W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba7483b-faa9-4e5a-b52f-6e581ffdd2ca_2048x1241.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1241" src="https://substackcdn.com/image/fetch/$s_!aX1W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba7483b-faa9-4e5a-b52f-6e581ffdd2ca_2048x1241.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The biggest point of distinction between our GCP cluster and the other clusters we tested was networking. Our first NCCL test hung because automatic GID selection chose the wrong address, but pinning `NCCL_IB_GID_INDEX=3` completed the run. Even then, our NCCL tests were unsatisfactory: you would like to see a roughly logistic curve as performance increases monotonically in message size, but instead we had the following jagged shape:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mmf0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693ad4f9-4ec8-443e-a72c-2ac4f40d6d15_1928x1478.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1478" src="https://substackcdn.com/image/fetch/$s_!Mmf0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693ad4f9-4ec8-443e-a72c-2ac4f40d6d15_1928x1478.png" width="1928" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This could conceivably have been an issue with NCCL itself rather than a problem with our GCP configuration. NCCL&amp;#8217;s heuristics &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/understanding-nccl-tuning-to-accelerate-gpu-to-gpu-communication/"&gt;&lt;span&gt;don&amp;#8217;t always pick the right protocol and algorithm&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for the message size and topology, and some hand-tuning is always expected. However, we have gigabytes of networking data gathered at this point, and we knew to expect better perf. The issue turned out to be simply that we did not have the gIB plugin enabled. This is a set of NCCL plugins Google that ships for improved perf on Google&amp;#8217;s RoCE network. As of 26.07, gIB is baked into the NGC PyTorch image, so Google&amp;#8217;s customers get the custom stack by default. With gIB installed, we got a better chart with 4.4% higher peak throughput for 16-node all-to-all. (Note that these tests are both with the multi-node NVLink fabric shut off to isolate performance of the scale-out network, which is RoCE in this case.)&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gXAb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bd9c330-467a-42b9-9da6-175f6a9af4a7_1329x1042.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1042" src="https://substackcdn.com/image/fetch/$s_!gXAb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bd9c330-467a-42b9-9da6-175f6a9af4a7_1329x1042.png" width="1329" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While not perfect, this looks much better, and the topline number is solid. At this point, it was clear that the fabric was healthy, the configuration was good enough, and an engineer looking to squeeze more juice out of the system would have a solid baseline to start from.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This is amazing work by Nvidia and Google to set up auto activation for Google&amp;#8217;s ConnectX-7/8 NCCL plugin&lt;span&gt;. Previously, users would need to mess around with the correct library load paths and env vars to get it set up correctly and optimize performance on ConnectX NICs on GCP Nvidia GPU machines. &lt;/span&gt;We gave feedback a couple of quarters ago, and&lt;span&gt; now, it is fully automated!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5WTw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7905b0-29a3-4d2b-bc64-bc5547bdb441_1682x1144.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1144" src="https://substackcdn.com/image/fetch/$s_!5WTw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7905b0-29a3-4d2b-bc64-bc5547bdb441_1682x1144.png" width="1682" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;GKE&amp;#8217;s health checks worked well. As with other providers who have experience with NVL72 systems, Google&amp;#8217;s health checks intervened but left it up to the operator to bring the sick node back to the fleet. In particular, after our XID was injected, the health check marked `GPUUnhealthy=True` and `cloud.google.com/health-check-status=warning`, but left the node schedulable. This configuration was easy to work with, it&amp;#8217;s what GCP&amp;#8217;s customers prefer as a default, and it can be configured to the user&amp;#8217;s liking to respond to errors of various levels of severity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To continue improving, GCP could take a look at all the quality-of-life changes that Nebius and CoreWeave have made in the recent past. It should ship a better console that&amp;#8217;s easier to navigate, simplify IAM and RBAC, and ensure cluster access is painless, either through standard SSH or `kubectl` or by making its existing CLI bulletproof. Especially now that gIB is available in the default Nvidia images, we hope that GCP&amp;#8217;s operators have no trouble getting good performance out of their GCP scale-out. They could also continue to pursue neolabs in the mid-market, improve the hands-on support experience, and improve their relationship with Nvidia. GCP consistently loses so much business to smaller, less capable neoclouds, because they either lack the GPU capacity or refuse to serve the market at a certain price point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to testing GCP&amp;#8217;s VR NVL72 systems when they are available and seeing GCP&amp;#8217;s continued improvements on usability and performance.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Oracle&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;As we mentioned in ClusterMAX 2.0, Oracle is in a unique position among hyperscalers in that its growth must come from large contracts. Unlike AWS, Google, and Azure, Oracle does not have any agreements to sell frontier tokens, and unlike Meta and Google, it does not have a non-frontier lab it can hang its hat on. Instead, it continues to cut huge deals involving OpenAI, Meta, and Nvidia, reporting &amp;#8220;&lt;/span&gt;&lt;a href="https://s23.q4cdn.com/440135859/files/content_files/1q27-pressrelease-September_FINAL.pdf#page=1"&gt;&lt;span&gt;the delivery of 850MW additional datacenter capacity&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; from June through August, an eye-watering number. We project its relative growth in 2027 to be the largest of the hyperscalers, though from the smallest base.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested two Oracle clusters, which we will describe in order. The first was a GB300 NVL72 cluster on Slurm, set on a &lt;/span&gt;&lt;a href="https://blogs.oracle.com/cloud-infrastructure/first-principles-acceleron-multiplanar-networking"&gt;&lt;span&gt;multi-planar network&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This was vanilla Slurm, but due to customer demand, Oracle has Slurm-on-OKE on its roadmap. Once our allocation began, we tried to find our way in through the console, but it proved, like all hyperscaler consoles, a forbidding place.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9dpo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe741a9-f74f-4a0b-9c5f-070fbb4e2cf7_2048x1090.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1090" src="https://substackcdn.com/image/fetch/$s_!9dpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefe741a9-f74f-4a0b-9c5f-070fbb4e2cf7_2048x1090.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Importantly, Oracle&amp;#8217;s console did not support RBAC&amp;#8212;nothing on the console is connected to SSH users&amp;#8212;so all our SSH keys had to be managed on the machine. At one point, attempting to append to `authorized_keys`, our intern forgot a `-a` flag and removed all our previous keys. Classic user error, obviously, but this goes to show why we prefer to have a hardened path on a console. We&amp;#8217;d rather not trust our interns&amp;#8212;especially that one, no offense&amp;#8212;to type the magic words on the command line when a mistake can lock us out of the cluster. Thankfully, Oracle&amp;#8217;s engineers caught the mistake immediately and fixed it for us.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We hope they fix this and add enterprise grade RBAC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As expected, Oracle&amp;#8217;s cluster performed well from day 1. They provided us with scripts for InfiniBand and NCCL tests, which was helpful because vanilla scripts do not properly use all 4 rails. Burn-in was flawless and Oracle&amp;#8217;s managed Lustre saw strong throughput. Oracle&amp;#8217;s health checks worked as intended, draining the node on our synthetic error but leaving up to the user to decide whether or not to terminate and replace the GB300 node. Oracle&amp;#8217;s managed Prometheus and Grafana were good, though not perfect. For example, they are not integrated with the end user experience for job accounting. However, on the positive side, health metrics are now integrated into Cluster Manager in the console, making it easier to get a view of the crucial statuses at a glance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mwOC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34a3ddb-3a0f-4480-be9b-63a10a3775fa_2048x1192.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1192" src="https://substackcdn.com/image/fetch/$s_!mwOC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34a3ddb-3a0f-4480-be9b-63a10a3775fa_2048x1192.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NVvZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b17127-debb-47f4-8c8d-510e5e724040_873x473.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="473" src="https://substackcdn.com/image/fetch/$s_!NVvZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b17127-debb-47f4-8c8d-510e5e724040_873x473.png" width="873" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Next, we tested OKE with MI355X. This was the only provider other than TensorWave who let us test-drive AMD GPUs. The ride was rough.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we complained about last time, at first, we needed to SSH into an operator node to steer Kubernetes. This time, the team quickly solved our Oracle CLI issues and we were promptly able to download our credentials locally. By far the greater problem on this cluster, though, was with the NICs. Peak performance was near line rate, so there was no issue with the hardware that we could detect. Rather, the issue was with the ionic drivers. Our per-rail `ib_write`/`ib_read` sweep across all eight NICs hit 391 Gb/s on every rail, then wedged the node the moment it finished: when the pods were deleted, the perftest processes never completed their `rdma_cm` teardown, the forced `kill` timed out the NIC&amp;#8217;s destroy-CQ command, and the RDMA admin queue on `ionic_0` and `ionic_4` went dead. Worse, both ports still showed `ACTIVE` at 400 Gb/s and the node stayed `Ready`. The passive checks did not check out the RDMA control path, and no active check had run in eight days. We found the issue by grepping `dmesg` after RCCL kept failing. Oracle diagnosed it quickly on a weekend and rebooted: their own `ibwrite` health check had failed on this cluster in the same way days before. After a call where we explained the pathological workloads, they spoke with AMD and pushed different drivers and firmware to the cluster, which solved the problem.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Separately, we had a GPU intermittently dropping off the PCIe bus, neither caught by the health check nor properly surfaced in the dashboard. Oracle promptly swapped out the node and responded to our feedback on the dashboard.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!jdB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8838cf-5ef3-4634-8a08-87f34daba095_2048x492.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="492" src="https://substackcdn.com/image/fetch/$s_!jdB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8838cf-5ef3-4634-8a08-87f34daba095_2048x492.png" width="2048" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qMzh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c3e134-2403-4583-a918-0074c8acc52e_2048x1174.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1174" src="https://substackcdn.com/image/fetch/$s_!qMzh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c3e134-2403-4583-a918-0074c8acc52e_2048x1174.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This was a mixed episode, but Oracle&amp;#8217;s responsiveness was good. It&amp;#8217;s especially undesirable that no health checks alerted, even though these drivers are known to be flaky. Still, Oracle&amp;#8217;s close relationship with AMD is clearly an asset. They were able to speak to the relevant teams, diagnose the issue, and put a patch in place quickly. This type of support is not guaranteed at organizations of Oracle&amp;#8217;s scale. Interestingly, Oracle is also the only provider ranked Silver or above, and one of two ranked Bronze or above, with zero installed libraries with applicable CVEs. This is more of an expectation than a benefit for us, but it was a clear demonstration that their automation works for deploying and upgrading clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If we were a neolab, we would come away from this testing experience with confidence in working with Oracle. Yet this is a moot point given Oracle&amp;#8217;s increasing commitment to bare metal deployments for frontier labs such as OpenAI in Project Stargate. Success in that business depends more on getting &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/201118118/3-well-capitalized-projects-facing-permitting-and-local-opposition-issues"&gt;&lt;span&gt;government approval for gas pipeline construction&lt;/span&gt;&lt;/a&gt;&lt;span&gt; than it does on RCCL tests.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Still, Oracle has made progress since last we tested them, and the experience is very good overall. We look forward to continuing to keep tabs on them going forward.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Silver&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Lambda&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Lambda was most recently in the news for participating in a &lt;/span&gt;&lt;a href="https://www.reuters.com/technology/anthropic-signs-35-billion-cloud-deal-with-nvidia-backed-lambda-source-says-2026-08-31/"&gt;&lt;span&gt;$35B Anthropic deal&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for 350 MW in Nueces County, alongside Hut8 and Nvidia. Before that, they were &lt;/span&gt;&lt;a href="https://finance.yahoo.com/technology/ai/articles/ai-cloud-provider-lambda-in-talks-for-3-billion-pre-ipo-round-234205946.html"&gt;&lt;span&gt;rumored to be preparing for a 2027 IPO&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and they separately raised &lt;/span&gt;&lt;a href="https://lambda.ai/blog/lambda-closes-1-billion-senior-secured-credit-facility"&gt;&lt;span&gt;$1B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://lambda.ai/blog/lambda-closes-926-million-senior-secured-term-loan-b-facility"&gt;&lt;span&gt;$926M&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://www.bloomberg.com/news/articles/2026-08-28/nvidia-backed-lambda-inks-1-billion-private-debt-for-chip-deal"&gt;&lt;span&gt;$1B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in debt for their buildouts. Amidst all their growth, after judging them Silver in ClusterMAX 2.0, we were interested in evaluating Lambda&amp;#8217;s clusters this time around.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Onboarding began with a nice deck and PDF explaining what to expect on the cluster, and access was sorted out promptly.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XWJ0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5aecaed-0d08-4c63-8b24-f1058479b4dd_1011x449.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="449" src="https://substackcdn.com/image/fetch/$s_!XWJ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5aecaed-0d08-4c63-8b24-f1058479b4dd_1011x449.png" width="1011" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/i/178057384/lambda"&gt;&lt;span&gt;We criticized Lambda in ClusterMAX 2.0 for their reliability&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; this round of testing, it was one of Lambda&amp;#8217;s points of emphasis. Their passive health checks cover the relevant conditions and ultimately autoremediated three errors we simulated during testing. Two synthetic XIDs were autoremediated in less than 15 minutes, and there were connected dashboards to monitor node health. Our test that triggered a genuine XID 79 by resetting the PCIe secondary bus reset brought the node into `NotReady` with no `GpuXid`, no cordon, and no monitoring visibility on the Kubernetes layer, but it ultimately rejoined the fleet after 2 hours. Our node-reboot tests on the Kubernetes layer also completed without incident.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!f_OD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770c1ebb-c945-4e86-8ff8-cd1c0af7f664_2048x1174.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1174" src="https://substackcdn.com/image/fetch/$s_!f_OD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770c1ebb-c945-4e86-8ff8-cd1c0af7f664_2048x1174.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The orchestration layer has improved significantly, though it still has a handful of issues. Slurm configuration left CPUs per task unset, so Slurm&amp;#8217;s default allocation gave one logical core unless the launch requested more. Passwordless &lt;/span&gt;&lt;strong&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is not enabled on Slurm, as we are using managed slurm rather than unmanaged Slurm. Lambda is the only provider we&amp;#8217;ve encountered that makes this distinction, but clearly some of their customers want root access to their own cluster, while others do not (?). We enjoy having root on our own cluster.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Also missing was SSH to the compute nodes without an allocation. This creates a headache during debugging if someone else is running a job and you can&amp;#8217;t attach to their allocation, or a job is stuck. Another reason why we enjoy &amp;#8220;yolo mode&amp;#8221; on our clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;More importantly, Slurm had software out of date, including CUDA Toolkit 12.0 at the default location &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;/usr/bin/nvcc&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (which is so old it&amp;#8217;s incompatible with the B300 SM100 architecture), and unacceptably old drivers. On the bright side, Slurm did have topology settings configured, and the NCCL recipes that they gave us worked well. We had no authentic errors during testing, and all our tests, including burn-ins and storage, showed good performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our preoccupation with Lambda&amp;#8217;s 1-Click Clusters seems quaint in today&amp;#8217;s world of capacity reservations backlogged for months. Indeed, as mentioned in the opening, Lambda is increasingly driving its bottom line via bare-metal builds, apart from managed clusters altogether. Regardless, Lambda&amp;#8217;s orchestration continues to improve, and customers are happy, which lands them in the upper ranks of ClusterMAX 3.0.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Using Azure clusters can be very difficult due to the Microsoft &lt;/span&gt;&lt;strong&gt;&lt;span&gt;bureaucracy&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Their engineers do the best they can, but this is not an organization set up to be flexible in accommodating its customers. Microsoft customers do not come first in matters of taste.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;During testing, we were not allowed to have our own Azure accounts, so we had to use the cluster under the user of one of Azure&amp;#8217;s engineers, which prevented us from poking around the console and experiencing the authentic onboarding experience. Our GPUs were set to be in Virginia, but thanks to some obscure internal decree, we were not allowed to have a control plane there. Instead, our control plane ran in San Antonio, Texas. Access required setting up a VPN, which worked after a bit (see: literally 3 weeks) of back and forth. Pasting was disabled on the bastion, so to run our tests, we had to manually type in our GitHub and HuggingFace tokens. Like, literally type them in one character at a time. We got them right first try though, nbd &lt;/span&gt;&lt;a href="https://emojipedia.org/face-exhaling"&gt;&lt;span&gt;&amp;#128558;&amp;#8205;&amp;#128168;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once everything finally ran, we found a handful of packages out of date, and bad default NCCL configs kept our first run from going through. On AKS, the `managed-csi-premium-v2` `StorageClass` could not attach, and we got `EAGAIN` trying to run `fio` at anything more than 4 clients on Azure Files Premium. No parallel system attached to our Slurm cluster meant that one of our tests, which loaded DeepSeek-V4 from NFS, timed out.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!E2Di!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F635db7a9-5287-4c8b-b77e-827a2ccea9f9_515x394.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="394" src="https://substackcdn.com/image/fetch/$s_!E2Di!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F635db7a9-5287-4c8b-b77e-827a2ccea9f9_515x394.png" width="515" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: a typical Azure experience&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When we went to run burn-in, we had a genuine failure on 10 nodes of our Slurm rack, killing our job. Microsoft caught the errors, traced them back to an unhealthy host, and opened up a Guest Health Report for repair. An `scontrol` resume command brought them back, and after that, both our Kubernetes and Slurm racks completed their burn-in without error.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;CycleCloud drained the node immediately after we tested Azure&amp;#8217;s health checks by injecting a synthetic XID, but it did not resume or replace it. Because we had the whole GB300 rack, this was satisfactory, as described in the &amp;#8220;Blackwell and Grace Blackwell&amp;#8221; section above.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Due to the account issue, we could not see our Kubernetes dash by default. Instead, Azure&amp;#8217;s engineering team cooked up a custom dashboard setup for us, and it was extremely detailed&amp;#8212;a solid triumph over the bureaucratic straitjacket. We want to shoutout our friend Xu Xue for this one, as we are quite certain that he went way above and beyond the call of duty to build this out for us, but wouldn&amp;#8217;t admit it. His curated dashboard is open sourced &lt;/span&gt;&lt;a href="https://github.com/xuexu6666/aks/tree/main/gb300/vanillaarm64/clustermax#curated-dashboard-folder--azure-kubernetes-service-monitoring-gb300"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a great resource for anyone building Grafana dashboards to monitor Nvidia GPU clusters from scratch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t1Fk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc233643e-91ca-46e4-bd17-5335a920b937_2048x1088.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1088" src="https://substackcdn.com/image/fetch/$s_!t1Fk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc233643e-91ca-46e4-bd17-5335a920b937_2048x1088.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://www.dwarkesh.com/p/satya-nadella-2"&gt;&lt;span&gt;Satya once said&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &amp;#8220;we want to build out Azure as being fantastic for the long tail of the workloads,&amp;#8221; and that Microsoft is &amp;#8220;not in the business of just doing five contracts with five customers being their bare-metal service.&amp;#8221; Yet it is exceedingly rare to come across a VC-backed lab that uses Azure for training and inference. &amp;#8220;Five customers for bare-metal service&amp;#8221; is overstating it. Really, it&amp;#8217;s two: OpenAI and MAI. Soon to be three, with Anthropic diversifying.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Azure&amp;#8217;s most interesting asset is that it can serve OpenAI&amp;#8217;s models and keep 100% of the revenue. They still have full access to all of OpenAI&amp;#8217;s IP. Yet Azure can separately boast of large bare-metal deals with OpenAI, as well as an increasingly lucrative relationship with Anthropic. This is an incredibly strong position to be in. If only for &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178649945/microsoft-and-openai-in-2023-25-from-all-in-on-ai-to-the-big-pause"&gt;&lt;span&gt;the pause&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As Azure mostly competes on a different plane with enormous deployments and hundreds of billions of capex, its ability to manage clusters only makes it more flexible. Like Google and Oracle, Azure gets its cashflow from offtakers who need no help setting up a `ComputeDomain`. But based on the quality of testing, these three could still cut smaller, higher-margin deals with labs who want a higher-touch experience.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This does not seem likely to happen any time soon, though. Support and the console is a headache, even if Azure is the only hyperscaler where you can possibly get the Nvidia Reference Architecture on your scale-out networking. As much as anything, we like to verify that these hyperscalers are light on their feet.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Firmus&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;One of Nvidia&amp;#8217;s favorite up-and-comers, and our favorite in Asia-Pacific, Firmus &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-announces-fully-subscribed-usdusd2-billion-strategic-equity-investment-to-accelerate-nvidia-ai-factory-expansion-across-australia-and-asia-pacific"&gt;&lt;span&gt;announced in August a $2B funding round&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at $10.5B post-money for expansion throughout Australia, Malaysia, and Indonesia, following a &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-raises-usdusd505-million-in-strategic-equity-investment-led-by-coatue"&gt;&lt;span&gt;$505M round at $5.5B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; just 4 months before. Firmus also &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-signs-multi-year-agreement-with-global-hyperscale-customer-at-project-southgate"&gt;&lt;span&gt;raised a $10B debt facility&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March for its Project Southgate buildout in Melbourne and Tasmania. Just last week, &lt;/span&gt;&lt;a href="https://firmus.co/newsroom/firmus-surpasses-900-mw-contracted-capacity-adds-openai-as-anchor-customer-and-expands-into-malaysia"&gt;&lt;span&gt;it disclosed 900 MW in total contracted capacity and announced OpenAI as an anchor tenant in its Malaysian expansions&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. All in all, Firmus has disclosed 18,400 GB300 GPUs in the deployment process today and 36,800 later this year in Tasmania, with multiple GWs and tens of thousands of VR in the pipeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We had a rough takeoff but a fairly soft landing while testing one of Firmus&amp;#8217;s dev clusters. Accessing our chips required using a Microsoft Entra account, Microsoft SSO, then downloading and configuring a custom pre-release version of the vCluster CLI. We&amp;#8217;re suckers for new tech, but where cluster access is concerned, we&amp;#8217;d much rather just SSH. After a few rounds of back and forth, with the help of Firmus&amp;#8217;s team, we were on.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lr3x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22591118-db8b-43f6-b570-fe9cadbdff30_2048x1098.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1098" src="https://substackcdn.com/image/fetch/$s_!lr3x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22591118-db8b-43f6-b570-fe9cadbdff30_2048x1098.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&amp;#8230;on the cluster, but not quite off and running. The default setups on both Kubernetes and Slinky left a lot to be desired. Slurm login had no `sudo`, no `vim` or `nano`, HPC-X installed but not on `PATH`, and no NVCC. More importantly, instead of receiving 4 Slurm nodes on one rack and 4 Kubernetes on another, we had 2 of each on each. This was not necessarily a problem, but Kubernetes had `&lt;/span&gt;&lt;a href="http://nvidia.com/gpu.clique"&gt;&lt;span&gt;nvidia.com/gpu.clique&lt;/span&gt;&lt;/a&gt;&lt;span&gt;` configured with nothing consuming it, while Slurm used `topology/flat`. Thus, the nodes visible to each orchestrator spanned multiple racks, and there was nothing to avoid a multinode job needlessly crossing the rack boundary. We had to infer node nomenclature to make sure our tests were well placed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On top of this, the Kubernetes control plane&amp;#8217;s `etcd` visibility flickered several times during testing. which killed our jobs and caused both the Slurm and Kubernetes layers to restart. This was ultimately attributed to an issue upgrading switch firmware and did not recur for the last 10 days. We also lost a NIC to a wedge during reboot, which was not caught by Firmus&amp;#8217;s health checks as they were not active on the dev cluster we tested. Firmus was the only GB300 cluster we had that exposed GPU HBM as NUMA nodes, an interesting configuration that we mark as a failure because it lets you accidentally swamp device HBM if you overflow on the host. WAN was inconsistent but often quite poor, maintaining 0.25 Gb/s to NGC. The last of our problems was that one of the racks saw significantly degraded performance on its NVLink fabric, which was explained by a power setting that Firmus had been experimenting with on their dev cluster; fixing this brought our numbers into the healthy range.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Thus, by the time testing ended, we had satisfactory though underfurnished Slinky and Kubernetes layers, we knew how to access them, and we could get strong performance across our test suite. We understand that managed clusters are not Firmus&amp;#8217;s priority right now, but we believe there is plenty of low-hanging fruit here for their technical team. As Firmus works to bring enormous capacity online, we look forward to seeing them continue to make life easier for users of their GPU software stack.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;TensorWave&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;TensorWave is an AMD-only neocloud whose MI355X offering we tested via K8s and Slinky. In the last writeup, we emphasized the difficulty of TensorWave&amp;#8217;s onboarding process, which required back and forth just to get on the cluster and had a large number speedbumps even still. The improvement this time round is significant. Onboarding was smooth, the `kubeconfig` sent directly to us worked perfectly, the console allowed us easily to add team members with SSH access, and the TensorWave support team was attentive throughout our testing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M9JN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf70335-6a7f-4096-af05-91345833c99d_1762x1020.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1020" src="https://substackcdn.com/image/fetch/$s_!M9JN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf70335-6a7f-4096-af05-91345833c99d_1762x1020.png" width="1762" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Being an AMD-only cloud, TensorWave is fighting an uphill battle dealing with AMD&amp;#8217;s software stack, which, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;&lt;span&gt;despite significant recent progress&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;still lies well behind Nvidia&amp;#8217;s&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We saw this on our TensorWave cluster on RCCL microbenchmarks, with all-gather and all-to-all hanging at 32 KiB even using TensorWave&amp;#8217;s binaries and recipes. Other collectives showed uneven scaling and poor throughput at certain message sizes. [Editorial comment: RCCL? More like Rick L!] In general, it can be said that the AMD networking stack lacks the community support that Nvidia tooling offers. The same goes, of course, on the hardware side. More important than microbenchmarks, we see in practice that the GB300 NVL72 systems have the most demand across the industry from labs: their performance is so superior that, even accounting for their higher prices, they often offer the best perf per dollar as well. AMD&amp;#8217;s rackscale answer, the &lt;/span&gt;&lt;a href="https://tensorwave.com/blog/tensorwave-powers-frontier-ai-growth-for-cloud-customers-with-amd-helios-rackscale-solution"&gt;&lt;span&gt;MI455X Helios&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, is still &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;&lt;span&gt;ramping up production&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and is certainly not yet on offer by TensorWave. Thus, TensorWave&amp;#8217;s place in the rankings depends not only on its internal improvements, but on AMD&amp;#8217;s ongoing work to close the gap relative to Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For what it advertised, our TensorWave cluster was good across the board. North-south bandwidth was strong. Storage performance was exceptional and burn-ins completed without a problem. When we pushed around the Kubernetes layer, its reliability was good, and the Slinky layer was easy to use.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The health check immediately recognized the error that we simulated, bringing the node into `drng`.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!eKJt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ef5150-eafb-4b86-8107-1747f6834a4a_1246x228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="228" src="https://substackcdn.com/image/fetch/$s_!eKJt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ef5150-eafb-4b86-8107-1747f6834a4a_1246x228.png" width="1246" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The dashboard oddly marked the node as &amp;#8220;Allocated,&amp;#8221; rather than being broken out into its own category. However, shortly afterward, we were presented with a nice juicy button to click to approve replacing our &amp;#8220;sick&amp;#8221; node with a fresh one.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dP5B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c865a25-bf2c-4979-829d-174de670437a_2048x1177.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1177" src="https://substackcdn.com/image/fetch/$s_!dP5B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c865a25-bf2c-4979-829d-174de670437a_2048x1177.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The replacement completed in approximately 43m. We would prefer that the autoremediation occur by default&amp;#8212;we&amp;#8217;d rather not even have to click a nice juicy button&amp;#8212;but otherwise consider TensorWave&amp;#8217;s monitoring and autoremediation exemplary.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tiD-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a311905-19d3-45bd-9d3c-3aa8b2e1fb03_1246x718.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="718" src="https://substackcdn.com/image/fetch/$s_!tiD-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a311905-19d3-45bd-9d3c-3aa8b2e1fb03_1246x718.png" width="1246" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, TensorWave is the leading AMD-exclusive neocloud, providing a comparable (and sometimes better) experience on AMD GPUs than hyperscalers like Oracle and Microsoft. And they are not stopping. TensorWave has &lt;/span&gt;&lt;a href="https://tensorwave.com/blog/fermi-announces-binding-lease-agreement-with-tensorwave"&gt;&lt;span&gt;entered into an agreement with Fermi&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for 222 MW in the Texas panhandle with expansion rights up to 650 MW, contingent upon Fermi securing project financing. It has a tailwind with a &lt;/span&gt;&lt;a href="https://tensorwave.com/blog/tensorwave-raises-350-million-series-b-at-1-55b-valuation-to-expand-global-amd-powered-ai-infrastructure"&gt;&lt;span&gt;$350M June Series B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, leaving it at $1.55B post-money, and is currently working on large deals with hyperscalers. With both &lt;/span&gt;&lt;a href="https://openai.com/index/openai-amd-strategic-partnership/"&gt;&lt;span&gt;OpenAI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://ir.amd.com/news-events/press-releases/detail/1292/amd-and-anthropic-announce-strategic-partnership-to-deploy-up-to-2-gigawatts-of-amd-instinct-mi450-series-gpus"&gt;&lt;span&gt;Anthropic&lt;/span&gt;&lt;/a&gt;&lt;span&gt; announcing strategic partnerships with AMD for the MI450 generation, we expect that TensorWave is set to benefit, and AMD-exclusive neoclouds may be able to break into the Gold tier. We look forward to testing TensorWave&amp;#8217;s MI455X Helios once it is available.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GMI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;GMI is a neocloud headquartered in Mountain View with roots in Taiwan. With a &lt;/span&gt;&lt;a href="https://www.gmicloud.ai/en/blog/gmi-cloud-brings-taiwans-first-ai-factory"&gt;&lt;span&gt;$500M Nvidia deal announced last November&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.gmicloud.ai/en/blog/gmi-cloud-announces-1gw-sovereign-ai-infrastructure-in-japan-accelerated-by-nvidia-vera-rubin-nvl72-tm"&gt;&lt;span&gt;$12B more this March&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, hundreds of GB300 racks in the pipeline, and plans for VR down the line, they are keeping on the frontier in terms of hardware. Recently, they have also been growing their fleet by making deals with smaller neoclouds and reselling the compute to their established customer base, which offers an attractive cashflow profile because it does not require up-front capital outlay. After judging them the &amp;#8220;top Bronze neocloud&amp;#8221; in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we were interested to test the progress of their managed clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Onboarding was a bit bumpy, including an empty Kubeconfig downloaded from the console and an SSH key that we uploaded but was never synced to the cluster. After some back and forth with the team, we got in. The problem, it turned out, was that the console was view-only for our testing purposes, so we could not verify its functioning. Last round, we did not get access to a self-service console at all, so we count this as progress.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As last time, the compute was up to spec, burn-in was clean, and the InfiniBand fabric was sturdy. One notable improvement since ClusterMAX 2.0 was in GMI&amp;#8217;s storage. GMI provided a performant RWX NFS default StorageClass, which was also available on the Slurm layer at `/home`. We had difficulty trying GMI&amp;#8217;s S3, which turned out to be due to a typo in their doc. But once the Brothers &lt;/span&gt;&lt;s&gt;&lt;span&gt;Karamazov&lt;/span&gt;&lt;/s&gt;&lt;span&gt; Karasev hopped on a call and fixed it, we verified that the object storage perf was also good. The biggest blocker in terms of cluster configuration was that GMI expected the IMEX domain to be configured on the Kubernetes cluster by a ComputeDomain CRD. This is perfectly viable&amp;#8212;many other highly rated providers do the same thing&amp;#8212;but GMI&amp;#8217;s Kueue would not tolerate the claim, so our jobs sat in `Suspended`. To work around, we had to submit our jobs in a namespace with no `LocalQueue` named `default`. We recommend that GMI document that MNNVL jobs need to skip the queue, or, much better, that GMI set up its Kueue to tolerate DRA resource claims.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;GMI&amp;#8217;s dashboards, which did not exist last time we tested, were useful, including hardware information from DCGM and NVLink and InfiniBand monitoring.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xYqi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa43db568-8572-4364-bf82-2a54b367c68a_2031x1230.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1230" src="https://substackcdn.com/image/fetch/$s_!xYqi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa43db568-8572-4364-bf82-2a54b367c68a_2031x1230.png" width="2031" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We could not get the full GMI health-check experience due to a lack of spare capacity, but what we could test performed well. Nodes were quickly cordoned at the Kubernetes layer, then rebooted and auto-uncordoned. The Slurm layer also brought a node into `DRAIN` soon after a synthetic error was injected. GMI had alerts set up in Slack, so we could see their system detecting the error and thread to discuss next steps with support, which was convenient.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our GMI experience was solid in every crucial way, and we look forward to continuing to test them as their capacity ramps quickly.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Bronze&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Amazon Web Services (AWS)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Our last report summarized the AWS experience as a &amp;#8220;headache.&amp;#8221; This time around, we had to break out some &lt;/span&gt;&lt;em&gt;&lt;span&gt;Amazon Basic Care Ibuprofen Tablets, Fever Reducer and Pain Relief from Body Aches, Headache, Arthritis Pain and More, Brown 200 Count&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to get through our testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The difficulty with AWS begins before you get on the cluster&amp;#8212;indeed, before you even try to provision the cluster: it begins when you contemplate AWS&amp;#8217;s zoo of managed offerings. To get this all straight, we had to make a Venn diagram:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CDJA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870e9761-ea42-466a-a72a-1b1763e21d5f_1700x1650.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1650" src="https://substackcdn.com/image/fetch/$s_!CDJA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870e9761-ea42-466a-a72a-1b1763e21d5f_1700x1650.png" title="" width="1700" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Intern (I forget his name)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;(&lt;/span&gt;&lt;em&gt;&lt;span&gt;Caveat lector&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: anyone not interested in the minutiae of AWS&amp;#8217;s GPU offerings should skip this &amp;#182;.) &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-mlconcepts.html"&gt;&lt;span&gt;SageMaker&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is AWS&amp;#8217;s fully managed platform meant for minimal maintenance. If you don&amp;#8217;t want to handle any infrastructure, it offers &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/customize-model.html"&gt;&lt;span&gt;serverless model customization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://aws.amazon.com/sagemaker/unified-studio/"&gt;&lt;span&gt;data science environments&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that abstract away the underlying compute. At the next level up is the &lt;/span&gt;&lt;a href="https://aws.amazon.com/sagemaker/ai/hyperpod/"&gt;&lt;span&gt;SageMaker HyperPod&lt;/span&gt;&lt;/a&gt;&lt;span&gt; line, which supports both &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-slurm.html"&gt;&lt;span&gt;Slurm&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks.html"&gt;&lt;span&gt;EKS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The HyperPod line offers many conveniences like &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-deep-health-checks.html"&gt;&lt;span&gt;health checks&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-auto-resume.html"&gt;&lt;span&gt;autoremediation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-cluster-observability-slurm.html"&gt;&lt;span&gt;dashboards&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and workload-level features like &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless.html"&gt;&lt;span&gt;checkpointless training&lt;/span&gt;&lt;/a&gt;&lt;span&gt; out of the box for users who want to preserve their `ssh` or `kubectl` access. If you want infrastructure abstracted away but want to handle the ML stack yourself, you can leave the SageMaker umbrella and choose &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/automode.html"&gt;&lt;span&gt;EKS Auto Mode&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which takes care of node provisioning, autoscaling, OS patching, and node repair. EKS Auto Mode is a wrapper on top of &amp;#8220;managed EC2 instances,&amp;#8221; but these are not actual EC2 instances in the sense that they do not show up in the EC2 console and do not provide the same level of customizability as ordinary EC2 instances. In EKS Auto Mode, users do not have access to the control plane, and they must allow AWS to recycle their workers &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/automode.html#:~:text=21%20days%20%28which%20you%20can%20reduce%29"&gt;&lt;span&gt;every 21 days for security&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Finally, for even greater customizability, there is &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/best-practices/karpenter.html"&gt;&lt;span&gt;EKS + Karpenter&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which allows the user to manage autoscaling themselves with the open-source tool &lt;/span&gt;&lt;a href="https://karpenter.sh/"&gt;&lt;span&gt;Karpenter&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite Amazon&amp;#8217;s reputation as &amp;#8220;&lt;/span&gt;&lt;a href="https://www.amazon.jobs/content/en/our-workplace/leadership-principles"&gt;&lt;span&gt;customer-obessed&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; it is clear that this novel-length GPU menu is an example of the adage &amp;#8220;&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Conway%27s_law"&gt;&lt;span&gt;you ship your org chart&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; rather than a reflection of genuine demand segmentation. And the bureaucratic frustrations hardly end once you&amp;#8217;ve ordered your cluster. This is a criticism of the organization rather than of any team in particular&amp;#8212;AWS has shades of the &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Crisis_of_the_Third_Century"&gt;&lt;span&gt;3rd-Century Roman Empire&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. To improve its standing in the next round of ClusterMAX testing, we recommend AWS choose another empire and/or time period for reference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nevertheless, there is a unifying trait of all these offerings: they fail to provision the first time you try. Thus, we made another clarifying Venn diagram:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o3AI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96cb228c-6606-4934-9672-72ef4487dd7f_1700x1560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1560" src="https://substackcdn.com/image/fetch/$s_!o3AI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96cb228c-6606-4934-9672-72ef4487dd7f_1700x1560.png" title="" width="1700" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Ibid.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This finally brings us to the AWS operator experience. One SageMaker cluster we provisioned in the console failed due to insufficient IAM permissions. Some of the EKS clusters used Terraform to simplify provisioning, but that path is not battle-tested and requires being in the right subdirectory and on the right commit of the right branch of the right (in-flight) repo and knowing exactly which knobs to turn without making an invalid request. One cluster came up without Lustre and would not let us attach any, despite extended back-and-forth with AWS engineers. For the purposes of testing, we provisioned a new cluster in a new region to gather data on filesystem perf, but if we were a real-life lab, this would have been crippling, at least temporarily. The AWS team we worked with was consistently helpful, but it is clear that they don&amp;#8217;t have the liberty to go solve problems or even insight into how the system fits together, especially compared to the flat, nimble neoclouds we&amp;#8217;re judging them against. It should not require six engineers on multiple calls to provision a Slurm cluster in the first place.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once the goods were delivered, there were no blockers that kept us from getting reasonable perf out of the gate. The drivers, firmware, and most utilities were up to date. This is the bare minimum from a reputable provider like AWS, however, and there was no shortage of rough edges elsewhere.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A basic point of distinction between the AWS clusters we tested and their peer B200 clusters is that AWS uses Elastic Fabric Adapter (EFA), its proprietary scale-out fabric. In our testing, peak EFA throughput was strong. On a four-node 32-GPU all-to-all &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Settler_colonialism"&gt;&lt;span&gt;NCCL&lt;/span&gt;&lt;/a&gt;&lt;span&gt; test over EFA on B200 we measured 59.44 GB/s busbw at 16 GiB message size, which works out to about 92% of scale-out line rate given the proportion of traffic that crosses the node boundary. On other networking tests with other traffic patterns and launching mechanisms, as long as message size was large enough, throughput was among the best B200 clusters. However, EFA consistently demonstrated worse latency than well tuned InfiniBand comps. For example, when the message size was reduced to 64 KiB, the same four-node 32-GPU all-to-all NCCL test took 85.26&amp;#181;s over EFA and under 50&amp;#181;s on InfiniBand peers; this delta of 30-40% between EFA and InfiniBand was consistent across small-message tests, which are latency-dominated. Although this may seem like a nitpick, scale-out latency is a critical metric for modern &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/glossary/expert-parallelism"&gt;&lt;span&gt;expert-parallel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; workloads, which frequently send small token vectors across the node boundary. This 64 KiB NCCL test, for example, is similar to the expert routing step of models like Kimi K3 and DeepSeek V4. Our findings are corroborated by an &lt;/span&gt;&lt;a href="https://research.perplexity.ai/articles/enabling-trillion-parameter-models-on-aws-efa"&gt;&lt;span&gt;excellent Perplexity technical blog post about optimizing EFA&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which reported similar results: EFA demonstrates satisfactory peak throughput but pays a latency penalty of 20&amp;#181;s or so on &amp;#8220;the message sizes exchanged during MoE dispatch and combine.&amp;#8221; (Note that this Perplexity post compares EFA to ConnectX-7 NICs whereas we tested ConnectX-8, but the nameplate throughput of the two generations is identical.) It&amp;#8217;s not a good sign when Perplexity&amp;#8217;s cracked engineers are writing painstakingly detailed blog posts about how to &amp;#8220;enable&amp;#8221; basic functionality on your custom network stack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RTQu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8af3c70d-f9ae-43c4-afb5-98722cd154cb_2048x1253.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1253" src="https://substackcdn.com/image/fetch/$s_!RTQu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8af3c70d-f9ae-43c4-afb5-98722cd154cb_2048x1253.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;All-reduce tests on EFA. Note that message size must double many times before time to completion changes much; this is because at small sizes, it is latency, rather than line rate, that defines performance.&lt;span&gt;.&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;EFA still requires extra setup for expert-parallel inference in upstream vLLM and SGLang. AWS reports successful vLLM deployments, but users must install EFA userspace libraries and build the relevant communication components with EFA support. Depending on the workload, these include DeepEP, NIXL, or Mooncake Store. &lt;/span&gt;&lt;a href="https://github.com/amazon-contributing/DeepEP"&gt;&lt;span&gt;AWS&amp;#8217;s DeepEP fork&lt;/span&gt;&lt;/a&gt;&lt;span&gt; supports EFA through NCCL GIN. &lt;/span&gt;&lt;a href="https://github.com/deepseek-ai/DeepEP"&gt;&lt;span&gt;DeepEP V2&lt;/span&gt;&lt;/a&gt;&lt;span&gt; uses NCCL GIN, while its NVSHMEM-based V1 path is now documented as legacy. Upstream integration and default container packaging still require work. NCCL EP is another route under development; the linked vLLM integration remains a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/56241"&gt;&lt;span&gt;draft PR&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;In general, EFA is not a priority for frontier communications libraries, and users must wait weeks or months for what support they do get.&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS is the only cloud distinguished in this way. Every other provider we tested uses InfiniBand or RoCE. Of course, AWS&amp;#8217;s customers with GW deals have the resources to make sure their EFA is well tuned, but we still think it a shame that the largest provider&amp;#8217;s scale-out stack is uniquely troublesome.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a different way, storage was another basic cluster service that often proved uncooperative. The B200 cluster we provisioned in `ap-south-1a` failed every request for storage with an ambiguous `Insufficient capacity` error, and the `Failed` filesystems took 5h46m55s to delete.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!JRNV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf42d75a-3a29-49ae-b581-025db99bce52_1244x252.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="252" src="https://substackcdn.com/image/fetch/$s_!JRNV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf42d75a-3a29-49ae-b581-025db99bce52_1244x252.png" width="1244" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To test Lustre performance required another cluster in another region, which meant another protracted bringup&amp;#8212;another evening of terminal-watching trying to discern whether Terraform was making progress or not.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!j7ks!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd91b500f-d3b9-4fd0-a3a0-77a6d644b532_2048x1218.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1218" src="https://substackcdn.com/image/fetch/$s_!j7ks!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd91b500f-d3b9-4fd0-a3a0-77a6d644b532_2048x1218.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Provisioning purgatory.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Claiming storage on AWS via Terraform is like raising a toddler: you can only watch and hope that once it&amp;#8217;s done destroying it will start creating. And once the storage is created, it is not necessarily straightforward to access. On the Kubernetes layer, one cluster provided no StorageClass by default, and its only provided StorageClass left our PVC indefinitely in `Pending` because it had the wrong driver. This required us to define our own StorageClass with the correct provisioner.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Powered on and wired up, storage perf was mixed. The provided &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/ClusterMAX-internal/blob/d039ae43c09bc20e32cfea67469f80069e90d2a8/runs/aws-eks-karpenter-b200/20260729-094037/tests/fio/fio.values.json#L34"&gt;&lt;span&gt;FSx stack struggled significantly with ordinary buffered I/O&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, reaching 9.2s in p99 sequential read latency on fio testing, compared to 312ms on the same metric with buffering disabled. Greater latency on the buffered setting is expected, but this is a pathological delta.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS&amp;#8217;s health checks&amp;#8217; performance was, again, mixed. Our EKS Auto Mode cluster caught the XID we injected, set `AcceleratedHardwareReady=False`, and gave us a new and healthy node only 24m after the original injection. Meanwhile, our SageMaker HyperPod Slurm cluster immediately detected the XID, brought the node into `DRAIN`, and completed most of the reprovisioning process before tripping over its own feet when it required a deep health check before it could rejoin the fleet. This deep health check was submitted as a Slurm job and couldn&amp;#8217;t be scheduled until, well, the node was added back to the fleet. Thus, an operator had to manually push through a `scontrol ... State=RESUME` command, at which point the fleet returned to full health. With our feedback, AWS promptly fixed this circular dependency, and a follow-up test on a single H100 node succeeded without intervention. Better.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our EKS Karpenter cluster&amp;#8217;s health checks were even more self-defeating. The `dcgm-server` DaemonSet did not tolerate the `&lt;/span&gt;&lt;a href="http://nvidia.com/gpu:NoSchedule"&gt;&lt;span&gt;nvidia.com/gpu:NoSchedule&lt;/span&gt;&lt;/a&gt;&lt;span&gt;` taint, so it did not attach to the worker node, causing the monitoring agent to report `error connecting to nv-hostengine` and flip `AcceleratedHardwareReady=False` with `Reason=DCGMError`. Karpenter then marked the `NodeClaim` for termination, the replacement node was marked unhealthy for the same reason, and the system spun in circles until we manually modified the DaemonSet to tolerate the GPU taint. The health check had another allergic reaction when it noticed the IMEX daemon did not schedule. IMEX configures the NVLink fabric across nodes, but we had ordinary B200 nodes speaking via EFA, so there was nothing for IMEX to do: this daemon&amp;#8217;s failure to land &lt;/span&gt;should have been harmless. Instead, the monitoring log emitted the schizophrenic message&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;ignoring IMEX health code on non-NVLink multi-node system, code=122&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;sending condition to exporter,&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;Reason=NvidiaFabricError,&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;Severity=Fatal&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;br /&gt;This would again have recycled a healthy node if we did not manually pin &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;NodeRepair=false&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to keep overzealous garbage collection from blocking our work. Finally, as our testing came to a close, Karpenter tore down our B200 cluster 39 minutes before the &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;EndDate&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, force-evicting a 4-node MPIJob in progress. We have gone into such detail here because these bugs are almost unbelievably elementary for the world&amp;#8217;s largest cloud. Perhaps the single painfree part of the AWS lifecycle was Karpenter scale-up and scale-down, which completed in minutes with no errors. However, GPU capacity must be secured in large blocks and far in advance, so snappy autoscaling with Karpenter is a meaningless feature.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Despite the many problems with their product, AWS&amp;#8217;s specialists and engineers were intelligent and responsive in our interactions with them. They were eager to show what they had improved, sought out feedback on documentation, circled back to rectify errors in testing, and even built a nice, forward-looking &lt;/span&gt;&lt;a href="https://awslabs.github.io/mcp/servers/sagemaker-ai-mcp-server"&gt;&lt;span&gt;MCP server&lt;/span&gt;&lt;/a&gt;&lt;span&gt; whose skills we plundered for our own codebase. AWS&amp;#8217;s issues lie in its organizational structure. The number of basic issues that have slipped through the cracks is astonishing in an organization with AWS&amp;#8217;s resources.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In February, AWS &lt;/span&gt;&lt;a href="https://press.aboutamazon.com/2026/2/openai-and-amazon-announce-strategic-partnership"&gt;&lt;span&gt;announced the expansion of its deal with OpenAI by $100B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; in 2Q26, it &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1018724/000101872426000024/amzn-20260630xex991.htm"&gt;&lt;span&gt;posted 37% growth in net sales YoY&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1018724/000101872426000024/amzn-20260630xex991.htm"&gt;&lt;span&gt;its Trainium business has hit $25B in ARR with triple-digit YoY growth&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1018724/000101872426000024/amzn-20260630xex991.htm"&gt;&lt;span&gt;its Anthropic investment is appreciating to the tune of tens of billions per year&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; Bedrock &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/anthropic-growth-and-bedrock-mix"&gt;&lt;span&gt;continues to make bed-rocking margins on bed-rocking income&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Managed clusters are not AWS&amp;#8217;s priority.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Gcore&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Gcore is a Luxembourg-ish neocloud building out in ambiguous region called &amp;#171; Europe, &amp;#187; where it relies on other providers for capacity. They have made no flashy announcements recently, though they are adding Blackwell to their Hopper fleet. In ClusterMAX 2.0, we gave Gcore a Silver rating after testing their Kubernetes and SonK offering via Soperator. This time round, we only tried the SonK again.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our insight into Gcore&amp;#8217;s capabilities was limited by their lack of capacity: most providers granted us at least 4 B300 nodes for at least a week, but Gcore was so constrained that they could only part ways with 3 H200s. Nevertheless, there was plenty to keep us on our toes on this cluster.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!HibB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cb65a8-b84d-4b13-99cb-24afea4c0cce_2024x286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="286" src="https://substackcdn.com/image/fetch/$s_!HibB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cb65a8-b84d-4b13-99cb-24afea4c0cce_2024x286.png" width="2024" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our testing on the Soperator layer required several rounds of back-and-forth with the Gcore team to fix some rough edges, but the team consistently proved helpful. When the majority of our first sweep failed due to a misconfiguration that prevented non-root users from running their workloads, the team responded promptly, confirming `kernel.apparmor_restrict_unprivileged_userns=0` would get us unblocked. Gcore&amp;#8217;s team was again responsive in correcting another poor default when each Slurm worker reported `RealMemory=2048 MiB`, apparently having erroneously inherited CPU configurations. This kept us from even running `nvidia-smi`, and we were glad to see it quickly repaired.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!DxFL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ede5496-e7a8-469c-96f7-97530bc48a7e_2048x126.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="126" src="https://substackcdn.com/image/fetch/$s_!DxFL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ede5496-e7a8-469c-96f7-97530bc48a7e_2048x126.png" width="2048" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Debugging was made slightly more challenging on the Soperator layer because inter-node SSH was disabled by default, but the team pointed us to a `soperator-createuser` convenience script to make life easier. The team also troubleshot an error with their dashboard as we tested.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YrbA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe89460-79f5-4eeb-bd38-db18f40971f6_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1214" src="https://substackcdn.com/image/fetch/$s_!YrbA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe89460-79f5-4eeb-bd38-db18f40971f6_2048x1214.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the Kubernetes layer, there was no default StorageClass, so users had to select NFS explicitly. The storage on the Slurm layer was properly configured, with the easy-to-use Soperator default of NFS at `/`, providing the illusion of a single shared volume wired to all the nodes. This storage performed well across workloads. The N/S network was fine, and the E/W network ultimately performed up to spec, but the RDMA devices had non-standard names and no `topology.conf`, so configuration took extra steps.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The XID that we injected was quickly caught and displayed in Grafana; interestingly, the node went `Down` on the Slurm layer, but on the Kubernetes layer nothing changed, even though it was injected via K8s. We could not test autoremediation because Gcore had no spare capacity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Md-Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a763f9-8c8b-44cd-8b93-ce1bda77006b_2048x1149.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1149" src="https://substackcdn.com/image/fetch/$s_!Md-Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a763f9-8c8b-44cd-8b93-ce1bda77006b_2048x1149.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We were impressed by Gcore&amp;#8217;s attentiveness and their Soperator offering that, after some massaging, did the basics right. We look forward to testing Gcore&amp;#8217;s B300/GB300 management, including its handling of XDR ConnectX-8 NICs, and seeing the improvements of their Soperator and Kubernetes products.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GMO&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;GMO&amp;#8217;s managed Slurm cluster delivered strong networking and storage performance on two B300 nodes. Its main gaps were restricted profiling, limited enterprise controls, and a lack of autoremediation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Slurm arrived with a configured head node, partitions, and topology.conf. Drivers and CUDA/NCCL/HPC-X modules were current and consistent across nodes, and Pyxis was available. Onboarding was straightforward, though the Japanese-only console required some manual ctrl+c, ctrl+v translation for us to understand.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M6Z-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf12c9e5-7529-4849-897c-d4198170d523_1226x667.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="667" src="https://substackcdn.com/image/fetch/$s_!M6Z-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf12c9e5-7529-4849-897c-d4198170d523_1226x667.png" width="1226" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: PoV you are a SemiAnalysis intern who dropped Japanese after two classes trying to locate a Grafana dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Grafana access took us five days of troubleshooting. We initially missed the macOS login-keychain instruction, then entered the certificate password where the system password was required. GMO investigated and repeatedly followed up. The final mistake was ours, but clearer certificate instructions would have saved time. Or, no unnecessary custom certificates to access the website. Japanese security theater strikes again.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ne4g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea0e60-f11b-4708-ae48-23cf601addd6_1111x913.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="913" src="https://substackcdn.com/image/fetch/$s_!Ne4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea0e60-f11b-4708-ae48-23cf601addd6_1111x913.png" width="1111" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Attempting to access our Grafana dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The sixteen 400 Gb/s rails per node delivered strong NCCL results, though two nodes provide less scaling evidence than our usual four-node minimum. MPI launches needed explicit NCCL_IB_HCA settings, which GMO said it already supplied in nccl.conf, but which didn&amp;#8217;t work for us initially. Burn-in showed no network errors, retries, or ECC errors, with normal temperatures and power.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Shared home/data/work directories worked out of the box. FIO sequential reads and writes, random reads, and torch.save were solid, built on a well-tuned DDN Lustre filesystem. However, our contrived tests such as `import torch` and vLLM Serve from shared storage performed poorly; GMO offered to investigate but we chalked it up to classic Lustre metadata performance tuning issues and moved on. Like many other Lustre implementations, the GMO storage offering lacked snapshots, automated backups, and disaster recovery options.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cluster also lacked `sudo`, Docker on the workers, and required the use of &lt;/span&gt;&lt;strong&gt;&lt;span&gt;snodes&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, a convenience script that they built to show metadata about the cluster, since they prevent users from running any &lt;/span&gt;&lt;strong&gt;&lt;span&gt;scontrol&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; commands on their own cluster. Security theater once again.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a final step, SSH to worker nodes on the cluster was also blocked. And inside Slurm jobs, `RmProfilingAdminOnly=1` blocked Nsight Compute&amp;#8217;s GPU counters, and perf was not usable for our profiling needs. We believe that managed clusters should allow users to profile their own workloads if they choose to go for the yolo-mode option. We wanted it, but GMO could not provide.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, Grafana exposed useful DCGM metrics but lacked XID detection, estimated TFLOPS, SM Active, and SM Occupied views that we enjoy for performance and reliability monitoring. The Slurm job summary view was also pretty basic. Our synthetic XID 79 log injection produced no observed alert or node drain. GMO said it runs dcgmi health in the Slurm prolog, confirmed XID 79 was not whitelisted, and agreed to investigate for future. We finished our testing by determining that GMO lacked any autoremediation system in place, or at least we couldn&amp;#8217;t verify it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lLSi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd9aa99-91e9-423f-8096-cf04312f20c9_1312x888.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="888" src="https://substackcdn.com/image/fetch/$s_!lLSi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd9aa99-91e9-423f-8096-cf04312f20c9_1312x888.png" width="1312" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Our Grafana Dashboard on GMO!&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, GMO&amp;#8217;s lacking Kubernetes and enterprise features such as RBAC, SSO, and customer-accessible audit logs put it in the camp of niche, local player serving the Japanese market effectively. Our support experience with their team was helpful, but followed standard Japanese business hours. Going forward, we expect GMO to continue to be a leader in Japan, but lack the ambition required to expand their business beyond their local geography.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Verda&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Helsinki-based Verda (formerly DataCrunch) &lt;/span&gt;&lt;a href="https://verda.com/blog/100m-revenue-run-rate"&gt;&lt;span&gt;disclosed $100M ARR and $200M total funding this June&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. They maintain a close relationship with Nvidia and continue to aggressively pursue financing. On the technical side, they have implemented a number of features since we tested them in November, and we are optimistic about their engineering team and roadmap.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Last round of testing, Verda&amp;#8217;s Slurm was officially in beta, and they did not offer Kubernetes. This time, they offer a managed Kubernetes and have moved their Slurm offering to Slurm-on-Kubernetes to simplify deployment. We tested their cluster on both the Slurm and K8s layers; it had its fair share of rough edges, but represents significant progress and a strong starting point for continued development. We also found that security was solid.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5lYj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eba537c-4823-4331-9aca-a3f6d9937dd0_2048x1180.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1180" src="https://substackcdn.com/image/fetch/$s_!5lYj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eba537c-4823-4331-9aca-a3f6d9937dd0_2048x1180.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The purchase and onboarding process was smooth, and the cluster provisioned without hiccups in 30m. The Grafana dashboard worked out of the box, and we SSHed onto the cluster without incident.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MCOI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56ff15e-9317-41f5-ac49-5bc36feb1a2c_1318x1213.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1213" src="https://substackcdn.com/image/fetch/$s_!MCOI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa56ff15e-9317-41f5-ac49-5bc36feb1a2c_1318x1213.png" width="1318" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tRNF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45655420-db56-4293-a8d0-80a50c59c73a_2048x1177.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1177" src="https://substackcdn.com/image/fetch/$s_!tRNF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45655420-db56-4293-a8d0-80a50c59c73a_2048x1177.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Once we got on the cluster, though, there were some bumps in the road. Our Slurm testing began with an interesting footgun: when we SSHed in, we assumed we were on the Slinky layer, but we actually had landed on the outer VM with wrappers that ran `salloc`, `sinfo`, and similar commands via `kubectl exec` into the `LoginSet`. The behavior was unusual&amp;#8212;all Slurm commands escalated us to `root`, for example, and our Python environment disappeared&amp;#8212;and it took an evening of debugging before we puzzled out that our Slurm access was illusory and a different SSH command would be required to access the Slinky layer properly.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!gYJg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22583e07-2129-4410-bcfc-c0dcf855b317_1500x139.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="139" src="https://substackcdn.com/image/fetch/$s_!gYJg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22583e07-2129-4410-bcfc-c0dcf855b317_1500x139.png" width="1500" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Verda&amp;#8217;s engineers were responsive, quickly hopping on a support call in which they reasonably explained the rationale behind these convenience functions and pointed us to the supported path. Although this particular feature caused us a headache, it&amp;#8217;s bullish when engineers have gone out of their way to try to make their cluster easier to use.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Slinky layer proved serviceable but imperfect. Verda ran a NCCL-test prolog that exceeded Slurm&amp;#8217;s 10-second `MessageTimeout`, causing a worrisome though harmless `Prolog hung` alert every allocation. More significantly, Verda did not support Pyxis or Enroot, so we had to stand up our environment via a massive `.sif` file. Once our workaround was finished, we completed an 8-hour burn-in without incident and measured satisfactory numbers on our microbenchmarks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!b0YF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d03267-f400-43ca-88a6-32280b0f55e7_1716x227.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="227" src="https://substackcdn.com/image/fetch/$s_!b0YF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d03267-f400-43ca-88a6-32280b0f55e7_1716x227.png" width="1716" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meanwhile, the Kubernetes layer could only be steered through the bastion, offering no way to download a `kubeconfig` through the console. This is a relatively simple fix to align Verda&amp;#8217;s offering with users&amp;#8217; standard workflows.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The biggest shortcomings that surfaced during our performance sweep were of the shared filesystem. Gross throughput numbers were excellent, but cross-node file locks seemed simply not to be enforced. We found 100/100 exclusive-lock violations for both `flock()` and `fcntl()` across nodes, while same-node controls refused every attempt. This strongly suggests the issue is with `virtiofs` failing to publicize locking behavior. We also saw corrupted data when downloading with multiple clients from Hugging Face and `ENOENT` failures on Elbencho with 32 clients. This is more low-hanging fruit, and crucial given the fundamental importance of a reliable shared filesystem when running Slinky.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Lastly, Verda&amp;#8217;s health checks programs are not yet fully configured. They are literal &amp;#8220;health checks&amp;#8221; in the sense that they evaluate whether a node is healthy, but there is nothing to consume their output&amp;#8212;they exit `1`&amp;#8212;&amp;#8220;yup, this one&amp;#8217;s dead&amp;#8221;&amp;#8212;and move on. A user must therefore bring their own reliability suite if they don&amp;#8217;t want bad nodes silently killing their workflows. There is of course also no autoremediation provided by Verda.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Verda consistently communicated promptly and clearly and seemed to have engineers with the liberty and motivation to improve their product. On September 10, after our testing completed, they &lt;/span&gt;&lt;a href="https://verda.com/blog/instant-clusters-h1-2026#gpu-cluster-health-checks"&gt;&lt;span&gt;pushed a number of changes to Instant Clusters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that appear meaningful. We look forward to seeing them continue to sand the edges of their Slinky and Kubernetes offerings, tune their storage system, and implement robust health checks and autoremediation.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Moonlite&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.moonlite.ai/"&gt;&lt;span&gt;Moonlite&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a neocloud headquartered in Chicago, is a new inclusion as of ClusterMAX 3.0. With an ex-Crusoe founding team, Moonlite currently operates a Hopper fleet and has recently handed over its first B300s and GB300s, which it will be continuing to ramp up in the coming months. According to LinkedIn, Moonlite has the fewest employees of any company we worked with this round and oriented around engineering.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested Moonlite&amp;#8217;s Kubernetes and Slinky. The handover process was smooth, with a nice onboarding document defining validated recipes and a Kubeconfig that gave us everything we needed. By default, everyone shared the same root user on Slinky; when we asked for non-root users, Moonlite made a `moonlite-adduser` convenience script in half an hour and baked it into the login-pod image same-day. This shows Moonlite&amp;#8217;s responsiveness to feedback, but also their greenness. We loved their response. We would rather have a battle-tested system, ideally through the console, to handle basics like this.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the hardware side, everything we tested worked well out of the box. NCCL tests hit ConnectX-7 specs, NFS was good, compute benchmarks were solid, and burn-in completed without a problem. However, it bears repeating that we were testing H100s, which by now are quite familiar to the industry and are therefore easier to get right than the GB300 NVL72s we had with other providers. Nonetheless, we were happy with our Hopper perf.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One component of the system that we could not test was the NVMe, which existed but could not be accessed. Nothing exposes it: no local-path `StorageClass`, `hostPath` unavailable, and Slurm workers are Slinky pods with only VAST `/home`. On the Kubernetes layer, there was no default `StorageClass` at all, and unqualified PVCs hung `Pending`.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested Moonlite&amp;#8217;s health and monitoring system via a PCIe secondary bus reset, and Moonlite alerted us in 11 minutes. With our permission, they cordoned the node, ran diags, and returned it to our fleet after 57 minutes total, including a few minutes where they waited for our instruction on how to proceed. In practice, with actual customers, they define policies ahead of time so that their team can follow a runbook depending on the particular error. Moonlite&amp;#8217;s typical SLA is to respond within 15 minutes as their team receives alerts in Slack and PagerDuty. We hear from their customers that so far that this is exactly what they do.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our view, any autoremediation process that brings us back to a full fleet within an hour is good enough. But while manual processes are fine, at scale, we want to see this automated. We would also prefer greater visibility on the cluster in the event of an error. The only change visible to the user was that the node, while remaining `Ready` on the Kubernetes layer, advertised 7 GPUs instead of 8 in the time between the reset and Moonlite&amp;#8217;s manual intervention.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Slinky layer lacked any container runtime on the workers but otherwise got the job done, and had most of what we ask for on the login pod. Moonlite&amp;#8217;s Grafana was fine, but it lacked detail at the scheduling layer, and does not display the most crucial information, which is error status.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;What Moonlite attempted to do, it did well. We look forward to testing them again as their products mature and they get some GB300 calluses on their hands.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Together&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In ClusterMAX 2.0, we wrote the following about Together:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;Together is a strong provider with a robust cluster offering for both Slurm and kubernetes, but it is held back from the gold category due to reliability issues.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;This round, Together&amp;#8217;s issues&amp;#8212;generally but not exclusively having to do with reliability&amp;#8212;are cause for downgrading it to Bronze.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two nodes of ours failed during a compute test; one came back, but the other was sent to RMA without notice, so we were left wondering where it went. Later in testing, Together&amp;#8217;s Slurm `HealthCheckProgram` tried to run `dcgmi diag -r 1` under a 45s timeout on nodes that were already scheduled; the diag did not land, the timeout was misread as a failure, and the nodes were drained mid-run. Together quickly fixed this with our feedback. Separately, one of our nodes could not access VAST because its storage NICs were in `operstate=down`, which Together explained was due to a race condition in NIC initialization in their new lightweight VM stack. There was nothing to catch this error, and manual intervention was required to reprovision a healthy node and bring our test fleet back up to 4. While we like the sound of &amp;#8220;reduced cluster provisioning time,&amp;#8221; we obviously don&amp;#8217;t like to see it affecting reliability.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!19To!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d454aea-e52e-44f2-8250-0c8b0ad86720_2048x874.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!19To!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d454aea-e52e-44f2-8250-0c8b0ad86720_2048x874.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Together&amp;#8217;s health checks did work correctly in some instances, showing progress since &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. When we triggered a PCIe secondary-bus reset on the Slurm cluster, the node was drained in 67s, and an automatic node replacement completed in 35m7s without manual intervention. A synthetic error also cordoned a node on the Kubernetes layer and correctly did not trigger autoremediation because we had `Auto Repair` turned off.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Together Kubernetes and Slinky layers were both functional, though with a handful of challenges. Interestingly, Together advises to avoid using the Kubernetes layer of the Slinky cluster: to convert Slinky nodes to K8s, we were instructed to tear them down and reprovision as vanilla Kubernetes. The Slinky offering should therefore be evaluated as plain Slurm. Summarizing its pain points as briefly as possible: OCI image extraction failed because of default settings on `/tmp`, so we had to redirect extraction to `/scratch`; when this happened, Slurm exited `0` anyway; NFS rejected any filename containing `:`; tenants did not have permission to read `dmesg`, which prevents checking for XID events; and non-login worker shells have neither `nvcc` nor `mpirun` on `PATH`, so ordinary batch scripts behave differently from interactive setups and lack the tooling that they need. None of these is fatal, but adding them up, along with other more minor errors, meant a few dev days before we were able to run our stuff unimpeded. Strangely, Together&amp;#8217;s public internet delivered strong throughput to most services, but its connections to Canonical&amp;#8217;s Ubuntu archive origins repeatedly failed to establish, stalled after connecting, or transferred below 20 kB/s. This again left us stranded as we tried to get our cluster set up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A public IP check confirmed that this flaky B300 cluster had org `AS53735 IREN`. This N+0 Prince George datacenter is one of two datacenters in the industry notorious for unreliability, along with Crusoe&amp;#8217;s cursed Reykjavik site. We strongly suspect that one or both of these datacenters was not &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2093805994493034883"&gt;&lt;span&gt;inaugurated with a Land Acknowledgement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We know of multiple exceptionally unhappy customers of Together struggling with link flaps, power issues, cluster access being shutoff, random upgrades that aren&amp;#8217;t approved by the users going wrong and not being rolled back, and weekend-long outages that eventually get blamed on a single ISP (yes, a single ISP at this site&amp;#8212;no redundancy in Northern Canada). Maybe their other sites are better but the TogetherAI site at IREN Prince George is completely bad.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;After playing the blame game for some time, it is clear that reliability issues cannot be blamed entirely on underlying providers. Unforced errors from customer support engineers have created a lack of trust between customer and provider.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, managed clusters are not Together&amp;#8217;s bread and butter, nor are they its primary source of revenue. When, in July, they &lt;/span&gt;&lt;a href="https://www.together.ai/blog/announcing-our-series-c"&gt;&lt;span&gt;announced an $800M Series C&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the post made passing reference (at best) to their managed clusters business, emphasizing, on the contrary, that &amp;#8220;Together AI is a research-driven company.&amp;#8221; The offtakers of their &lt;/span&gt;&lt;a href="https://finance.yahoo.com/technology/ai/articles/together-ai-humain-form-strategic-120000648.html"&gt;&lt;span&gt;250MW in Saudi&lt;/span&gt;&lt;/a&gt;&lt;span&gt; are as yet undisclosed, but we are aware that Together would prefer to get paid per token, not per GPU-hour. Despite this, we hope that Together manages to Get It Together, and address its cluster reliability issues to make its Slurm and Kubernetes products something to be proud of.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Crusoe&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The Crusoe section of ClusterMAX 2.0 ended on a cautious note:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;Crusoe is at risk of being downgraded to ClusterMAX Silver due to many of their top individual contributor engineers quitting, leaving the culture in their cloud division beginning to resemble big tech. There are too many middle managers across the organization, especially in engineering. This has caused incredibly slow moving releases, such as their AutoClusters feature, leaving us with concerns about the future of Crusoe&amp;#8217;s public cloud offerings. Chase needs to do a rapid course correction if he doesn&amp;#8217;t want to lose all of his 10x engineers and eventually lose their Neocloud business with it.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;In the eight months and change since we published that paragraph, Crusoe has had its fair share of wins. Its valuation has grown from around &lt;/span&gt;&lt;a href="https://www.globenewswire.com/news-release/2025/10/24/3172932/0/en/Crusoe-the-AI-Factory-Company-Raising-1-375-Billion-at-a-Valuation-Above-10-Billion-to-Power-the-Future-of-AI-Infrastructure.html"&gt;&lt;span&gt;$10B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/newsroom/crusoe-announces-series-f-funding"&gt;&lt;span&gt;$30.9B&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, it has announced &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/newsroom/crusoe-announces-new-900-mw-ai-factory-campus-in-abilene-texas-to-support-microsoft-ai-infrastructure"&gt;&lt;span&gt;900MW&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/newsroom/crusoe-and-lancium-announce-1-gigawatt-ai-data-center-campus-in-childress-texas"&gt;&lt;span&gt;1.0GW&lt;/span&gt;&lt;/a&gt;&lt;span&gt; campuses in Texas and &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;many more elsewhere&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and it remains an innovator in the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;&lt;span&gt;wild wild west of datacenter construction&lt;/span&gt;&lt;/a&gt;. They have the largest real pipeline of any datacenter builder.&lt;/p&gt;&lt;p&gt;Its inference endpoints business is also extremely highly regarded, following the acquisition of some cracked Israeli engineers from Atero. They have also landed awesome deals with firms like Jane Street.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Plenty to keep their hands full and business churning, some clusters are amazing, but others from them are terrible.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Yet this round of ClusterMAX testing finds that Crusoe&amp;#8217;s neocloud business has not course-corrected rapidly enough. The problems go back to the fundamentals: reliability and hygiene.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We emphasize health checks in our &lt;/span&gt;&lt;a href="https://www.clustermax.ai/expectations"&gt;&lt;span&gt;expectations&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and our write-ups, but genuine hardware failures are rare in testing because our ClusterMAX allocations are too small and short-lived. Crusoe bucks this trend. On an H100 cluster we had in May to test AutoClusters, we saw an impressive barrage of &lt;/span&gt;&lt;a href="https://docs.nvidia.com/deploy/xid-errors/analyzing-xid-catalog.html"&gt;&lt;span&gt;XID&lt;/span&gt;&lt;/a&gt;&lt;span&gt;s&amp;#8212;more real errors on one cluster over five days than we saw in the rest of testing combined.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!j3M8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa329b23f-21d8-4161-8d1d-f6773c4f7648_710x708.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="708" src="https://substackcdn.com/image/fetch/$s_!j3M8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa329b23f-21d8-4161-8d1d-f6773c4f7648_710x708.png" width="710" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In a pattern that would repeat throughout testing, exceptionally poor performance in some areas was paired with mature services in others: this storm of XIDs was accompanied by convenient emails, attractively styled, politely notifying us of the errors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sbUf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb352f0-7454-46a2-a664-06b4b3475be4_1906x717.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="717" src="https://substackcdn.com/image/fetch/$s_!sbUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb352f0-7454-46a2-a664-06b4b3475be4_1906x717.png" width="1906" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In addition to being responsible for the majority of this round&amp;#8217;s hardware failures, Crusoe bears the distinction of having had the oldest Linux kernel and the oldest GPU drivers we tested. Crusoe has since rectified these shortcomings, but at the time of testing there were several software versions that were well below our minimum expectations: the aforementioned NVIDIA drivers failed our `&lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax audit security`&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, along with Docker, ConnectX firmware, and `runc`. These issues speak to a lax security posture and poor engineering hygiene.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ADwB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43394dd5-0859-4fda-995d-ebce78b6608d_2048x770.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="770" src="https://substackcdn.com/image/fetch/$s_!ADwB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43394dd5-0859-4fda-995d-ebce78b6608d_2048x770.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Nor are these software-version criticisms merely academic. The Linux kernel that our B300 cluster ran, `5.15.0-185-generic`, was earlier than a Linux patch series called &amp;#8220;&lt;/span&gt;&lt;a href="https://github.com/torvalds/linux/commit/9426414f0d42f824892ecd4dccfebf8987084a41"&gt;&lt;span&gt;writeback: Avoid lockups when switching inodes&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&amp;#8221; The particular problem that our kernel experienced is well explained by the description of commit `&lt;/span&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1b849cfa6b61f1c866a908c9e8dd9b5aaab820b"&gt;&lt;span&gt;e1b849c&lt;/span&gt;&lt;/a&gt;&lt;span&gt;`, which fixed it for upstream kernels:&lt;br /&gt;```&lt;br /&gt;There can be multiple inode switch works that are trying to switch inodes to / from the same wb. This can happen in particular if some cgroup exits which owns many (thousands) inodes and we need to switch them all. In this case several inode_switch_wbs_work_fn() instances will be just spinning on the same wb-&amp;gt;list_lock while only one of them makes forward progress. This wastes CPU cycles and quickly leads to softlockup reports and unusable system.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;```&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When might a `cgroup` that owns thousands of `inode`s exit? One answer: when a Slurm job is torn down. In our case, as an ordinary workload wrapped up, every CPU on the NUMA node ended up stuck contending for the same `list_lock`, making the processor unusable. The local NFS client, which happened to be on the frozen NUMA node, couldn&amp;#8217;t get CPU time, and a liveness probe for that client timed out and reported the node unhealthy. Kubelet tried to control the damage with a `SIGTERM` and a `StopContainer` operation, but the kernel was taking its sweet time doing the laundry&amp;#8212;reassigning dirty `inodes`&amp;#8212;and took over two hours before it could honor the termination requests. The final result was another `NotReady` email from Crusoe&amp;#8212;this one, uniquely, downstream of an old CPU kernel.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FtAg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02cee8f4-3296-49c3-978f-5731e80353c2_600x1166.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1166" src="https://substackcdn.com/image/fetch/$s_!FtAg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02cee8f4-3296-49c3-978f-5731e80353c2_600x1166.png" width="600" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;By the end of our testing, this kernel was not merely old and unperformant: it was officially marked a security vulnerability by &lt;/span&gt;&lt;a href="https://ubuntu.com/security/CVE-2026-64378"&gt;&lt;span&gt;CVE-2026-64378&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which exploited the buggy writeback behavior, published on July 25 with severity 7.8; &lt;/span&gt;&lt;a href="https://ubuntu.com/security/CVE-2026-64531"&gt;&lt;span&gt;a separate 7.8 for this kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; was posted on July 27. Thus, we added the Linux kernel to our collection of Crusoe software exposed to CVEs. Crusoe has informed us that they will be upgrading to a 6-major Linux kernel, a necessary patch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ppy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39e3841-11dc-4862-a7a8-6352c494c1d0_2048x1470.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1470" src="https://substackcdn.com/image/fetch/$s_!Ppy0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39e3841-11dc-4862-a7a8-6352c494c1d0_2048x1470.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: A Crusoe job posting on August 13, 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When we ran our XID injection on Crusoe&amp;#8217;s Kubernetes layer, the error was quickly detected and a `Node Replacement` workflow was triggered, but the node could not be put in `drain` due to a mismatch in Slurm naming convention that slipped through Crusoe&amp;#8217;s CI. The health monitoring system spun its wheels, repeatedly catching the error and trying but failing to mark the node unhealthy. Crusoe&amp;#8217;s engineering team diagnosed the error impressively quickly, rolling out a replacement within hours. However, our replacement node had faulty storage NICs, immediately bringing it into `drain`. This issue persisted after the node&amp;#8217;s VM was manually reset. Crusoe&amp;#8217;s engineering team has informed us that the failure of AutoClusters to remediate in this latter event was &amp;#8220;a known gap,&amp;#8221; and that they will be &amp;#8220;rolling out auto-remediation actions for this in a few weeks.&amp;#8221; This is a surprisingly lethargic response to a basic failure of reliability.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Vx1X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e75c1-c96e-4877-8263-21d9a60bda07_2030x810.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="810" src="https://substackcdn.com/image/fetch/$s_!Vx1X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e75c1-c96e-4877-8263-21d9a60bda07_2030x810.png" width="2030" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Last and briefly, it bears mentioning that this cluster&amp;#8217;s WAN was among the slowest we tested, clocking in between 0.47 Gbps and 0.78 Gbps depending on the context. Iceland has some skinny cables getting off the island.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;All these problems add up to a cluster notorious for its flakiness, as confirmed by our friends at frontier labs who complain about both the number of failures and the apparent lack of interest from Crusoe engineers to fix the issues promptly. To be clear, we at one point viewed Crusoe as the #2 neocloud in the world, and as a result the #2 place in the world to rent GPUs. We made recommendations to this effect. Oh, how the mighty have fallen.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But while Crusoe&amp;#8217;s machine images are badly due for a refresh, and their engineers can&amp;#8217;t get Claude Tags or Codex approved, they do have automations like this set up in their internal Slack:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Mp20!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ebfbf-f058-4e7f-b3c8-3b99064127c2_2031x141.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="141" src="https://substackcdn.com/image/fetch/$s_!Mp20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ebfbf-f058-4e7f-b3c8-3b99064127c2_2031x141.png" width="2031" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Does a CVE from November of 2025 count as &amp;#8220;historical baggage&amp;#8221;?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In all seriousness, this is a problem of priorities, a problem of bureaucracy run amok. We are not sure what to make of job postings like the above one for a senior Linux kernel engineer. Literally, we&amp;#8217;re just asking everyone to keep things up to date. You don&amp;#8217;t need to hire Linus to understand why this makes sense. So while it&amp;#8217;s cool to see Crusoe flexing its muscles and paying top dollar for a good person, it&amp;#8217;s not a lack of people or funding or technical skill that has brought Crusoe here in the first place. Our complaints focus on the most basic issues possible, not the &lt;/span&gt;&lt;a href="https://www.crusoe.ai/resources/blog/slurm-on-crusoe-managed-kubernetes-how-we-built-managed-gpu-training-infrastructure"&gt;&lt;span&gt;Slinky configuration &lt;/span&gt;&lt;/a&gt;&lt;span&gt;or &lt;/span&gt;&lt;a href="https://www.crusoe.ai/cloud"&gt;&lt;span&gt;console&lt;/span&gt;&lt;/a&gt;&lt;span&gt; or &lt;/span&gt;&lt;a href="https://docs.crusoecloud.com/installing-the-cli/"&gt;&lt;span&gt;CLI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that no doubt take up much more engineering time and that we enjoy using.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We enjoy working with Crusoe&amp;#8217;s engineering team and believe they have plenty of talent to improve their standing. Frankly, in the last few months, things seem to be getting back on track. Engineers are locked in, pushing code, and excited about upcoming releases. The Atero acquisition has been worth its weight in gold, skyrocketing Crusoe to the top of many buyer&amp;#8217;s lists when it comes to inference endpoint quality. We love to see it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Still, in the managed clusters business, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-much-do-gpu-clusters-really-cost"&gt;&lt;span&gt;TCO comes down to goodput, and goodput comes down to reliability&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and Crusoe&amp;#8217;s clusters are exceptionally unreliable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Crusoe comes in towards the bottom of our Bronze category for this round.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Prime Intellect&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Prime Intellect &lt;/span&gt;&lt;a href="https://www.primeintellect.ai/blog/series-a"&gt;&lt;span&gt;closed a $130M Series A this July&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at a &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/07/08/prime-intellect-raises-130m-series-a-to-help-enterprises-build-their-own-ai-agents/"&gt;&lt;span&gt;$1B valuation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, disclosing $100M of &amp;#8220;annualized revenue run rate across compute, RL and post-training, sandboxes, inference, environments, and evaluations.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested Slurm and Kubernetes B300 clusters and mostly enjoyed both of Prime Intellect&amp;#8217;s orchestration layers, although each was missing a handful of packages we would&amp;#8217;ve liked to have. The huge Slurm control plane was nice and snappy, having machines with 2TB of RAM for some reason. Plenty of swap space to run &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;salloc&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;After a quick fix to standardize the NCCL bootstrap interface, our networking tests ran up to 13 nodes on the ConnectX-8 NICs with excellent throughput. Storage was no issue, with Weka &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;/data&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; volume performing very well at 4 nodes and scaling steadily beyond. PrimeIntellect&amp;#8217;s managed Grafana was one of the nicer ones we encountered. However, we were on a cluster that was still going through burn-in, so we saw a steady stream of errors. An easy way to test the monitoring and health checks on the system!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mNM9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F474ff935-9589-410b-a578-22f98d257375_2048x1154.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1154" src="https://substackcdn.com/image/fetch/$s_!mNM9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F474ff935-9589-410b-a578-22f98d257375_2048x1154.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;First, a node on our Kubernetes cluster was marked &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;NotReady&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, apparently due to on-site techs monkeying with adjacent servers; it returned within 5 minutes. Then, during a PyTorch networking test, a different Kubernetes node stopped posting kubelet status and the distributed job could not complete; the node came back after a reboot and the job completed. The next day, 2 Slurm nodes went down, one with NVLink issues and the other stuck after a reboot. Both returned promptly after intervention, but the latter was soon back to its shenanigans with another surprise reboot, causing a storage test to fail. An MPI test aborted in its last phase, and the corresponding Slurm job remained in &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;COMPLETING&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; as all workers remained unreachable in the brief period before we handed the cluster back.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;All of these reliability issues can be blamed on the fact that we got on this cluster in a small window while they were still doing burn-in for a paying customer. Fair enough. But the lack of compute at Prime&amp;#8217;s disposal that would allow them hold back hot spares &lt;span&gt;points to a bigger problem of growing capacity constraints. Prime is a reseller of other&amp;#8217;s compute, and depends on their underlying providers to guarantee customers with a high quality experience. This comes with challenges that high quality training/RL frameworks, dashboards, and maniacal Slack engagement from a cracked team of engineers can&amp;#8217;t always cover up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, Prime&amp;#8217;s health checks performed impressively throughout, quickly intervening and limiting the damage of each error. We thought the system&amp;#8217;s default responses were sensible and even liked the Slack alerts, which the team promptly followed up on. Given that Prime gets its capacity from a number of providers, the quality of their software layer is important for labs to feel comfortable with what they&amp;#8217;re getting. Of the marketplaces we&amp;#8217;ve tested, Prime seems to be the best.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_I5c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4736b265-c5f7-4f4a-b287-4dfddef97232_2048x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!_I5c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4736b265-c5f7-4f4a-b287-4dfddef97232_2048x842.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This leaves Prime Intellect with a straightforward assignment, and one that we cannot have direct insight into: improve reliability, build a base-load of compute capacity, and rise in the rankings as a true neocloud. We have no doubts about the team&amp;#8217;s technical ability; they have done a lot of hard things correctly on this cluster, and are the only provider on this list that injects real experience training models into their approach to software and support. For better or worse, their work elsewhere is much more impressive than the bread-and-butter managed compute offering evaluated here.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We got a preview of their hosted training product during this period and are very impressed. RL infrastructure is decidedly more complex than a simple managed Slurm or Kubernetes cluster, since its built on top of the same foundation but with three components that need to stay in sync:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Training&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Inference&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Sandboxes/environments&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Coming soon, we will be evaluating hosted training infrastructure providers and RLaaS companies for hire through a project provisionally called PostTrainingX. If we had to put out an initial cut at those rankings, Prime would be in the hunt for Platinum! Stay tuned.&lt;/p&gt;&lt;h3&gt;&lt;span&gt;DigitalOcean&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This marks the first round of testing that we have been able to get the full DigitalOcean developer experience. &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1582961/000158296126000045/a2026-q1dopressrelease.htm"&gt;&lt;span&gt;Marketing itself&lt;/span&gt;&lt;/a&gt;&lt;span&gt; as &amp;#8220;the first cloud built end-to-end for the inference and agentic era,&amp;#8221; DigitalOcean distinguishes itself from &amp;#8220;bare-metal focused neo-clouds and inference wrappers that lack cloud platforms.&amp;#8221; In fewer words: DigitalOcean sells, among other things, managed clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DigitalOcean&amp;#8217;s managed clusters are orchestrated by Kubernetes, which proved solid but slightly immature. Their onboarding doc asked us to install Multus ourselves, then create network attachments, install MPI Operator, and create the MPIJob manifest. There&amp;#8217;s no reason not to set this up for the customer in advance. Once configured, our cluster performed well, hitting all the standard benchmarks for compute and XDR networking, and completing burn-in without incident. The cluster also lacked a RWX StorageClass out of the box, adding another basic setup step that the better K8s providers handle for you. Once the storage was configured, its performance was interesting: sequential writes were approximately 6x faster than sequential reads at several different client counts, the inverse of what we see on most clusters. We expect that DigitalOcean&amp;#8217;s sequential read performance could be significantly improved with retuning.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When we went to test the health checks, our first XID injection went unnoticed: the monitoring system did not detect anything, and the node remained available for scheduling. When we alerted the DigitalOcean team, they responded promptly, found the bug in their system, and asked us to reperform the test later in the week. The second try went smoothly, and we had a fresh node 50 minutes after injection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When a neocloud is &amp;#8220;built end-to-end for [...] inference,&amp;#8221; that means it doesn&amp;#8217;t offer Slurm. The DigitalOcean team helpfully offered us a runbook to stand up Slinky, and it got the basics right, but would require significant work before it could be considered production-ready. No SSH access, nor, as mentioned previously, any RWX volume by default, which means that there is nowhere to keep a `/shared`. Anyone who plans to run Slurm on DigitalOcean should expect to stand up their orchestration themselves.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DigitalOcean &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1582961/000158296126000045/a2026-q1dopressrelease.htm"&gt;&lt;span&gt;will be adding 60 MW of capacity throughout 2027&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and, aside from its managed K8s, it has an interesting selection of GPU services like &lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1582961/000158296126000045/a2026-q1dopressrelease.htm"&gt;&lt;span&gt;Droplets&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.digitalocean.com/products/bare-metal-gpus"&gt;&lt;span&gt;bare-metal Hopper and MI300X&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that fall outside the scope of ClusterMAX testing. But no plans for GB&amp;#8217;s or VR&amp;#8217;s from what we can see at this point. We look forward to the team continuing to improve its managed Kubernetes service the next time we test.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hyperstack&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hyperstack, under parent NexGen Cloud, is a UK-based neocloud that &lt;/span&gt;&lt;a href="https://docs.hyperstack.cloud/llms.txt"&gt;&lt;span&gt;advertises Kubernetes clusters in the US, Canada, and Norway&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It recently &lt;/span&gt;&lt;a href="https://www.nexgencloud.com/news/nexgen-cloud-secures-45-million-in-series-a-funding-to-expand-sovereign-ai-infrastructure-in-europe"&gt;&lt;span&gt;raised $45M at a $354M valuation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with plans for many AI new products for &amp;#8220;full-cycle development.&amp;#8221; &lt;/span&gt;&lt;a href="https://www.nexgencloud.com/news/usd.ai-provides-34m-facility-to-finance-nexgen-clouds-gpu-deployment-in-sweden"&gt;&lt;span&gt;As it announced a $34M debt facility to build out a B200 fleet&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, it also disclosed plans to deploy 4,500 B300s later this year and for an additional 56 MW online in 2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The managed Kubernetes cluster that we tested marks significant progress since ClusterMAX 2.0, and a solid foundation for its continued growth. Compute and networking tests were up to spec, and burn-in sustained good numbers with no hard errors. Our Kubernetes node-reboot recovery was quick, and we had no trouble mounting and unmounting PersistentVolumes. The N/S network was fine, and storage was good enough, although we were not able to get Weka and VAST, which Hyperstack usually offers, on our timeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our synthetic XID was detected in under a second with a `NvidiaFatalXid=True` flag. The test was awkward as Hyperstack had no extra capacity, so we had to take a node out of our fleet to simulate a spare. The support team notified us that they had detected the error 12m after we injected it, and our spare rejoined the fleet after a total of 52m. Interestingly, at this point, the &amp;#8220;sick&amp;#8221; node was still not cordoned, which took until 1h30m to register on the Kubernetes layer. This was all driven by manual intervention by Hyperstack&amp;#8217;s SRE team after our synthetic error triggered Grafana alerts.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FjJi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7211d5c-b5ef-44b1-a9f5-e99495125b2a_961x486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="486" src="https://substackcdn.com/image/fetch/$s_!FjJi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7211d5c-b5ef-44b1-a9f5-e99495125b2a_961x486.png" width="961" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, this test was a success, and we appreciate Hyperstack&amp;#8217;s commitment to helping it go smoothly. However, as the team is aware, the amount of human support required makes us worry about its replicability. Hyperstack offers 24/7 support and targets intervention in under 60m in the event of single-node failure, but it&amp;#8217;s better not to have to count on another engineering team pushing the right buttons before your cluster gets back to full health.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The only outright error during our testing was that two pods, `cilium-envoy` and `csi-hyperstack-node`, crash-looped with `Too many open files`. This was a minor annoyance and did not affect our workflows.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to continuing to work with Hyperstack as they grow their team, gain experience managing larger clusters, and continue to automate and harden their infrastructure.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Participation Ribbon&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Vultr&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Vultr advertises itself as &amp;#8220;&lt;/span&gt;&lt;a href="https://www.businesswire.com/news/home/20260708517182/en/Vultr-and-SUSE-Launch-Validated-Full-Stack-NVIDIA-Enterprise-AI-Platform-to-Accelerate-Production-Deployments"&gt;&lt;span&gt;the world&amp;#8217;s largest privately-held cloud infrastructure company&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which they are not, and &amp;#8220;&lt;/span&gt;&lt;a href="https://www.hpe.com/us/en/newsroom/press-release/2026/06/vultr-selects-hpe-and-nvidia-for-next-generation-ai-infrastructure-for-cloud-scale-data-centers.html"&gt;&lt;span&gt;the world&amp;#8217;s largest privately held hyperscaler&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which they wouldn&amp;#8217;t be even if they were. Still, they are a relevant player in neocloud land, with modern GB300s and MI355X including a claimed &lt;/span&gt;&lt;a href="https://www.businesswire.com/news/home/20251202285088/en/Vultr-and-AMD-Expand-Collaboration-to-Drive-Global-AI-Innovation-and-Scale"&gt;&lt;span&gt;50 MW AMD site&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in Ohio. In &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/clustermax-20-the-industry-standard"&gt;&lt;span&gt;ClusterMAX 2.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Vultr&amp;#8217;s cluster was delivered with a handful of basic errors. Unfortunately, the pattern is the same almost a year later.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The images that Vultr built for our testing had many libraries with applicable CVEs, including CUDA, DCGM, Docker, runc, and ConnectX firmware. Our Slinky login pod did not mount `/shared` and lacked the Pyxis plugstack config, so we had to orchestrate from a worker pod until the Vultr support team reprovisioned the login pod mid-campaign, fixing both issues. There was another basic problem with the storage visible from the K8s layer: the default storage configuration was incompatible with our bare-metal cluster. The default StorageClass, `vultr-block-storage`, provisioned and bound without complaint, then the pod sat in `ContainerCreating` forever. However, the Lustre tier, which came attached to the worker nodes, was excellent, achieving 91.7 GB/s aggregate read across 32 clients. Grafana was configured but only partially correct, as NVLink read 0 due to unconfigured `DCGM_FI_PROF_NVLINK_*` fields.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Vultr is known to have been experiencing issues with the reliability in its scale-out networking, which has discouraged partners from beginning or expanding existing deals. We recommend that Vultr continue to improve the sturdiness of its clusters and work to create golden images with all relevant utilities and orchestration reasonably configured and up to date.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Vessl&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Vessl is a new Korean neocloud who fancies itself a &amp;#8220;multi cloud orchestrator&amp;#8221; rather than a broker, buying bare metal long-term and providing a management layer with SLAs on top. They &lt;/span&gt;&lt;a href="https://vessl.ai/ko/blog/vessl-b200-ai-factory"&gt;&lt;span&gt;claim 5,000 GPUs currently in operation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and have an ambitious target of 100 MW by the end of 2027. &lt;/span&gt;&lt;a href="https://kgsa.net/?page_id=29&amp;amp;mod=document&amp;amp;uid=8667"&gt;&lt;span&gt;An old Vessl BizOps job posting&lt;/span&gt;&lt;/a&gt;&lt;span&gt; says to expect &amp;#8220;Speed. We MUST move fast, learn fast, and iterate constantly,&amp;#8221; demanding &amp;#8220;&lt;/span&gt;&lt;a href="https://www.linkedin.com/posts/the-concept-of-80000-hours-career-consulting-share-7471245601628696577-HlPU/"&gt;&lt;span&gt;a minimum of 60 hours per week&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We love the ambition; however, the immaturity of Vessl&amp;#8217;s cluster, which we sampled in its Kubernetes and Slinky flavors, gives them plenty to work on. Our onboarding began with a notice to pin three settings to render the RDMA fabric usable. A heads-up is better than nothing, but we much prefer to be given a cluster that performs well out of the box.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!lFOI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f043a94-7c2c-4c37-9d56-b627138a60b8_1744x238.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="238" src="https://substackcdn.com/image/fetch/$s_!lFOI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f043a94-7c2c-4c37-9d56-b627138a60b8_1744x238.png" width="1744" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The third bullet was in response to a particularly cumbersome configuration: by default, due to Vessl&amp;#8217;s Kubernetes `LimitRange`, each container would hard-fail if it used more than 2GB of host memory. Although a defensive default might make sense in certain cases, this is a poor setting. Nodes rarely are called on to run more than one job at a time, so containers can expect to have all of the host DRAM to play with&amp;#8212;hundreds of GB&amp;#8212;and OOM-killing them for going above 2GB is stifling. We recommend that Vessl relax this limit, bringing it in line with the physical capacity of the host while also making failure more graceful.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of management, Vessl provided no way to handle users on the Slinky layer except via traditional Linux tools on the machine. The SSH key we added from the console did not show up on the cluster, nor did the one we added via the Vessl CLI; we later learned that these utilities are independent of Vessl&amp;#8217;s Blackwell clusters. We could therefore use only the private key and `kubeconfig` DMed to us on Slack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Hxsw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e712d05-e3d0-4d5f-9c27-5a9b89b4b156_2048x298.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="298" src="https://substackcdn.com/image/fetch/$s_!Hxsw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e712d05-e3d0-4d5f-9c27-5a9b89b4b156_2048x298.png" width="2048" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The cluster provided a reasonable (though strange) `add-user` convenience script to make new Linux users.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!M7u8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc421b89f-eb94-43ca-a479-45e4885de096_1308x822.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="822" src="https://substackcdn.com/image/fetch/$s_!M7u8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc421b89f-eb94-43ca-a479-45e4885de096_1308x822.png" width="1308" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It did not provide, however, basic packages like `pip`, `git`, or even `sudo`.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!WZNP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02307a5c-746c-40ed-ac40-d402528367c2_1292x72.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="72" src="https://substackcdn.com/image/fetch/$s_!WZNP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02307a5c-746c-40ed-ac40-d402528367c2_1292x72.png" width="1292" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!N22A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42e8d396-2de6-4d06-b1e0-df2d635a9340_946x69.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="69" src="https://substackcdn.com/image/fetch/$s_!N22A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42e8d396-2de6-4d06-b1e0-df2d635a9340_946x69.png" width="946" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!f-ha!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dcc0786-1a69-42d6-93fd-73ba6e53865b_783x70.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="70" src="https://substackcdn.com/image/fetch/$s_!f-ha!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dcc0786-1a69-42d6-93fd-73ba6e53865b_783x70.png" width="783" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The cluster therefore took some work to get to the starting line. But our intern was still not done putting in reps as Linux sysadmin. Vessl ran the Slurm login node with an ephemeral OverlayFS root, so runtime changes to `/etc/passwd` and `/usr/bin` existed only in the container&amp;#8217;s writable layer and were not preserved when Kubernetes recycled the pod. This caused our users to disappear midway through testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another Slinky misconfiguration brought down the Slurm layer for part of testing. Our workloads wrote to an overlay that they did not clean up, accumulating 863 GiB in the root volume, causing Kubernetes to mark the node `DiskPressure` and restart it. This not only brought down the local worker, but the Slurm controller daemon as well, rendering the whole Slurm layer intermittently inaccessible. We infer that `slurmctld` was scheduled on to a node also running `slurmd`. Co-scheduling a `slurmd-pyxis` pod with a `slurmctld` is generally a bad practice for reasons well illustrated by this anecdote: the data plane should not be bogged down by the administrative duties of the control plane, and the control plane should not be within the blast radius of the data plane. Vessl quickly stopped the bleeding by having Enroot write to a larger volume, but to our knowledge the root cause&amp;#8212;the co-scheduled worker and controller&amp;#8212;remains unaddressed. It is clear that Vessl does not have experience running Slinky at scale in production.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XFSc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf619-792d-401e-a5d4-a2de20f10a35_2048x798.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="798" src="https://substackcdn.com/image/fetch/$s_!XFSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf619-792d-401e-a5d4-a2de20f10a35_2048x798.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A separate error made Kubernetes access inconsistent. The URL in our `kubeconfig`&amp;#8217;s `server` field did not always resolve to the same IP address: Vessl had erroneously published the private `10.x` IP to the record set in addition to the public one. Sometimes our `kubectl` command resolved to the right (public) IP, and we could access, but other times it would resolve to the wrong one and our request would hang until a retry went through. We recommend that Vessl remove the `10.x` IP from the public record set.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The `NetworkPolicy` we set on the Kubernetes layer of our Vessl cluster was accepted but not enforced, as HTTP requests between all tenant pods were accepted without regard to defined rules. Vessl did not have a health check program configured and should prioritize this along with all the mundane &amp;#8220;quality of life&amp;#8221; features indicated above.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!ZdtQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24cf8a2-afbd-43a3-9537-ffa22f1dea42_1425x78.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="78" src="https://substackcdn.com/image/fetch/$s_!ZdtQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24cf8a2-afbd-43a3-9537-ffa22f1dea42_1425x78.png" width="1425" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The hardware itself that Vessl offered performed well throughout testing, including on NCCL tests over InfiniBand. Given that it has such a large fleet advertised as coming online soon, Vessl has every motivation to harden its offering, providing superior services to its users and enabling it to command superior prices. We will be interested to observe Vessl&amp;#8217;s progress when we next test.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Runpod&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Runpod is a neocloud headquartered in Moorestown, New Jersey with a fleet including RTX PRO 6000, H100, H200, B200, and B300. This June, &lt;/span&gt;&lt;a href="https://www.prnewswire.com/news-releases/runpod-raises-100m-led-by-summit-partners-to-accelerate-the-ai-developer-cloud-302808689.html"&gt;&lt;span&gt;they raised $100M at a $1B valuation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, announcing on Twitter that &lt;/span&gt;&lt;a href="https://x.com/LukePiette/status/2069822990615728333"&gt;&lt;span&gt;their revenue doubled to $240M ARR from February to June&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cluster we were able to test was in Seattle, and was so new that it did not even have storage configured yet. Our &amp;#8220;Instant Cluster&amp;#8221; was just about instant, spinning up in under 2 minutes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8EJN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3b62b74-729a-4b4e-92fd-8672fbbfa140_2048x1113.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1113" src="https://substackcdn.com/image/fetch/$s_!8EJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3b62b74-729a-4b4e-92fd-8672fbbfa140_2048x1113.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Runpod&amp;#8217;s user model is unusual. In an ideal world, we manage permissions via a web console with RBAC, where we can add our team members by email, increase or decrease privileges, make groups, and drop in our SSH keys to be automatically synced to the cluster. Instead, taking advantage of its snappy provisioning, Runpod recommends minting Instant Clusters as needed. Engineers then operate their cluster with a single tenant and return them to the pool when finished. This means that budgeting, monitoring, and other such policies are handled above the cluster level, rather than via traditional tools like Linux user management or Slurm accounting. Runpod&amp;#8217;s design choice is viable, but it is revealing we did not end up using the cluster in the suggested manner, preferring to fall back to the more familiar pattern of making Linux accounts tied to our SSH keys.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our first burn-in failed as one of our nodes had port 1 links go down on two NICs, suspected to be due to an issue with a leaf switch. There was no health check to catch the error, but there was a Grafana dashboard that highlighted the error if you know where to look. With our feedback, the Runpod team quickly improved the dashboard to make InfiniBand state easier to spot.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2jRn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2a0073-ebec-4897-bca3-ad5501b3fe33_2048x1054.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1054" src="https://substackcdn.com/image/fetch/$s_!2jRn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2a0073-ebec-4897-bca3-ad5501b3fe33_2048x1054.png" width="2048" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the second burn-in attempt, the networking performed well and the test completed without error.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cluster was so new that there was no shared filesystem to test. On the software side, though, our initial audit found many things to be improved. The CUDA Toolkit, GPU driver, and NIC firmware were deprecated for security reasons, and the CUDA Toolkit was additionally a liability because &lt;/span&gt;&lt;a href="https://docs.nvidia.com/cuda/archive/12.9.0/pdf/CUDA_Toolkit_Release_Notes.pdf"&gt;&lt;span&gt;12.8 does not support SM103&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the B300 SM architecture. This caused some of our benchmarks to fail on the first try. The cluster was also missing lots of expected tooling, with no container runtime and many basic HPC packages absent.  Slurm also occasionally marked waiting jobs as `InvalidAccount`, which prevented jobs from running, even though `AccountingStorageEnforce=none` and `AllowAccounts=ALL`. The workaround was to spam `scontrol update JobId=&amp;lt;jobid&amp;gt; Account=me` until Slurm accepted.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We also saw a node drained when an image extraction filled our 50 GB root overlay, which was shared with `/var/spool/slurmd`, leaving `slurmd` unable to write. Our tenant lacked credentials to `scontrol update`, so our testing continued shorthanded. Separately, Linux rejected `unshare -Ur`, so we had to run with `udocker` instead. Our standard XID injection route was blocked because we lacked permission to write to `/dev/kmsg`; we had no mechanism to issue node reboots; passwordless `sudo` was not enabled by default. The theme here is clear: within the Runpod environment, users lack many permissions they need to get their work done.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We find the Runpod team unusually receptive to feedback and eager to explain their decisions. We like that &lt;/span&gt;&lt;a href="https://www.runpod.io/careers"&gt;&lt;span&gt;the majority of their job postings are in serious engineering roles&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and we hope they continue to work to strike a better balance between ease of access and developer control.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Bitdeer&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Bitdeer was a new inclusion in ClusterMAX testing as of ClusterMAX 2.1. Yet another crypto miner pivoting to AI, Bitdeer already has an impressive 1.75GW in total electrical capacity &lt;/span&gt;&lt;a href="https://ir.bitdeer.com/news-releases/news-release-details/bitdeer-reports-unaudited-financial-results-second-quarter-2026"&gt;&lt;span&gt;according to its most recent announcement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. However, this mostly feeds cryptocurrency mining rigs: &lt;/span&gt;&lt;a href="https://atlas.semianalysis.com/?dashboard=datacenter_model"&gt;&lt;span&gt;our SemiAnalysis Datacenter Industry Model estimates they only have a handful of AI MW online&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Still, Bitdeer is steering hard toward the higher-margin GPU business, with hundreds of MW already in the pipeline over the next couple of years as it works on sites, either converted or now, in Knoxville, Wenatchee, Fox Creek, and Rockdale, as well as in Norway and Malaysia. Hoping to grow its business vertically as well as horizontally, Bitdeer is not content with mere colo deals, with fledgling offerings from token-as-a-service to managed agents to, of course, managed clusters.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!epx5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f265b3a-94a5-4931-b066-fdcccf9de49a_1496x902.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="902" src="https://substackcdn.com/image/fetch/$s_!epx5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f265b3a-94a5-4931-b066-fdcccf9de49a_1496x902.png" width="1496" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="http://bitdeer.ai"&gt;bitdeer.ai&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We spent a lot of time trying to figure out what exactly Bitdeer expected us to test when they gave us credits on their public console. Health checks were not set up, the monitoring dashboard did not work, many basic libraries like PyTorch and Docker were not installed, networking settings were empty, IMEX was not configured, and the console did not support ordinary conveniences like RBAC. Bitdeer&amp;#8217;s monitoring installer downloaded a binary for the wrong CPU architecture. SSH worked eventually, but oddly required an RSA key rather than ed25519. Kubernetes queries repeatedly lost their connection. In short, the management of this cluster was strictly nominal. The most that can be said is that it had GPU drivers, NCCL, CUDA, and an OS and kernel, and that all were sufficiently modern.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once we had the time to set things up, performance was fine. GPUs hit expected numbers on burn-in and NVLink supported the expected traffic.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o1Iu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f84fb39-e5a1-4e8e-b260-1f8d47fe13d6_1280x857.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="857" src="https://substackcdn.com/image/fetch/$s_!o1Iu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f84fb39-e5a1-4e8e-b260-1f8d47fe13d6_1280x857.png" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, the cluster&amp;#8217;s WAN performance was exceptionally bad, averaging around 0.1 GB/s across several tests. The cause of this poor performance is unknown to us; needless to say, it would be an impediment to real-world usage.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of all, getting support was a massive pain. The entire technical team was based in Asia (Malaysia, or Singapore in our case), which meant 8-12h TAT when we were trying to troubleshoot issues. It was impossible to consider Bitdeer for anything other than this tier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to seeing Bitdeer&amp;#8217;s improvements in future rounds of testing as its managed cloud offering matures and it implements features like health checks and managed Kubernetes. It will be interesting to see where Bitdeer allocates its time and attention, as management has unambiguously announced that its neocloud business is not its main focus: &amp;#8220;&lt;/span&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/1899123/000121390026054748/ea028888001ex99-1.htm"&gt;&lt;span&gt;Executing on colocation lease agreements is THE top priority.&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Shadeform&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Shadeform continues to focus on brokering and small scale marketplace reselling of individual GPU VMs with a small team. We enjoy the interface and working with the Shadeform team, but without more ambition they will stay in our lowest tier.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Radiant&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Radiant was formed after Brookfield acquired Ori, a UK-based neocloud that we discussed in ClusterMAX 2.1. Unfortunately we have not been able to test a working, secure cluster. Despite almost a year of planning, along with quite a bit of marketing effort, and announcements that mention Billions and Gigawatts, Radiant is yet to deploy a Blackwell GPU.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;FPT&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;FPT suffered from a number of security issues during our testing, which we described in ClusterMAX 2.1. We have yet to re-test and are not aware of any Blackwell capacity.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Core42&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Core42 is a dark horse in this category. They have a solid team, allocation of GPUs, political backing, and an infinite money glitch in the form of Mubadala. We expect to see them put the pieces together and rocket up the rankings as they enter the US market.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Latitude&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Latitude is making progress to keep their modest cloud business afloat, being recently acquired by Megaport and as a result going public. We had the chance to test some RTX Pro 6000 Blackwell servers, but as long as Latitude is missing the latest and greatest GPUs, we expect them to be stuck in this category.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;IBM Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We have not had the opportunity to re-try IBM Cloud since our horrendous experience in ClusterMAX 2.0.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;BuzzHPC&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Buzz is making waves in Canada, latching onto the Sovereign AI wave associated with the Carney vs Trump showdown, to the tune of 1.2GW and $50B in Saskatchewan, in partnership with Bell and others. This is quite the complement for their 300MW+ elsewhere in the country. BuzzHPC is one of the many public companies on the ClusterMAX list, via parent company HIVE Digital Technologies Ltd. Unfortunately, all the GPUs that we have tested from Buzz were in clusters of questionable quality, relying on questionable software vendor partner choices. We have not had the opportunity to re-test since ClusterMAX 2.0, but we hope this changes in the near future.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Neysa&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Indian neocloud Neysa announced a &lt;/span&gt;&lt;a href="https://neysa.ai/press-release/blackstone-leads-funding-of-over-1-billion-dollar-to-neysa/"&gt;&lt;span&gt;$1.2B in financing this February&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, including $600M equity and $600M debt, in a round led by Blackstone that left them at $1.4B post-money. They claim &amp;#8220;&lt;/span&gt;&lt;a href="https://neysa.ai/blog/hpc-architecture/"&gt;&lt;span&gt;9,216 air-cooled NVIDIA B300 staged between December 2026 and March 2027&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; with an equal number of AMD MI350X in the pipeline as well. Impressive growth, and clearly the leader in India in this regard.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This round, our testing unfortunately revealed a cluster that was riddled with errors. Many software packages that came pre-installed during cluster provisioning were months or even years out of date, with several serious CVEs applicable. CUDA Toolkit 12.0, for example, was &lt;/span&gt;&lt;a href="https://developer.nvidia.com/cuda-toolkit-archive"&gt;&lt;span&gt;released in December 2022&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, making it older than Neysa itself. Somehow this was installed on our cluster at &lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;/usr/bin/nvcc&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We enjoyed working with the Neysa team and encourage them to continue to improve their security posture and shore up their fundamentals as their capacity spikes and the bring on large customers from abroad. While current Neysa customers are mostly stuck on the Hopper generation, with a few B300s available, they are no GB&amp;#8217;s (and, as a result, no direct liquid cooling) that have made it to production on the Indian subcontinent.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Vast.ai&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;A reseller/marketplace that keeps coming up in customer conversations for random GPUs on-demand, representing one of the better partnerships teams in the industry, finding unused capacity all over the world. Unfortunately, the UI is just terrible, so hard to use.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hyperbolic&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We haven&amp;#8217;t had the chance to re-test Hyperbolic since the last round, but they got a basic security compliance attestation done finally! Hyperbolic moves onto the list.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;STN&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;STN has been very confusing. One of the earliest clouds to deploy B300s, and one of the only providers with an option for &amp;#8220;private cloud&amp;#8221;, where customers take care of procuring the cluster themselves, and keep the chips on their balance sheet, but STN takes care of cluster operations. We hear from multiple customers how they enjoy this arrangement and prefer it over price gouging neoclouds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve always enjoyed working with the STN team, but unfortunately each of the last three times we&amp;#8217;ve engaged with the team, we have run into some performance, reliability, or configuration issue, asked for a fix, been promised a fix, not gotten the fix, and then time has run out.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We regrettably keep STN in this tier until we can see a complete end to end testing experience as the customer would experience it.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Not Recommended - Underperforming&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Based on hands-on testing, these providers can quickly rise to Bronze by fixing one or more critical issues, such as offering only older GPUs, missing basic security attestation (SOC 2, ISO 27001), misconfiguring key server features (leaving PCIe ACS enabled, or failing to enable GPUDirect RDMA), or charging for GPU hours during cluster creation or hardware downtime.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;SharonAI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Sharon AI is an Australian neocloud that &lt;/span&gt;&lt;a href="https://sharonai.com/press-releases/sharon-ai-announces-us1-32-billion-five-year-cloud-computing-service-agreement/"&gt;&lt;span&gt;claims 132MW in its pipeline, with 116MW already contracted out&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, against a current footprint that we estimate around 4 MW. They do not have SOC 2 or ISO 27001. We were able to test 2 bare metal H200 nodes to verify basic functionality. We look forward to testing Sharon AI down the line as their offerings mature.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;IREN&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;IREN continues to come up in our conversations with neocloud customers, and usually for the wrong reasons. They&amp;#8217;ve got rock bottom prices on HGX B200 and B300 GPUs in Prince George and Mackenzie in Northern BC, Canada, and we&amp;#8217;ve heard the stories. Multi-day power outages, network upgrades, storage failures, air quality controls leading to link flaps, XID&amp;#8217;s everywhere. The #1 worst site in the industry according to users. And we are some of their users, as we&amp;#8217;ve gotten to test IREN GPUs from multiple providers that resell their capacity. A lot of our users that aren&amp;#8217;t having an good time that we are hearing from aren&amp;#8217;t renting from IREN resellers but IREN themselves&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, the new builds in Childress and Sweetwater look much better (read: not N+0 power, cooling, and ISPs!). We&amp;#8217;ve covered plenty about these sites in our Datacenter Model, suffice it to say that despite all the technical shortcomings in their cloud services, we expect the &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-and-iren-announce-strategic-partnership-to-accelerate-deployment-of-up-to-5-gigawatts-of-ai-infrastructure"&gt;&lt;span&gt;$2.1B investment from NVIDIA&lt;/span&gt;&lt;/a&gt;&lt;span&gt; will help them cut less corners this time around.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We recommend that IREN stop pretending to offer managed clusters and inference endpoints in public marketing and investment materials, and focus on their bare metal offerings, where there is plenty of market demand for their services.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hydra Host&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hydra Host raised a &lt;/span&gt;&lt;a href="https://hydrahost.com/post/tokens-are-the-new-oil-hydra-host-series-a/"&gt;&lt;span&gt;$100M Series A&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in June 2026, with NVIDIA among its backers. They are focusing on brokering deals, and our earlier testing is all we have to go on for managed cluster experience. We need to test a real managed cluster before considering an upgrade.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;FarmGPU&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We couldn&amp;#8217;t make much progress in our testing of FarmGPU. The Slurm layer did not advertise GPU resources properly, while Kubernetes did not expose any RDMA devices for scale-out networking.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that said, we very much appreciate FarmGPU&amp;#8217;s open development culture, including their solid Grafana monitoring experience and detailed notes on provisioning. We find the technical team to be trustworthy and solid to work with, even if they are stretched too thin just trying to get a few small clusters deployed correctly.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;WhiteFiber&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;WhiteFiber raised &lt;/span&gt;&lt;a href="https://www.whitefiber.com/news?id=19"&gt;&lt;span&gt;$159.4M gross at its initial IPO closing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in August 2025. Our prior testing found good network performance but unusable Slurm/Kubernetes integration and weak job monitoring. More recent customer feedback suggested improvement, though the ephemeral Slurm login filesystem remained a concern. We need to verify that these operational problems are fixed.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;PaleBlueDot&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;PaleBlueDot raised a &lt;/span&gt;&lt;a href="https://www.prnewswire.com/news-releases/palebluedot-ai-raises-150m-series-b-to-scale-global-ai-compute-infrastructure-302672782.html"&gt;&lt;span&gt;$150M Series B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; led by B Capital in January 2026. We previously found its marketplace easy to use for individual VMs, but it lacked a complete managed-cluster experience. Unfortunately, they have shut down their on-demand console in favor of serving some big customers in dedicated datacenters.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Akamai&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Not much has changed in the last year at Akamai/Linode, with single-node GPUs being the focus and no managed Slurm or Kubernetes available. We&amp;#8217;ll keep watching to see if this sleeping giant wakes up anytime soon.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Hetzner&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hetzner&amp;#8217;s low-cost hosting model still provides some cheap PCIe GPUs, specifically the RTX 4000 and 6000 Pro Blackwell Edition. We&amp;#8217;re waiting to see if they take the plunge with anything bigger, building on all their datacenter operations experience to really serve the AI market.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Mithril&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Mithril, formerly Foundry, announced &lt;/span&gt;&lt;a href="https://mithril.ai/blog/introducing-foundry"&gt;&lt;span&gt;$80M in funding back in 2024&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &amp;#8220;restore the promise of public cloud to AI&amp;#8221;. Today, it&amp;#8217;s a marketplace wrapping 3 Nebius availability zones with H100 or H200, though only the H200&amp;#8217;s have an option with a scale-out network.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pOU2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5188b-419c-4668-beb5-cec14d49a018_911x313.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="313" src="https://substackcdn.com/image/fetch/$s_!pOU2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5188b-419c-4668-beb5-cec14d49a018_911x313.png" width="911" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Mithril website&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;There were some announcements about TPU support that we were quite excited about, but that partnership seems to have been scrubbed away.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;OVHCloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;OVHcloud has substantial infrastructure globally, operating in tons of datacenters globally, some of which are shared with top neoclouds on this list. But our concerns remain that general purpose IaaS is not the growth engine of the AI age with companies doing crazy things to get access to the latest and greatest. Another sleeping giant.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Massed Compute&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Massed Compute last announced capital raise involved &lt;/span&gt;&lt;a href="https://www.hpcwire.com/off-the-wire/massed-compute-gains-300m-backing-for-nvidia-powered-ai-cloud-expansion/"&gt;&lt;span&gt;up to $300M in equity and revenue-share financing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; from Digital Alpha in August 2025. They have used this to drive reasonable growth for a bare metal business, but that alone does not cut it on the ClusterMAX rating system, especially since their &lt;/span&gt;&lt;a href="https://massedcompute.com/faq-answers/?question=What%20are%20the%20key%20features%20of%20NVIDIA%20H100%20GPUs%20that%20enable%20improved%20performance%20in%20machine%20learning%20workloads%3F#:~:text=These%20answers%20are%20generated%20by%20an%20AI%20system%20and%20may%20be%20incomplete%20or%20inaccurate."&gt;&lt;span&gt;slop cannon chatbot&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is still getting indexed by web crawlers.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Not Recommended - Unavailable&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Our &amp;#8220;Not Recommended - Unavailable&amp;#8221; tier is the same as ever, but to clarify, for this section we include four types of companies:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those that we have previously tested who now claim to have zero spare capacity and/or refuse to test with us. This includes Fluidstack, Cirrascale, Lightning AI (recently merged with Voltage Park), Scaleway, CUDO Compute, Denvr Dataworks, and Atlas Cloud.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those that are yet to launch, yet to be tested, and are generally interesting to us, though we believe some unnamed of this bunch are misleading investors (i.e., lying) by claiming in public marketing materials that they do managed clusters when they really just do bare metal. This includes SpaceXAI, Mistral, Poolside Infrastructure Company, Nscale, Highrise, Corvex, Andromeda, Volta, Firebird, Tatra, Sesterce, Yotta, Boostrun, GlobalAI, Argentum and Qumulus.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those who are big and important, but who we cannot test properly due to geographic or regulatory concerns. This includes Alibaba Cloud, MegaSpeed, BytePlus, RunSun, SK Telecom, Naver Cloud and Indosat/Zankore/Lintasarta.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Those who are too small to be relevant. These are still covered in our market view, but not part of the rating system.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;&lt;span&gt;Fluidstack&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Fluidstack has (currently) exited the managed clusters market, as far as we are concerned, because their focus has shifted from managed Nvidia clusters to bare-metal TPU deployments at 100K+ chip scale. We look forward to testing with them again in the future, with whatever chips they may offer at that time. &lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Cirrascale&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Unfortunately, after receiving a legal letter to modify our previous article&amp;#8217;s description of our experience working with Cirrascale, we have not been able to establish a productive working relationship.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Lightning (merged with Voltage Park)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Following the merger of Lightning and Voltage Park, the combined company has unfortunately run out of GPUs, and we haven&amp;#8217;t been able to test the reconciled products. This is despite the company consistently advertising that they are the 3rd biggest neocloud in the world in terms of GPUs deployed. They are not in the top 10.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Scaleway&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Recently, we hear that Scaleway has de-prioritized a number of customer engagements and decided to voluntarily break ties with NVIDIA, in favour of AMD, for seemingly no good reason. We think this is a shame.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;CUDO&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;CUDO did not make a representative managed Slurm or Kubernetes environment available for this cycle as it focuses on other business priorities (namely, managing the build out of a bunch of bare metal datacenters). We look forward to reassessing CUDO when an environment becomes available.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Denvr Dataworks&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Despite changes in leadership and random bouts of activity in the community, we have yet to make any progress testing Denvr and have not seen any meaningful growth in the business that would allow them to dig themselves out of the hole their founders put them in.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Atlas Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We haven&amp;#8217;t been able to get GPUs from Atlas recently, despite big announcements about bare metal datacenters from their crypto parent company and random appearances on endpoint provider lists with their managed inference offering.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;SpaceXAI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We love Colossus and can&amp;#8217;t wait to test the SpaceXAI neocloud offering!&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Mistral&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Mistral just raised a &lt;/span&gt;&lt;a href="https://techcrunch.com/2026/09/08/mistral-raises-e3b-as-sovereign-ai-becomes-big-business/"&gt;&lt;span&gt;&amp;#8364;3B Series D&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and has yet to confirm the validity of a hacker from TeamPCP claiming to put its entire codebase up for sale on the dark web. Anyway, we are very excited to test their neocloud offering. The team told us the platform was still coming up and onboarding its first customers in August, so we very much look forward to testing with them in the future. It seems obvious to us that companies with experience building training clusters for their own models (see above) will be successful neoclouds if they choose to pivot.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Poolside Infrastructure Company&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Following a $6B licensiquihire by Nvidia that took an incredible group and buried them in the Nemotron bureaucracy, Poolside&amp;#8217;s legacy lives on through the Poolside Infrastructure Company, which is developing their Project Horizon campus in West Texas. We have not yet tested anything from them, but their experience and ambition makes them an immediate contender if the skeleton crew decides to go for it on the neocloud business.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Nscale&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Nscale announced a &lt;/span&gt;&lt;a href="https://www.nscale.com/press-releases/nscale-series-c"&gt;&lt;span&gt;$2B Series C&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March, announced the acquisition of AnyScale in May, and just filed an S1 to go public on NYSE a few days ago. It is unbelievable to us that they can have such a big business, and continue to claim in public marketing materials that they offer managed clusters and inference endpoints, when this is clearly not true. Obviously, though, they&amp;#8217;ll continue to be successful. They&amp;#8217;ve got access to lots of land and power, some construction and datacenter operations experience, and people really want that bare metal at a nice price.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Highrise&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Highrise, Hut 8&amp;#8217;s AI Cloud business, is constantly in the news. We hope we can test some managed clusters from them soon.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Corvex&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Corvex continues to run scared from ClusterMAX, though they announced a $33M private placement in August to expand their datacenter capacity. Their &lt;/span&gt;&lt;a href="https://www.corvex.ai/blog/press-release-corvex-to-go-public-in-all-stock-merger-withmovano-creating-a-pure-play-platform-for-secure-ai-infrastructure-and-high-performanceinference"&gt;&lt;span&gt;choice of merger partner was Movano, maker of the Evie smart ring&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Quite a change in product roadmap. Privately, they claim some secure government customers in the USG. We look forward to testing.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Andromeda&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Andromeda takes capacity from other providers and puts a managed cluster service on top. We have discussed testing multiple times, and enjoyed working with the technical team, but find the business side to be a little shady. Resellers have a perverse incentive to keep the customer in the dark about who the underlying provider is, out of fear that the customer can just go around them and contract with them directly. Unfortunately, this can lead to bad games of broken telephone, and lots of finger pointing in the worst case. Specifically, we have a problem with non-circumvention clauses and hope that Andromeda can build a durable business model that allows them to be honest about their solid technical team and the value it can provide. We look forward to testing some of their Blackwell capacity soon, wherever it may be.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Volta&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Volta launched with &lt;/span&gt;&lt;a href="https://www.bloomberg.com/news/articles/2026-08-04/nvidia-dell-back-ai-cloud-startup-volta-at-2-4-billion-value"&gt;&lt;span&gt;$300M in venture funding and a separate $5B financing pool&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for customers. Its first large announced contract uses Bitdeer&amp;#8217;s Norway site. We have not tested the cloud software or customer operations.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Firebird&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Firebird is building GPU infrastructure in Armenia, with $60M in construction financing announced by Ameriabank, and expansion plans in Kazakhstan. Recently, they became the subject of &lt;/span&gt;&lt;a href="https://zartonkmedia.com/2026/09/06/following-wsj-report-firebird-co-founder-offers-context-armenia-ai-project-has-roots-going-back-years-built-to-make-armenia-a-global-technology-powerhouse/"&gt;&lt;span&gt;a story about Nvidia chip access and the Armenia-Azerbaijan peace process; co-founder Razmig Hovaghimian responded that the project had roots going back years before those diplomatic developments&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. GPU diplomacy. Pressure&amp;#8217;s on to deliver for the people of Armenia! We still need to see the managed cloud in action.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Tatra&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Tatra is developing B300 and GB300 capacity in Slovakia, using the country&amp;#8217;s nuclear and hydro power base. We have some great feedback about the technical chops of the father/son team&amp;#8212;hard working, impressive family. For now, though, we need them to get their first tranche fully deployed so we can put them to the test.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Sesterce&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We spun up an on-demand H100 through Sesterce in August. The console showed an out-of-date Ubuntu option, provisioning took its time, and eventually we got a working machine. Then we found Shadeform underneath. A broker on top of a broker. We would quite like to know how many companies need a margin before the customer gets to run a workload! With that said, Sesterce is pursuing some big bare metal Blackwell clusters with big offtakers. We want to test those.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Groq&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Groq set out to challenge Nvidia, but after a licensiquihire took Jonathan Ross and most of the engineering team, the remaining company has pivoted&amp;#8230; to renting out Nvidia GPUs! Becoming a neocloud is the move if you want another $350M to live out your dreams (as &lt;/span&gt;&lt;a href="https://groq.com/newsroom/groq-becomes-an-nvidia-cloud-partner"&gt;&lt;span&gt;announced in August&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). We look forward to testing more than just endpoints one day. Jensen gets the chip team and another customer. Not bad.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Yotta&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Yotta handed us a four-node H100 Kubernetes cluster after an onboarding demo that mostly included a tour of the login screen. To file a ticket, we were directed from Shakti Cloud into One Yotta, then back through the Shakti domain. Unfortunately, all these portals do not help keep clusters online, with us hitting a real failure (Xid 94) within a day of starting our testing. Our testing is ongoing here, and performance is solid (though way after our deadline), but judging from customer feedback and our own experience, we&amp;#8217;re getting pretty clear signals so far. We need to see Blackwell GPUs and some improved reliability for them to keep pace with others in the industry.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Darya&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Darya is bringing GPU cloud infrastructure to Tajikistan, right on the border of Afghanistan, which certainly expands the map of places we need to test. &lt;/span&gt;&lt;a href="https://yotta.com/press-releases/darya-ai-and-yotta-data-services-sign-strategic-collaboration-agreement-to-develop-tajikistans-first-green-ai-data-center/"&gt;&lt;span&gt;Its H200 cluster launched in June 2025, and it subsequently signed an agreement with Yotta to develop a hydropower-fed AI datacenter in Darvoz&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Interesting stuff, but after our experience navigating Yotta&amp;#8217;s portals, we are particularly curious which parts of the operating model make the trip to Tajikistan. We have not yet had access to Darya&amp;#8217;s cluster, though we would love to visit the site.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UbWR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a998bd-2550-4185-aa2c-808cf6d383ae_1448x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="892" src="https://substackcdn.com/image/fetch/$s_!UbWR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a998bd-2550-4185-aa2c-808cf6d383ae_1448x892.png" width="1448" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Darya&amp;#8217;s Datacenter on Google Maps&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Boostrun&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Boostrun has some solid bare metal, but bought its way past some of the Kubernetes engineering: &lt;/span&gt;&lt;a href="https://www.vcluster.com/case-studies/boost-run"&gt;&lt;span&gt;vCluster says the company launched managed Kubernetes in under 45 days with no new platform engineering hires. They went with isolated tenant control planes, dedicated private nodes, and Netris for network provisioning&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Sensible. We would rather see a small provider use working software than spend a year rediscovering Kubernetes. In customer discussions, we have still considered adding another operator for a fully managed training experience. We have tested a Boostrun cluster indirectly, through another provider reselling their capacity, but await the opportunity to engage with their support teams directly. We want to see how much of the day two operations Boostrun handles for themselves in a real engagement before moving them onto the list.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Global AI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Global AI takes the sovereign-cloud pitch quite literally: &lt;/span&gt;&lt;a href="https://www.globalai.com/"&gt;&lt;span&gt;dedicated, single-tenant, air-gapped clusters sold by the data hall (or so they say). Customers decide when Global AI can access their systems&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a solid offering for bare metal. However, when advertising an option for managed clusters, we need to see more. Just to assess bare metal we want to see things like how provisioning and security patches get handled, how comprehensive the monitoring stack is, how reliability and health checks work, and generally how competent the onsite team is at closing tickets quickly and correctly. We have not yet gotten to see this level of detail.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Argentum&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Argentum&amp;#8217;s website says &lt;/span&gt;&lt;a href="https://argentum-ai.com/"&gt;&lt;span&gt;&amp;#8220;200,000+ GPUs available now.&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Had you heard of Argentum before you got to this section of the article?&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;QumulusAI&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;QumulusAI found a different source of GPU debt: a &lt;/span&gt;&lt;a href="https://www.qumulusai.com/articles/qumulusai-secures-500m-non-recourse-financing-facility-through-usdai-to-accelerate-ai-infrastructure-growth"&gt;&lt;span&gt;$500M non-recourse facility through USD.AI&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, using GPU Warehouse Receipt Tokens as collateral for stablecoin borrowing, with financing for up to 70% of approved deployments. GPU Warehouse Receipt Tokens is the actual name. The announcement describes a facility, so we are not counting $500M of installed hardware. In our customer discussions, Qumulus has come up as a capacity supplier that may need another operator on top for managed training. We still need to inspect its own software and support, but initial customer feedback has been surprisingly solid.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Alibaba Cloud&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Alibaba has considerably more software to show us than the usual neocloud startup. One example is &lt;/span&gt;&lt;a href="https://www.alibabacloud.com/help/en/ack/cloud-native-ai-suite/use-cases/implement-slurm-hpc-and-kubernetes-load-hybrid-scheduling-on-ack-cluster"&gt;&lt;span&gt;its ACK Slurm operator: a SlurmCopilot component coordinates resource allocations between Slurm and Kubernetes so idle resources do not remain stranded in one scheduler&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This is the kind of orchestration plumbing we like to poke at, and obviously this is a company that is not ready for a poking. We have an account, have been whitelisted for a few model endpoints, and have engaged directly with the sales team, but have yet to get access to any modern GPUs or this ACK software for testing.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Megaspeed&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Plenty of hardware to investigate in their Malaysian and Indonesian sites, but no login yet.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;BytePlus&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;BytePlus&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.byteplus.com/en/product/gpu"&gt;&lt;span&gt;GPU service advertises switch-affinity placement on a multi-rail network, direct RDMA access to its vePFS parallel filesystem&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and integration with our favourite model ever: Seedance 2.5. We have not yet completed an evaluation of their clusters, but there is clearly stuff to watch out for. Tik, tok.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Humain&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Humain has given itself plenty to do. Alongside the Saudi GPU buildout, &lt;/span&gt;&lt;a href="https://www.reuters.com/world/middle-east/saudi-ai-firm-humain-unveils-6-gigawatt-data-centre-plan-new-ai-operating-system-2025-10-27/"&gt;&lt;span&gt;Tareq Amin announced a roughly 6 GW datacenter ambition, as well as Humain One, a real-time voice&lt;/span&gt;&lt;/a&gt;&lt;span&gt; interface for any computer. We would be happy to start with a login and a functioning cluster, but we have yet to get a response from the team, leaving us wondering what secrets they&amp;#8217;re hiding next to their Groq systems.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;SK Telecom&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;SK Telecom runs over 1,000 B200s for Korea&amp;#8217;s sovereign foundation-model initiative. As we &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/koreas-trillion-dollar-sovereign"&gt;&lt;span&gt;covered in a recent article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the government also rented ~3,000 H100 equivalents from SK Telecom and Naver combined for the competition&amp;#8217;s first round. SK Telecom has announced a much larger 2 GW NVIDIA DSX AI factory, expected to deploy Vera Rubin systems with SK Hynix HBM4, within SK Group&amp;#8217;s planned 5 GW first-phase buildout. We have tested SK Telecom GPUs through Vessl, and they were solid, but nothing with SK directly. We need to see more from them on the international market to consider them a serious player, but the technical foundation is clearly there.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Naver&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Naver, much like SK Telecom, is highly credible. It already operates hyperscaler-class datacenters, and its July plan with NVIDIA and Brookfield calls for expanding the GAK Sejong AI factory from an initial 55 MW buildout to 200 MW by 2028. We are interested in how much of that operational experience reaches external customers, vs the internal research teams at Naver. We have yet to test that experience.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Indosat (Zankore)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Zankore has announced the first phase of roughly 200 MW of GB300 NVL72 capacity is to be delivered in the first half of 2027. Even if they are a little behind schedule on deploying Blackwell, they are still well on their way to a long-term 1 GW ambition, primarily to serve offtakers (rumoured to be) from mainland China. And they&amp;#8217;ve landed a &lt;/span&gt;&lt;a href="https://www.reuters.com/business/media-telecom/ooredoo-backed-zankore-secures-31-billion-financing-nvidia-ai-cloud-platform-2026-09-09/"&gt;&lt;span&gt;$3.1B loan&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to go do it!&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;Where ClusterMAX Goes From Here&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/clustermax-30-the-industry-standard"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-23T13:20:29+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/computation-and-data-movement-for</id>
    <title>Computation and Data Movement for Inference</title>
    <updated>2026-09-21T10:14:15+00:00</updated>
    <author>
      <name>Tanj Bennett</name>
    </author>
    <content type="html">&lt;p&gt;Mixture of Experts, now widely used in frontier models, has changed both the structure of serving and the economics of useful inference. It did more than increase parameter count. It changed which tensors are active for each token, what must remain close together, which transfers need strong local bandwidth, which can tolerate a weaker network link, and how memory movement, storage, and scheduling contribute to useful throughput.&lt;/p&gt;&lt;p&gt;The best place to begin is the service as a whole. Inference runs inside a cluster coordinated by an orchestration layer such as NVIDIA Dynamo, Mooncake, or a custom scheduler. These work closely with inference servers like vLLM or SQlang, and those also have their own orchestration features. This article will not go into the details of how you work with the orchestration software or which you should choose. The article aims to provide an overview of the process and reasons for various features you may use.&lt;/p&gt;&lt;p&gt;A user (or their agent) starts a conversation with a request (query), and the conversation may continue after answers with more requests. The request- answer is a &amp;#8220;turn&amp;#8221;. In modern AI systems the user is often running a in a client application (whether GUI or command-line oriented) and some of the answers coming back from the AI are intercepted by that application as instructions for it to run, things like editing your code or searching your company guidelines on an HR question.&lt;/p&gt;&lt;p&gt;The AI system can also do some of those things itself from its data center, for example it may search the web. The results from these intercept tool actions are also returned to the AI as requests, creating more turns. The server keeps a context (often referred to as KV cache or just cache) which is the distillation of the session, allowing each new request, from user or from tool, to be properly interpreted for overall forward progress. There can be thousands of turns per hour when the user launches an agent on a long-running task. The conversation can also pause and resume hours or even days later.&lt;/p&gt;&lt;p&gt;When a request arrives at the inference servers the orchestration puts it into a queue, while will feed into an input-fill worker, along with any context from system prompts and prior turns in the conversation. The query is then converted into new context appended to the conversation. That new context state is then moved to a decode worker. Decode repeatedly reads the accumulated state, generates answer tokens, and those answer tokens are also appended to the conversation state. The process may loop through tools, agents, users, and further input-fill work. A model worker running on GPUs is only one part of this token factory; storage, networking, and orchestration connect its stages.&lt;/p&gt;&lt;p&gt;Inside the workers, four operating regimes are worth distinguishing from the beginning:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prefill&lt;/strong&gt;, where the initial block of new tokens is processed together.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Midfill&lt;/strong&gt;, where a continuation request is appended to an existing cached context.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Decode attention&lt;/strong&gt;, where the context is used to generate the basics of newly generated tokens.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Decode experts&lt;/strong&gt;, where each basic new token is refined by a selection of experts a large total set of possible experts.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;These regimes place different demands on compute, memory, and networking. Prefill and midfill are closely related, with Prefill being a Midfill with zero prior context. However, Prefill is a common special case, corresponding to one-shot queries like classic &amp;#8220;&amp;#8221;chatbot&amp;#8221; use, and can be optimized a bit differently than Midfill. Prefill reaches high arithmetic intensity (ratio of computation to data movement) and does not need to wait for context to be located and read. Midfill begins from an existing KV cache for prior state and appends a new request input sequence. This generally has a more moderate arithmetic intensity than prefill because there are fewer new tokens and more existing data to move per token.&lt;/p&gt;&lt;p&gt;Decode attention and decode expert work are generally low arithmetic intensity since there are few new tokens compared to the prior context or expert weights, which at decode state are data that needs to be moved. Meanwhile, across all of them, the tensors for attention and for experts are the same regardless of token value, so there is benefit to sharing a single reading of a tensor with as many tokens as can be queued to use it, even tokens coming from unrelated requests by other users which simply happen to be running at the same time and which are networked closely enough to share. Treating all four mode as the same workload gives away much of the structural advantages that MoE models offer in terms of different intensity and different sharing patterns.&lt;/p&gt;&lt;p&gt;In this document we will treat the 4 stages separately, and sometimes assume they are disaggregated. There are tradeoffs between aggregated (where the models stay on one server, which reconfigures as the request progresses between the stages) and disaggregated where the orchestrator may find a free slot on another machine already configured appropriately. Generally we will talk about the stages as disaggregated, with aggregation being a special case of always making the current node available when a previous stage finishes. There will be a section on the trade-offs at the end, after the work to be done has been more completely introduced.&lt;/p&gt;&lt;p&gt;A transformer model is a deep stack of repeating layer groups. A group may contain one kind of layer, or it may contain a full-attention layer together with several linear, local, selective, or otherwise optimized-attention layers (this is a hybrid group of layers). Within each layer, attention, shared transformations, routing, selected experts, and recombination occur in sequence. Those steps are known in advance and repeat continuously, allowing the same hardware resources to serve different parts of the flow at different moments.&lt;/p&gt;&lt;p&gt;The machines can also be described equally simple recurring units. A node is a group of accelerators, typically a tray in a rack, each accelerator pairs compute with local fast memory. A node is coordinated by a CPU and connected to other nodes through NICs (network interface controller). Nodes stack into racks. A rack may act as one scale-up domain when very large tensors are , several smaller scale-up islands, or a set of pipeline stages. Datacenter networking then joins bounded workers to storage and orchestration rather than participating in every inner tensor operation.&lt;/p&gt;&lt;p&gt;This essay follows that progression. It begins with the global service and the operating regimes, then opens the model into wide layer-group slices and maps them onto accelerator nodes and racks. From there it develops pipeline, tensor, and expert parallelism; the limit imposed by KV-cache memory; the different value of batching in prefill, midfill, and decode; and the role of scheduling in a many-rack token factory.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nG_t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e02df36-fc57-4ee4-9015-52aa09fd7c07_2500x1470.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 1. Overview of model stages in an inference service." class="sizing-normal" height="856" src="https://substackcdn.com/image/fetch/$s_!nG_t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e02df36-fc57-4ee4-9015-52aa09fd7c07_2500x1470.png" title="Figure 1. Overview of model stages in an inference service." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 1. Overview of model stages in an inference service.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;1. Orchestration delivers requests via queues into pools of workers&lt;/h2&gt;&lt;p&gt;An inference service is a cluster where prior requests and immutable state are stored when idle and then queued for delivery to specialized workers when a new request pulls in context or a prior request reawakens for continuation. The incoming queue is not yet a batch. Each request carries prompt tokens, references to reusable context, service objectives, and often an existing conversation or agent state. An orchestrator may place it into a prefill, midfill, or decode batch, and the request can join or leave that batch independently as it completes, making that capacity available for new work. Continuous batching works best when the scheduler knows which workers have slots that match the request&amp;#8217;s context length and service objective.&lt;/p&gt;&lt;p&gt;Prefill workers create context from a substantial block of new tokens. Their output is new KV state for every model layer, stored independently of the worker that created it. The KV state moves along model layers, the output of layer K from one turn becomes input to layer K in the next turn. In pipelined servers this creates a natural &amp;#8220;torrenting&amp;#8221; of output and input from separate NICs.&lt;/p&gt;&lt;p&gt;Midfill workers extend previously processed context. The cached prefix may contain system and user prompts, memories, earlier conversation turns, agent steps, or retrieved documents. Large roots may be already cached, while the incremental input can be much smaller than a comparable uncached request: a half-million context may receive only a few hundred or a few thousand new tokens.&lt;/p&gt;&lt;p&gt;Decode workers consume the processed, accumulated context and generate one or a few tokens (multi-token prediction is becoming quite common) per pass. Every generated token adds a small amount of new state. The same context can later return to a midfill worker when a user, tool, or agent contributes another block of input. Agentic work using tools creates a repeated sequence of context extension and generation, not merely one prefill followed by one decode.&lt;/p&gt;&lt;p&gt;A worker may occupy a node, a tray, or a rack. The service becomes large by operating many bounded workers and moving requests and state among them. Depending on precision and working-state requirements, even multi-trillion-parameter models can fit within the aggregate memory of a modern rack-scale system. The datacenter network remains essential because the factory must connect many such workers to shared storage and continuously match worker configurations to demand. KV transfers may be gigabytes in size, but they can be striped or torrented across multiple links and destinations; their movement time can remain well below the lifetime of a long decode job.&lt;/p&gt;&lt;p&gt;This separation is useful for both performance and operations. Prefill and midfill are predictable once the cached-prefix size, new-token count, and worker configuration are known. Decode completion time is stochastic because arrival of the final output token cannot be predicted in advance. Shared memory and storage between the pools let each stage run at its own cadence. Later sections of this article will discuss queues, ready buffers, and worker reconfiguration. For now, the important point is that the service is a loop of stages joined by movable state.&lt;/p&gt;&lt;h2&gt;AgentX examples&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xosE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dba89e-9dfd-4d9d-831c-3dcd1748a45e_2022x776.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 2. &amp;quot;CC Traces Weka&amp;quot; dataset contributed to AgentX, release 34. Source: SemiAnalysis AgentX." class="sizing-normal" height="559" src="https://substackcdn.com/image/fetch/$s_!xosE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dba89e-9dfd-4d9d-831c-3dcd1748a45e_2022x776.png" title="Figure 2. &amp;quot;CC Traces Weka&amp;quot; dataset contributed to AgentX, release 34. Source: SemiAnalysis AgentX." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 2. &amp;#8220;CC Traces Weka&amp;#8221; dataset contributed to AgentX, release 34. Source: SemiAnalysis AgentX.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This is viewed with the SemiAnalysis Conversation Explorer. It shows that context growth during conversations can be quite rapid but also goes through large fluctuations due to compaction and other model behavior which may not be explained in public discussions. Orchestration of the inference context is a competitive advantage for AI companies.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lXqX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a155ad-ce74-4b40-a4bc-b1e4af1fa624_1510x1230.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 3. Cache, new input, and result lengths seen at each turn of the same conversations. Source: SemiAnalysis AgentX." class="sizing-normal" height="1186" src="https://substackcdn.com/image/fetch/$s_!lXqX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a155ad-ce74-4b40-a4bc-b1e4af1fa624_1510x1230.png" title="Figure 3. Cache, new input, and result lengths seen at each turn of the same conversations. Source: SemiAnalysis AgentX." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 3. Cache, new input, and result lengths seen at each turn of the same conversations. Source: SemiAnalysis AgentX.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We can take that same dataset and pull out the cache, new input, and result length values seen at every turn. This visual shows how the Token Factory needs to serve many different workloads. In principle there could be requests similar to each dot in those traces (and more dots from other workload datasets) all running at the same time, assigned to some worker in the AI cluster.&lt;/p&gt;&lt;p&gt;This article aims to survey some of the major functions in inference that make it possible,&lt;/p&gt;&lt;h2&gt;2. KV state moves as immutable blobs&lt;/h2&gt;&lt;p&gt;Reusable context at data-center scale becomes a shared object-store of immutable blobs rather than a file attached to one machine. A system prompt, project context, previous user turns, tool output, and generated tokens can be in separate blobs. A new operation reads the blobs it needs and appends new ones; existing blobs normally remain unchanged. This forward-only structure follows the causal transformer itself. Changes can be handled by backtracking and creating a new branch rather than rewriting the common path.&lt;/p&gt;&lt;p&gt;The durable source of these blobs is a fast, parallel, scale-out memory and storage pool. It needs enough aggregate bandwidth and network reach that prefill, midfill, and decode workers can be selected for suitability and availability rather than because one machine owns the only copy of the context. Newly idle blobs can first move into shared network-attached DRAM, including node-CPU memory and dedicated memory appliances. As that tier fills, a classifier can discard blobs that are not likely for reuse, or promote longer-lived state to SSD. The underlying text and references are often orders of magnitude smaller than the expanded KV representation, so it is possible rebuild a KV blob from that smaller text if the triage decided to reuse space and discarded the expanded embedded state. AI calculations can vary subtly, so while the rebuilt state can be expected to be a valid context, services may take different approaches to how casually they discard and rebuild, and how much they try to keep important immutable state.&lt;/p&gt;&lt;p&gt;For a deeper dive on how the blobs are managed, &lt;a href="https://www.lmsys.org/blog/2026-08-11-unified-radix-cache"&gt;Unified Radix Cache: One Tree for Hybrid Model Prefix Caching - LMSYS Org&lt;/a&gt; is recommended reading. It is not the last word, but it is clearly written and will point you to other sources if you want to look for more.&lt;/p&gt;&lt;p&gt;There are also frequent compactions of state with long-running agents that build up to the maximum context, so in general after a compaction there will be many prior blobs which have been abandoned in favor of a new context. The space from the pre-compaction contexts is probably recycled for new work.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aFGC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1426880-84ea-42b8-be37-ea5e967ad662_2032x816.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 4. AgentX release 34, selected conversations. Source: SemiAnalysis AgentX." class="sizing-normal" height="585" src="https://substackcdn.com/image/fetch/$s_!aFGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1426880-84ea-42b8-be37-ea5e967ad662_2032x816.png" title="Figure 4. AgentX release 34, selected conversations. Source: SemiAnalysis AgentX." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 4. AgentX release 34, selected conversations. Source: SemiAnalysis AgentX.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;You can see compactions occur in the right half of these conversations as contexts get close to the practical context limit for each model (250k tokens for Opus 4.8, 1MT for Fable). There are also &amp;#8220;stalactites&amp;#8221; in both lines which seem transient and reflect some proprietary behavior in Anthropic models.&lt;/p&gt;&lt;p&gt;Accelerator HBM is the &amp;#8220;hot&amp;#8221; working tier. It is too expensive and supply-constrained to be a good default for passive context storage. The active prefix and suffix should enter HBM shortly before use and leave promptly after the worker has finished with them. CPU DRAM is a useful staging and assembly tier, especially for outgoing state: a completed worker can move newly generated blobs into CPU memory while the storage system chooses placement and redundancy, after which the NIC sends them into the shared pool.&lt;/p&gt;&lt;p&gt;For incoming data, RDMA-capable systems may allow the network to place data directly into accelerator memory, avoiding a full copy through CPU DRAM. CPU memory still remains useful for metadata, coordination, partial assembly, fallback paths, replicas, and outgoing staging. When a worker uses multiple GPUs the incoming context can be striped directly to their destination memories in parallel.&lt;/p&gt;&lt;p&gt;Rack-level hot-blob caches can also be useful, whether implemented as memory/storage appliances or making use CPU memory which is assigned to the distributed storage pool. Very common objects such as system prompts are natural candidates. These caches should remain shared scale-out resources rather than private state that binds a request to one decode machine. HBM is several times more expensive and more supply-constrained than DDR. HBM&amp;#8217;s best use is for data ina an active batch currently earning revenue.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JBSP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e1c09c0-f0e2-403a-83fa-b089cb442e4e_903x597.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 5. KV blobs moving through storage and worker memory." class="sizing-normal" height="597" src="https://substackcdn.com/image/fetch/$s_!JBSP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e1c09c0-f0e2-403a-83fa-b089cb442e4e_903x597.png" title="Figure 5. KV blobs moving through storage and worker memory." width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 5. KV blobs moving through storage and worker memory.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Data input is generally larger than output. Midfill commonly reads a large prefix and appends a meaningful but smaller suffix. Decode reads the accumulated context and appends only the state for one or a few generated tokens. The reads are repeated, the writes usually occur just once. The system design should show these differences directly with the width of each data path.&lt;/p&gt;&lt;h2&gt;3. Prefill, midfill, and decode create distinct operating regimes&lt;/h2&gt;&lt;p&gt;The global service contains several computational regimes. Their differences are more useful than the generic labels &lt;em&gt;compute-bound&lt;/em&gt; and &lt;em&gt;memory-bound&lt;/em&gt;, because each has a different opportunity for reuse and a different natural mapping onto hardware.&lt;/p&gt;&lt;h3&gt;3.1 Prefill&lt;/h3&gt;&lt;p&gt;Classic prefill begins with little or no reusable KV state and processes a substantial block of new tokens. Those tokens share weight loads, use matrix operations efficiently, and create enough routed activations to form useful shared-expert batches. Attention and dense transforms can reach high arithmetic intensity, so prefill is often constrained primarily by compute. Long initial input contexts can raise memory traffic but these rarely get to 100,000 tokens in length, while midfill is commonly beyond that.&lt;/p&gt;&lt;h3&gt;3.2 Midfill&lt;/h3&gt;&lt;p&gt;Midfill appends new tokens to a much longer cached prefix. The new block can still provide hundreds or thousands of activations for shared weight and expert reuse, raising arithmetic intensity to thousands of ops per byte of data. Attention must also read a large existing KV state, which can be tens of GB. It therefore sits in a mixed regime: more arithmetic reuse than decode, but much more cached-state traffic than an initial prefill of the same new-token count.&lt;/p&gt;&lt;h3&gt;3.3 Decode attention&lt;/h3&gt;&lt;p&gt;Decode advances on input of one or a few tokens per query. Each query brings its own KV state which is similar in length to what midfill processes. While prefill differs from midfill on length of cache, decode differs from midfill in input sequence length. These one to few input tokens keep arithmetic intensity low, this work is clearly dominated by the memory movement around the KV cache.&lt;/p&gt;&lt;p&gt;For long contexts, the attention read can exceed the size of tensor operations associated with model weights. Attention is therefore one of the largest operations in modern decode even though most model parameters reside in experts. Delta, top-k, or linear-attention algorithm layers can reduce the burden, but periodic use of a layer with full attention remains a major memory load. Each query brings its own context, so batching queries does not change the arithmetic intensity of attention.&lt;/p&gt;&lt;h3&gt;3.4 Decode experts&lt;/h3&gt;&lt;p&gt;Experts are not specific to the decode phase. Everywhere the model runs the experts run, and they require no context other than one token&amp;#8217;s embedding. The history of the query has already been compressed into the activation presented to the expert. This allows various designs that share the experts across all available GPUs, reducing memory size per GPU and increasing the memory bandwidth / memory size, or memory intensity ratio. You can look at the interval needed for a GPU to read all its experts as the best case interactivity (token rate seen by each user) and so if the memory bandwidth remains constant but the GPU is responsible for fewer experts, interactivity can be higher. The gotcha is that networking needs also rise, and the all-to-all pattern needed for routing to experts is a difficult one.&lt;/p&gt;&lt;p&gt;At the end of attention (in prefill, midfill, or decode) a router calculation (a small tensor operating on the unrefined token) selects a few experts for each new token. Tokens that select the same expert can share a tensor-weight load even when they come from different requests, so long as they can be gathered together in time to take advantage of the same weight loading. In practice their may be 15,000 experts across all the layers, so taking advantage of such coincidences requires deliberate synchronization like awaiting until all queries in a batch have completed attention until switching over to sending them for expert work, and that in turn may be improved by having multiple instances in different nearby machines also synchronized to that schedule. If you have ever wondered why Nvidia makes such an effort to connect 72 GPUs so closely, this is a big part of why. In a large token factory it is feasible to have those 72 machines all running in sync, allowing the experts in one layer to be divided up to 72 ways. If a layer of the model has 256 experts then each GPU is handling only 3 or 4 in each layer, permitting very fast complete cycling through all the experts. And a lot of all-to-all traffic.&lt;/p&gt;&lt;p&gt;Something interesting happens if your experts can all be kept in SRAM. You need a huge number of accelerators and a monster network to collect them all to all back to the GPUs, but now there is little reason to wait for a batch to form. Each expert can run whenever it has input. The energy per byte loaded is as much as 100x better than loading from HBM, so a single token running can be as efficient as perhaps a queue of 100 was before. In return for this DAF (disaggregated attention-FFN, where the experts are the FFN) you can free up the instances from needing to be synchronized. This advantage does not help as much with prefill or midfill since they trivially have a batch of tokens they can sort into shared queues on one layer, but it still may offload all the expert weights from those GPUs allowing them to optimize their local memory for other uses like longer contexts. The networking is still a gotcha, where an SRAM based accelerator could turn around an expert calculation in less than a microsecond but now you may be flooding a switch connected to hundreds of nodes with the all to all traffic for millions of tokens. The network may absorb more money and power than the experts they connect.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0swW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F132a56e8-d9e0-42cd-bcda-5051cab4b9b3_875x425.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 6. Prefill and midfill are separated from the closely coupled decode loop at the KV-cache boundary." class="sizing-normal" height="425" src="https://substackcdn.com/image/fetch/$s_!0swW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F132a56e8-d9e0-42cd-bcda-5051cab4b9b3_875x425.png" title="Figure 6. Prefill and midfill are separated from the closely coupled decode loop at the KV-cache boundary." width="875" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 6. Prefill and midfill are separated from the closely coupled decode loop at the KV-cache boundary.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Inference workers can improve sharing by coordinating many attention instances on the same model layer. Their routed activations then draw from one layer&amp;#8217;s expert bank, reducing the number of different experts each destination must load. In a pipelined server this also means the networking connections used for expert parallel can be local to that stage of the machine, there will never be a routing that needs experts from another layer. Even so, each decode request contributes only one new token with typically 8 to 16 routed experts per pass, and a layer may contain hundreds of experts. At small batches, sharing remains limited and memory bandwidth continues to dominate both the KV scan and the active expert loads, with very little computation per byte of weight loaded. Expert memory needs to be very low energy per bit, no matter what kind of memory is in use.&lt;/p&gt;&lt;p&gt;These regimes explain why prefill, midfill, and decode may prefer different worker configurations; why decode attention and decode experts can prefer different placements within a node; and why batching helps each stage by a different amount.  As prefill in modern agent work rapidly expands to the 500k token range there is a lot of memory movement, especially in token decode - the stage where the model is generating useful intermediate and final results.  Fast and large 3D RAM will be decisive in efficiency.  Fast memory is also useful for midfill.  However, capacity needs to reach a minimum level for the large contexts we now see as normal.  If memory capacity is too small then the losses in networking and excessive swarms of chips can waste power compared to future memory types which will use 3D capacity expansion without giving up on throughput.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zjGq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa138a4da-0245-453d-8d93-dbeca158f2f6_1171x592.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="592" src="https://substackcdn.com/image/fetch/$s_!zjGq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa138a4da-0245-453d-8d93-dbeca158f2f6_1171x592.png" width="1171" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 7. Projected effect of faster memory (hybrid-bonded DRAM, super-fast 3D RAM)) on midfill and decode with 500k token context cache length.   Source: SemiAnalysis model simulator with projected accelerator and GPU performance.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;While Vera Rubin 72 can crush at the mid-fill layer, which is arithmetic intense, it is not so effective at the switch to memory intensive decode where the Rubin cannot fully exercise its computational prowess.  With the large context there is a premium on keeping the decode work in the same node and the midfill, avoiding sending the context across the network to a different node.  This could favor an all-around chip which both has super memory thruput and really efficient computation.&lt;/p&gt;&lt;h2&gt;4. Flow through an MoE prefill layer&lt;/h2&gt;&lt;p&gt;Classic prefill begins with attention. A block of new query tokens attends to reusable prefixes like the system prompt and to earlier positions in the new block. The attention operation produces one activation for every new token, and shared transformations prepare those activations for the routed-expert stage.&lt;/p&gt;&lt;p&gt;The router assigns several experts to every token. If the model selects eight routed experts, each incoming token produces roughly eight routes across a bank that may contain 256 experts or more. In token order, those records are sparse and interleaved: neighboring tokens can have completely different destinations. Across the full input block, however, every expert can accumulate a short list of assigned tokens.&lt;/p&gt;&lt;p&gt;The worker sorts or queues the route records by expert identifier. All activations assigned to expert 037 become one message stream; those assigned to 142 become another. A single expert-weight load can then serve all activations in that bucket. Several requests can contribute to the same buckets, and separate attention instances running the same layer can merge their routed work at the expert destination. Converting token order into expert order is one of the central efficiencies of MoE prefill. Scale-up networks like NVLink can be organized as memory mapped connections so sending requests to specific experts could be mapped to pushing the message into a specific memory mapped location which is configured as a hardware queue. There is very little start and stop time. The experts can listen with the equivalent of an RDMA CIQ that again leverages hardware acceleration to deliver the message stream without need for complex protocol start and stop. Simple headers inline on the message identify the sender and receiver. A similar connection can be set up for the return flow from expert back to the decode worker.&lt;/p&gt;&lt;p&gt;The expert outputs are returned to token order, weighted, combined, and passed to the next layer. At the same time, attention creates new K and V state for the appended tokens. Across the model, those values form an immutable KV suffix which are used to decode the next token, and which are eventually stored as the next blob in the context for use by the next turn in the conversation.&lt;/p&gt;&lt;p&gt;Prefill therefore combines two forms of weight reuse. Attention and dense transforms reuse weights across many tokens, while routed experts reuse each selected expert across the tokens collected in its bucket. The gains eventually flatten as growth in activation traffic, KV traffic, and output handling take more time compared to the tensor calculations. Batching can delay time to first token, but a single request containing several thousand new tokens already provides substantial arithmetic intensity; prefill does not always need a large number of requests in each batch to run efficiently. Modern single-socket GPUs may be able to do the prefill even on a large model for a small batch in around a second.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OrHW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8405f00c-c10b-41b8-b2f8-c3e4dfd7b136_1426x665.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 7. Flow through an MoE prefill layer." class="sizing-normal" height="665" src="https://substackcdn.com/image/fetch/$s_!OrHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8405f00c-c10b-41b8-b2f8-c3e4dfd7b136_1426x665.png" title="Figure 7. Flow through an MoE prefill layer." width="1426" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 8. Flow through an MoE prefill layer.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;5. Flow through an MoE decode layer&lt;/h2&gt;&lt;p&gt;Decode begins with a much smaller amount of new work per forward pass. The current token, or a handful of speculated tokens in MTP (multi-token prediction) is the query. Attention reads the prior KV state together with the new token&amp;#8217;s KV entry. The new entry appends to the result and is appended to the KV state for the next pass.&lt;/p&gt;&lt;p&gt;For agentic contexts, the prior KV state is often a heavier read burden than the attention and expert weights used by that one token. The new query and its local projection weights are comparatively compact. Attention may be partitioned across KV heads, context ranges, memory channels, or accelerator units, after which partial results are reduced to one token activation. That activation is small enough to move cheaply even though it will trigger much larger local tensor operations in the next phase.&lt;/p&gt;&lt;p&gt;The activation passes through shared transformations and routing. The router selects a few experts from the available bank, and only those expert tensors become active for the current token. Their outputs are weighted, combined, projected, and passed onward.&lt;/p&gt;&lt;p&gt;At each layer, attention creates and retains that layer&amp;#8217;s K/V entry for the new token. The activation then advances to attention in the next layer, where the same sequence repeats. By the time the final layer produces the next token, every layer has appended its small K/V update. Those updates can be assembled into a new immutable KV suffix while the token is streamed to the client or agent.&lt;/p&gt;&lt;p&gt;The flow therefore contains both a broad operation and a sparse operation. Attention reads widely across private query state. Experts activate a small subset of total model capacity. The hardware mapping should support both without forcing the entire layer to use one parallelism strategy.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lj9A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c316fba-4573-4690-b119-d8416000b55c_1621x737.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 8. Flow through one MoE decode layer." class="sizing-normal" height="662" src="https://substackcdn.com/image/fetch/$s_!lj9A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c316fba-4573-4690-b119-d8416000b55c_1621x737.png" title="Figure 8. Flow through one MoE decode layer." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 9. Flow through one MoE decode layer.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;6. Midfill is a distinct operating regime&lt;/h2&gt;&lt;p&gt;Midfill combines a long, cached prefix with a block of new tokens to prepare another turn in a conversation or agentic work. Traces show the cached input to be many times larger than the incremental query, although the incremental query typically varies from 50 to 5,000 new input tokens. The presence of cached system prompts, conversation roots, memories, prior agent steps, and retrieved documents can quickly raise conversational and agentic contexts to a million limit. AgentX datasets show frontier experts are repeatedly compressing contexts to stay under a million-token limit.&lt;/p&gt;&lt;p&gt;This makes midfill neither a small prefill nor a large decode. Like decode, it must read a substantial private KV cache. Like prefill, it processes enough new tokens to reuse weights and to sort routed activations into useful expert batches. Its arithmetic intensity can be hundreds of times greater than one-token decode, yet its cached-state traffic can be tens of times larger than that of a similarly sized initial prefill.&lt;/p&gt;&lt;p&gt;Modern accelerators can generally exploit the arithmetic reuse available in a block of hundreds of tokens, so the difficult balance is often between the large KV read and the burst of routed-expert traffic. That burst does not match the smooth rhythm of a decode pipeline: a midfill can occupy a stage much longer than the decode batches in neighboring stages, leaving those stages underused.&lt;/p&gt;&lt;p&gt;The ideal parallelism can also differ. The worked example later in this essay finds midfill configurations that use different pipeline, tensor, and expert-parallel settings from decode. Reconfiguring a GPU in the middle of a live decode pipeline can be expensive or impractical. A service may therefore benefit from a dedicated pool of midfill-optimized nodes. The hardware can be identical to the decode pool while the loaded model stages, parallelism, and batch policies differ.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9Kjl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a47cb2-ded5-4daa-b7e0-6eb17ce03340_3100x2012.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 9. Midfill combines the cached-state read of decode with enough new tokens to batch model and expert work." class="sizing-normal" height="945" src="https://substackcdn.com/image/fetch/$s_!9Kjl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a47cb2-ded5-4daa-b7e0-6eb17ce03340_3100x2012.png" title="Figure 9. Midfill combines the cached-state read of decode with enough new tokens to batch model and expert work." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 10. Midfill combines the cached-state read of decode with enough new tokens to batch model and expert work.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;7. The model is a tall stack of repeating layer groups&lt;/h2&gt;&lt;p&gt;A model&amp;#8217;s parameter count quantifies the total learned state, but serving depends on how that state is organized and used. The model is a stack of layers, and increasingly it is useful to group those layers into repeating architectural units.&lt;/p&gt;&lt;p&gt;In some MoE models, a layer group is the same as one layer. In others, a group contains one full-attention layer together with several linear, delta, top-k, or otherwise optimized-attention layers. Typically 1 to 3 of the initial layers may be dense or otherwise designed to get a clean start. The rest of the model will normally repeat one recurring group pattern.&lt;/p&gt;&lt;p&gt;A wide, shallow cr&amp;#234;pe is a useful representation of a layer group. The broad surface provides room for attention, shared transforms, routing, expert capacity, and residual flow. Its shallow thickness marks the group as one slice in a much taller repeated model. It also echoes the physical form of an accelerator: a very thin active layer spread across a broad package. The cr&amp;#234;pe is a useful intuition for mapping a wide algorithmic flow onto a wide hardware surface.&lt;/p&gt;&lt;p&gt;The repeated structure simplifies function planning. A mapping created for one group can be reused for the next. Corresponding memory regions can hold the next group&amp;#8217;s weights. The same compute and communication plan can execute repeatedly. Uniformity matters not only for runtime efficiency but also for compiler, kernel, and operations tooling.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NvYr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f20bc9d-d860-4e6d-8387-5e2ba79e9bf2_732x478.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 10. Layer groups repeat the same flow." class="sizing-normal" height="478" src="https://substackcdn.com/image/fetch/$s_!NvYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f20bc9d-d860-4e6d-8387-5e2ba79e9bf2_732x478.png" title="Figure 10. Layer groups repeat the same flow." width="732" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 11. Layer groups repeat the same flow.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;During decode, one layer is active at a time for a given token. Within that layer, several operations occur sequentially. Neighboring layers may be prefetched, and different pipeline stages may process different queries simultaneously, but the logical path of one token still climbs through the stack in order.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RRxu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf97cc6-a4b5-403e-b115-97845e79b636_752x504.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 11. One layer group opened into sequential sublayers." class="sizing-normal" height="504" src="https://substackcdn.com/image/fetch/$s_!RRxu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf97cc6-a4b5-403e-b115-97845e79b636_752x504.png" title="Figure 11. One layer group opened into sequential sublayers." width="752" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 12. One layer group opened into sequential sublayers.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;8. Parallelism should partition the narrow dataflows of the model&lt;/h2&gt;&lt;p&gt;Parallelism is not one decision. Pipeline, tensor, and expert parallelism divide different dimensions of the model and should be judged by different communication patterns.&lt;/p&gt;&lt;h3&gt;Pipeline parallelism follows the layer stack&lt;/h3&gt;&lt;p&gt;Layers immediately suggest pipelining. The activation passed between layers is compact&amp;#8212;often one embedded token, a small multi-token-prediction block, or brief summaries of prior hybrid group results &amp;#8212;while the weights and KV state used inside a layer are much larger. A pipeline stage can therefore own one or more complete layer groups and pass a relatively small activation to the next stage without overpowered networking.&lt;/p&gt;&lt;p&gt;Pipelining divides model weights cleanly and keeps hot within-layer communication local. Its main drawback is multi-batch occupancy: a fully active pipeline has a different query or batch in every stage. Each stage therefore holds its share of the KV state for all live streams, and the memory benefit eventually stops improving as contexts grow.&lt;/p&gt;&lt;h3&gt;Tensor parallelism belongs where one operation is intrinsically broad&lt;/h3&gt;&lt;p&gt;Attention may need to divide weights and KV state across several accelerators. KV heads, context ranges, or another linear dimension can be partitioned so that each accelerator processes its share before a compact reduction of the token result. Tensor parallelism can also serve unusually large dense transforms.&lt;/p&gt;&lt;p&gt;TP should not spread automatically into every tensor of the layer. A collective that is sensible for a broad attention operation may cost more than the arithmetic of a small expert tensor.&lt;/p&gt;&lt;h3&gt;Expert parallelism follows independent expert tensors&lt;/h3&gt;&lt;p&gt;Most MoE parameter memory may reside in experts. Experts retain no query history of their own; context arrives in the activation. The expert bank can therefore be distributed widely across a peer set and shared by several worker instances.&lt;/p&gt;&lt;p&gt;Wide expert parallelism is useful because the experts are independent and numerous. The router sends compact activations to selected destinations, and those destinations return transformed activations. Expert-parallel width can remain large even if pipeline stages become smaller, allowing switch radix and local memory placement to be chosen independently.&lt;/p&gt;&lt;p&gt;The general rule is straightforward: use pipeline parallelism for the vertical layer sequence, tensor parallelism for large indivisible operations, and expert parallelism for the context-free routed-expert bank. A stage fits comfortably inside a scale-up domain when its available fast memory safely exceeds its local weights, live batch state, and working buffers:&lt;/p&gt;&lt;p&gt;&lt;code&gt;M_{free,node}&amp;gt;\frac{W}{P}+M_{batch}+M_{working}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Modern GPU nodes often exceed that threshold by multiples. When they do, the demanding bandwidth, power, and latency requirements can remain inside one node while thinner pipeline activations and KV movement use scale-out links. The rest of the fast memory is probably not earning any revenue. Data sitting idle in memory is an expense, data moving to be processed is revenue.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bgFY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F092167fa-cb58-4f8e-a168-1c60bf339415_2079x1739.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 12. Pipeline, tensor, and expert parallelism follow different dimensions of a layer group." class="sizing-normal" height="1218" src="https://substackcdn.com/image/fetch/$s_!bgFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F092167fa-cb58-4f8e-a168-1c60bf339415_2079x1739.png" title="Figure 12. Pipeline, tensor, and expert parallelism follow different dimensions of a layer group." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 13. Pipeline, tensor, and expert parallelism follow different dimensions of a layer group.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;9. A logical accelerator node&lt;/h2&gt;&lt;p&gt;A logical node is easier to understand as a peer set arranged in a ring than as a literal circuit-board layout. The ring contains perhaps sixteen accelerators. Each accelerator pairs a compute region with local fast memory. The units connect through a strong scale-up fabric. A CPU coordinates workload and memory management, while a NIC connects the node to rack and datacenter resources.&lt;/p&gt;&lt;p&gt;The ring is just a visualization which shows the accelerators as peers, with equal standing. I am not implying the node-internal network should be a ring. It could be hub and spoke, rail, all-to-all, torus, hypercube .. whatever floats your boat, so long as it can handle the highest dataflows the rack contains with low latency and low energy per bit. I&amp;#8217;ll just draw it as a ring for simplicity.&lt;/p&gt;&lt;p&gt;This representation avoids committing too early to package placement, board routing, or switch implementation. The actual machine may use a central switch, several switches, direct links, or a hierarchical fabric. The logical requirement is a bounded peer set with predictable fast local communication.&lt;/p&gt;&lt;p&gt;The accelerator design may vary. One version may use SRAM-heavy processing-in-memory units. Another may use hybrid-bonded DRAM, or IGZO memory cells placed on top during BEOL processing. Another may use a hybrid-bonded high-bandwidth true 3D memory. Memory capacity and bandwidth can change while this logical model remains useful.&lt;/p&gt;&lt;p&gt;The node is the natural place to keep work that repeats at high frequency. Attention partitions exchange compact partial results. Routed expert activations travel to local destinations. Expert outputs return for recombination. Shared state and scheduling metadata remain near the CPU. The NIC carries pipeline activations, KV blobs, and work assignments beyond the node.&lt;/p&gt;&lt;p&gt;A node may be smaller than a rack like we see in an SGX node with 8 GPUs, or a scale-up system may span the whole rack like we see with NVL72. The logical symbol remains valid in either case. If scale-up already covers the rack, the separate rack-backbone level disappears and the next boundary is directly to scale-out networking.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5yYB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff6ec22-e5fb-405a-8165-4a6b44c92198_875x604.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 13. A 16-accelerator peer set on a scale-up fabric." class="sizing-normal" height="604" src="https://substackcdn.com/image/fetch/$s_!5yYB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff6ec22-e5fb-405a-8165-4a6b44c92198_875x604.png" title="Figure 13. A 16-accelerator peer set on a scale-up fabric." width="875" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 14. A 16-accelerator peer set on a scale-up fabric.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;10. Nodes stack to make racks&lt;/h2&gt;&lt;p&gt;The ring becomes more expressive when tilted as broad, shallow hardware cr&amp;#234;pe. Several units can be stacked vertically in a rack, like model layer groups stacked in model depth.&lt;/p&gt;&lt;p&gt;This repeated form makes the model-to-hardware relationship easier to see. A layer-group cr&amp;#234;pe can be placed onto one hardware cr&amp;#234;pe. Several layer groups can occupy one node if memory permits. One layer group can span several tightly connected nodes if attention or expert capacity requires it. The mapping can expand or contract without changing the basic visual vocabulary.&lt;/p&gt;&lt;p&gt;A rack may be organized in several ways:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;one rack-wide scale-up domain;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;several node-scale islands connected by a rack backbone;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;pipeline stages distributed among those islands;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;wide expert placement within each stage;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;or a mixture of stage-local scale-up and shared scale-out links.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The rack backbone is therefore an optional middle level. Some systems extend the scaleup fabric across the rack needing no separate node connector. Others use strong local node fabrics and a distinct top-of-rack or shared-rail network. Above the rack, scale-out networking connects storage, prefill pools, decode pools, and other racks.&lt;/p&gt;&lt;p&gt;The repeated rack units also help separate two kinds of scale. The model can fit within one bounded rack worker, while the factory scales by adding many workers. The first problem is function placement. The second is worker orchestration.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9JtJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69500e04-c899-42bb-afd9-854d41716196_2614x1376.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 14. Accelerator nodes stacked into a rack." class="sizing-normal" height="766" src="https://substackcdn.com/image/fetch/$s_!9JtJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69500e04-c899-42bb-afd9-854d41716196_2614x1376.png" title="Figure 14. Accelerator nodes stacked into a rack." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 15. Accelerator nodes stacked into a rack.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;11. One layer group reuses the node over time&lt;/h2&gt;&lt;p&gt;A layer group does not require every operation in the algorithm at peak intensity simultaneously. Its operations form a repeating sequence that reuses the same hardware for different work over the decode cycle.&lt;/p&gt;&lt;p&gt;Attention may spread across much of the ring, using many memory channels and several compute units. The query and output transformations use model weights in more compact operations. Shared feed-forward work may use a dense region. Selected experts then activate local memory-and-compute regions around the ring. Recombination returns a compact result.&lt;/p&gt;&lt;p&gt;The same physical accelerators can participate differently at each step. Execution units that calculate attention may later execute one or more experts. Memory channels used to stream KV state can later feed expert weights. Buffers and local links are reused as the token advances.&lt;/p&gt;&lt;p&gt;This time-sharing is central to an efficient design. Static diagrams can make the machine appear underused because not every block is active at once. In reality the hardware is serving a sequence of different operations, and the goal is to keep the sequence moving with little setup or synchronization overhead.&lt;/p&gt;&lt;p&gt;The broad layer-group cr&amp;#234;pe and the accelerator peer set are complementary. The cr&amp;#234;pe shows the algorithmic flow; the ring shows the reusable physical resources beneath it. Mapping is the act of aligning each stage of the flow with a suitable subset of the ring.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NjGC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20777839-1d23-4fd0-8474-75f9dd6c7835_821x325.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 15. One layer group reuses the peer set over time." class="sizing-normal" height="325" src="https://substackcdn.com/image/fetch/$s_!NjGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20777839-1d23-4fd0-8474-75f9dd6c7835_821x325.png" title="Figure 15. One layer group reuses the peer set over time." width="821" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 16. One layer group reuses the peer set over time.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;12. Put throughput boundaries where the flow is smallest&lt;/h2&gt;&lt;p&gt;Once the model and machine are drawn as connected flows, the placement rule becomes clear: frequent, latency-sensitive communication should remain inside the strongest local fabric, while weaker links should carry compact or amortized transfers.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3hdE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaccb4c8-8dad-4d10-b414-ac79c068e9bd_800x944.gif" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 16. The general flow of operation of an MoE pipeline stage (animated)." class="sizing-normal" height="944" src="https://substackcdn.com/image/fetch/$s_!3hdE!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaccb4c8-8dad-4d10-b414-ac79c068e9bd_800x944.gif" title="Figure 16. The general flow of operation of an MoE pipeline stage (animated)." width="800" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 17. The general flow of operation of an MoE pipeline stage (animated).&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Attention partitions may exchange partial results every layer. Expert routing sends activations to selected experts and returns their outputs. This traffic is not always the largest by byte count, but it is frequent, bursty, and sensitive to synchronization. It belongs inside the chosen scale-up domain whenever practical.&lt;/p&gt;&lt;p&gt;The activation passed between layers or layer groups is much smaller. A pipeline boundary can therefore cross a weaker link without moving the layer&amp;#8217;s full internal working set. KV blobs are larger, but they move at worker boundaries and are amortized across many generated tokens. Their path can use striped or torrented scale-out networking and shared storage rather than consuming the innermost tensor fabric.&lt;/p&gt;&lt;p&gt;The router-to-expert boundary is typically a medium-throughput all-to-all carrying compact activations. Its difficulty often comes from endpoint count, synchronization, and routing efficiency rather than raw byte volume. Keeping it within the scale-up domain of a node or rack limits both latency and operational complexity.&lt;/p&gt;&lt;p&gt;This hierarchy is easier and cheaper to build than a machine in which every link is equally strong. Scale-up paths surround the operations that exchange embeddings and partial results within every layer. Scale-out links carry pipeline activations, KV movement, scheduling traffic, and traffic between bounded workers.&lt;/p&gt;&lt;p&gt;The tiers also have different latency requirements. A pipeline transfer between layer groups may barely notice a few microseconds if throughput is sufficient. By contrast, when an expert load and multiply take only a few microseconds, an additional 100 ns at each routing hop is material. The closest links should therefore be integrated tightly with the accelerator fabric, while less frequent transfers can tolerate the scale-out network.&lt;/p&gt;&lt;h2&gt;13. Pipeline by layer group where practical&lt;/h2&gt;&lt;p&gt;The layer group is the natural first candidate for pipeline placement. In a classic MoE model the group repeats one kind of layer. In newer structures it may contain one full-attention layer followed by several optimized- or localized-attention layers.&lt;/p&gt;&lt;p&gt;Keeping a group together can preserve internal dependencies and allow one placement and compilation plan to repeat across stages. Uniform plans reduce tooling cost and simplify deployment. Kernels, memory layouts, communication schedules, monitoring, and failure recovery all become easier when each stage runs the same recurring structure.&lt;/p&gt;&lt;p&gt;It is still possible to cut a pipeline in the middle of a group, although the resulting placement is more complex. If the layers have no special cross-layer dependency, the compact activation boundary remains a low-volume link suitable for networking. A stage may contain several whole groups, one group, or part of a large group depending on memory and throughput requirements.&lt;/p&gt;&lt;p&gt;The guiding principle is not an absolute prohibition on splitting groups. It is to prefer regular boundaries and to understand when a nonuniform split is worthwhile. Tooling and operational simplicity can be as important as a small theoretical placement gain.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jQh6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a4e2dcc-aaaf-4577-9cc4-15ea1fecab2c_683x371.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 17. Four uniform pipeline stages." class="sizing-normal" height="371" src="https://substackcdn.com/image/fetch/$s_!jQh6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a4e2dcc-aaaf-4577-9cc4-15ea1fecab2c_683x371.png" title="Figure 17. Four uniform pipeline stages." width="683" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 18. Four uniform pipeline stages.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;14. Pipeline depth ends at the KV-cache crossover&lt;/h2&gt;&lt;p&gt;Pipeline parallelism divides model weights cleanly. If a model has weight footprint (W) and uses (P) stages, the idealized weight footprint per stage approaches (W/P).&lt;/p&gt;&lt;p&gt;KV-cache demand behaves differently. A full pipeline remains occupied by running a different query or batch in every stage. In an eight-stage pipeline, each stage owns one eighth of the layer-wise KV values for each of eight live streams. The reduction in layers per stage is offset by the number of simultaneous streams, so the stage does not receive the same (1/P) reduction in live KV demand that it receives for weights.&lt;/p&gt;&lt;p&gt;A useful stage-memory estimate is:&lt;/p&gt;&lt;p&gt;&lt;code&gt;M_{stage}\approx \frac{W}{P}+M_{KV,stage}+M_{working}+M_{slack}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Once weights per stage fall to the same order as KV and working-state memory, deeper pipelining produces little additional capacity benefit while adding coordination and latency.&lt;/p&gt;&lt;p&gt;The crossover depends strongly on model design. Classical full-attention approaches can require hundreds of kilobytes of KV state per token across all layers. MLA-like designs are commonly in the tens of kilobytes, while recent hybrid layer groups with mostly linear, recurrent, or local attention can be lower still. A working average near 25 kB per token may be reasonable for some new hybrids; approximately 70 kB per token is a conservative reference point for a proven compressed-attention design.&lt;/p&gt;&lt;p&gt;As a back-of-the-envelope design target, take 70 kB per token and two million tokens of aggregate live context assigned to one stage. That is roughly 140 GB of KV state. Double buffering allows one working set to move while another continues to run, raising the KV allowance toward 280 GB. Add model weights, activations, transient buffers, routing tables, fragmentation, and operating margin, and a stage target of roughly 400&amp;#8211;500 GB of local fast memory becomes a useful 2027 benchmark.&lt;/p&gt;&lt;p&gt;Other designs can reduce requirements through streaming, compression, partial residency, or additional tiers. The estimate is not a universal requirement; it is a standard that a practical frontier system should be able to accommodate without heroic assumptions.&lt;/p&gt;&lt;p&gt;The stage can distribute this memory over several accelerator sockets if they share a scale-up fabric. More than 95% of the weight memory in a large MoE is in routed experts, which divide naturally among sockets. KV state can be partitioned by head, context, or attention instance, with the resulting collectives matched to the same local fabric.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ERxU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0253c-ef2c-4d77-83f9-e4724706da44_889x713.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 18. Fast-memory demand is stage weights, live KV state, working buffers, and margin." class="sizing-normal" height="713" src="https://substackcdn.com/image/fetch/$s_!ERxU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0253c-ef2c-4d77-83f9-e4724706da44_889x713.png" title="Figure 18. Fast-memory demand is stage weights, live KV state, working buffers, and margin." width="889" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 19. Fast-memory demand is stage weights, live KV state, working buffers, and margin.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;15. Prefill and midfill turn sparse routes into dense expert batches&lt;/h2&gt;&lt;p&gt;Prefill and midfill have strong batching opportunities because many input-sequence tokens complete attention before expert execution begins. The router can score all tokens, emit several destinations for each one, and then sort the route records by expert.&lt;/p&gt;&lt;p&gt;A practical input block can contain enough assignments that essentially every expert receives work. If 128 new tokens each select eight experts, the router emits 1,024 assignments across a 256-expert bank. Routing remains sparse for each token; sorting changes the execution order so that expert e000 processes all of its assigned tokens, then e001, and so on. Each expert is loaded once and reused for its compact token list instead of being repeatedly loaded in token order.&lt;/p&gt;&lt;p&gt;For an expert with (W) weights, weight traffic (B_W), activation traffic (B_A) per routed token, output traffic (B_O), and (n) assigned tokens, a rough arithmetic-intensity expression is:&lt;/p&gt;&lt;p&gt;&lt;code&gt;AI_{expert}\approx \frac{2nW}{B_{W}+nB_{A}+B_{O}}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;When weight traffic dominates, increasing (n) rapidly improves reuse. Eventually activation, output, and routing traffic become important and the gain flattens.&lt;/p&gt;&lt;p&gt;The sort is not free. Route records must be built, counted, permuted, sent to expert destinations, and restored to token order. Expert capacity limits can cause overflow or rerouting. Even so, prefill and midfill begin with enough tokens that the optimization is usually meaningful.&lt;/p&gt;&lt;p&gt;This is the key distinction from decode. The experts are identical; what changes is the number of routed activations available when the worker executes them.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Om5H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f61e24-3c24-48f9-b682-8723d3323571_950x743.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 19. Sorting lets each expert load once and process every token assigned to it." class="sizing-normal" height="743" src="https://substackcdn.com/image/fetch/$s_!Om5H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f61e24-3c24-48f9-b682-8723d3323571_950x743.png" title="Figure 19. Sorting lets each expert load once and process every token assigned to it." width="950" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 20. Sorting lets each expert load once and process every token assigned to it.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;16. Decode gains less from batching&lt;/h2&gt;&lt;p&gt;Decode attention receives little direct cross-query reuse. Each additional query contributes another KV cache and another context scan. Shared query-projection weights can be reused, and software overhead can be amortized, but the dominant long-context read remains private to the query.&lt;/p&gt;&lt;p&gt;Decode experts offer potential sharing because the expert weights are context-free. The practical limitation is sharing probability. A model may contain hundreds of routed experts in every layer and thousands of layer-experts across the model. Each query contributes one new token per pass and selects only a few destinations. At small batch sizes, only a few routed tokens are available and most active experts receive work from just one token. Some sharing occurs, but it grows gradually with the number of tokens in the pass.&lt;/p&gt;&lt;p&gt;Shared transformations provide more conventional weight reuse, but they are a smaller fraction of an MoE model. The overall throughput gain from enlarging a decode batch can therefore be modest compared with the increase in latency and KV-memory pressure.&lt;/p&gt;&lt;p&gt;A batch of one is not a trivial workload when context length is 100,000 tokens or more. The attention scan already occupies substantial memory bandwidth. The optimum batch size is not necessarily one&amp;#8212;software launch, allocation, routing, and hardware utilization still matter&amp;#8212;but it may be much closer to one or five than to the large batches associated with throughput-oriented serving.&lt;/p&gt;&lt;p&gt;This matters economically. Interactive tokens can be more valuable than bulk delayed tokens. Multiplying latency to gain a fractional throughput improvement may be a poor trade. Hardware and software should remove impediments to useful small-batch operation rather than making large batches a prerequisite for efficiency.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EiMQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e527fb-7eca-4cd5-9b68-3e8c0c7df672_2312x1203.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 20. Decode uses multiple routes but rarely shares experts at small batch sizes." class="sizing-normal" height="758" src="https://substackcdn.com/image/fetch/$s_!EiMQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e527fb-7eca-4cd5-9b68-3e8c0c7df672_2312x1203.png" title="Figure 20. Decode uses multiple routes but rarely shares experts at small batch sizes." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 21. Decode uses multiple routes but rarely shares experts at small batch sizes.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;17. Scheduling makes disaggregation useful&lt;/h2&gt;&lt;p&gt;Disaggregation becomes most effective as a statistical system at cloud scale. A large pool can contain workers configured for long prefill, short prefill, long-context decode, short-context decode, or other useful classes. The orchestrator assigns each job to a suitable available worker and moves the required KV blobs through shared storage.&lt;/p&gt;&lt;p&gt;Prefill and midfill work are predictable once the prefix size, new-token count, and worker configuration are known. Decode is stochastic because output length is uncertain. Storage between the pools decouples predictable production from irregular consumption. A ready buffer of completed prefill and midfill work can keep decode workers fed even as individual queries finish at different times.&lt;/p&gt;&lt;p&gt;The scheduler should observe customer workloads and time-of-day patterns, anticipate known ramps, and reconfigure workers as the mix changes. Reconfiguration may mean loading different model stages, changing pipeline cardinality, reallocating expert capacity, or moving a rack among prefill, midfill, and decode.&lt;/p&gt;&lt;p&gt;Scale matters. In a small fixed benchmark, one input-fill stage may be connected directly to one decode stage. A slow stage can strand capacity elsewhere in the other stage. In a large pool, workers complete and start independently so no worker need be stranded.&lt;/p&gt;&lt;p&gt;High interactivity and high utilization are therefore not inherently opposed. The scheduler can keep batches small while keeping machines busy, provided it has enough workers, enough storage bandwidth, enough visibility into the work, and fast enough response times to adapt to the moment.&lt;/p&gt;&lt;p&gt;The service overview in Figure 1 provides the corresponding system picture: four resource pools with the orchestrator spanning beneath them.&lt;/p&gt;&lt;h2&gt;18. Feedback can turn a small imbalance into oscillation&lt;/h2&gt;&lt;p&gt;A tightly coupled system can amplify ordinary variation. Suppose admission to input fill is gated directly by the retirement of decode queries. A long-running decode query delays retirement. Input-fill admission falls. Decode later drains its ready queue and becomes underfed. Admission then opens aggressively, producing a burst of input-fill jobs and a new wave of congestion.&lt;/p&gt;&lt;p&gt;This is a delayed feedback loop. The control signal arrives after the system state has changed. Large batch recovery can make the loop worse by increasing KV-memory pressure and response latency. The factory alternates between full and empty rather than operating near a steady point.&lt;/p&gt;&lt;p&gt;No single scheduler policy solves the problem. Several familiar control techniques help:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;use ready-work buffers between stages;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;regulate admission from smoothed backlog and predicted service rate rather than individual retirements;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;separate fast local controls from slower capacity controls;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;apply hysteresis to worker reconfiguration;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;reserve capacity for short interactive work;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;and avoid changing batch size more quickly than the system can observe its effect.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The same principle extends across timescales. Microsecond worker scheduling, millisecond token flow, second-scale buffers, minute-scale worker reconfiguration, and hour-scale demand planning should not all respond to the same noisy signal.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dEj5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6442464-d72d-4e1d-a3ff-6d020b0854c5_2090x1046.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 21. From retirement-gated oscillation to steady flow." class="sizing-normal" height="729" src="https://substackcdn.com/image/fetch/$s_!dEj5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6442464-d72d-4e1d-a3ff-6d020b0854c5_2090x1046.png" title="Figure 21. From retirement-gated oscillation to steady flow." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 22. From retirement-gated oscillation to steady flow.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;19. Aggregation Compared to Disaggregation&lt;/h2&gt;&lt;p&gt;Now that we have exhaustively described disaggregated inference, is there a case to be made for aggregation? To some extent, yes. Clearly, since conversations can pause for minutes and hours it is not reasonable to keep a whole conversation tied to one system. That HBM can be put to better use within seconds of the end of a turn, and modern scaleout networks can move gigabytes of KV cache to a cheaper place in a parallel storage system, which can tier DRAM and SSD, in less than a second.&lt;/p&gt;&lt;p&gt;However, during a turn, do we need to schedule more than one place to get the work done? It is expensive to have too many different designs of server, adding operational costs as well as design work. What if there were only one design, and it centers on the midfill case? A request can be scheduled to that empty worker and stay there for prefill, midfill, and decode. It would need to have enough compute for prefill and midfill, and enough memory bandwidth for decode. There would always be some stranded capacity for either compute or memory transfer, depending on which stage the model is running, but we already tolerate low MFUs on GPUs. We try to overcome that with clever kernels, but in practice clusters run with stranded functions all the time.&lt;/p&gt;&lt;p&gt;Complex orchestration will result in some stranding. Some of that is avoided if a turn runs on a single aggregated worker. No schedule gap when pre/midfill hands over to decode. Natural sharing of one copy of the wide parallel set of experts. No network overhead to move the context from fill to decode. The orchestrator still looks at the shape of the request &amp;#8211; cache size, input sequence length, model type, customer interactivity level &amp;#8211; and makes one decision which available worker should handle it through all stages of the turn. Then it leaves it alone until the stop token comes out and the turn is delivered to the user and cached to the fast parallel file system. The one worker uses kernels and dataflows adapted to the given request shape as it works through all stages of the turn.&lt;/p&gt;&lt;p&gt;Aggregated workers have their attractions and advocates.&lt;/p&gt;&lt;p&gt;All systems will always strand some capabilities of the accelerators in real world uses. In a disaggregated system there can be two (or more) types of machines built with investment focused on compute, memory, and network actually used, arguably the best use of that investment. Prefill machines might invest in compute, while decode machines might invest in memory. If workers are aggregated, then one machine will be used through all phases so it needs to invest in the strongest compute and the strongest memory thruput. Maybe also strong network. If is not an all-around standout, then it will be held back by its weaker sections and be an overall &amp;#8220;meh&amp;#8221;. So, aggregation has advantages but it also leaves nowhere to hide in delivering the best of all-around performance. If you can build that magic all around star, then aggregating the whole turn in one worker could be best.&lt;/p&gt;&lt;h2&gt;20. Memory bandwidth and memory capacity are different objectives&lt;/h2&gt;&lt;p&gt;Memory is often discussed as two independent scalars to maximize. In practice, capacity and bandwidth trade against each other, and their economic value must be considered together.&lt;/p&gt;&lt;p&gt;Data earns revenue when it moves; it incurs cost while sitting idle. An accelerator with very high memory throughput can produce tokens at a rate that lower-bandwidth memory cannot match, even if the lower-bandwidth configuration has more capacity. Capacity is valuable until the active weights, KV state, activations, and operating slack fit cleanly. Beyond that point, additional local capacity may add cost but not revenue.&lt;/p&gt;&lt;p&gt;The capacity curve is not a vertical cliff. Below the useful limit, adding accelerators supplies both more memory and more bandwidth. The advantages end when other limits appear: maximum scale-up width, poor model cuts, the dominance of latencies, extra synchronization, or network contention.&lt;/p&gt;&lt;p&gt;A safe-capacity design point must sit above those limits. It includes margin for realistic context distributions, double buffering, fragmentation, failures, and transient peaks. The revenue-capacity curve rises steeply before that point, rounds smoothly, and then reaches a flatter ceiling determined mainly by bandwidth and compute. Revenue may even decline if excess capacity becomes a sunk cost that operations try to justify with big slow batches of high throughput but inferior value.&lt;/p&gt;&lt;p&gt;Accelerator HBM is too expensive to hold idle data without immediate use. Completed KV blobs should move into CPU DRAM for outgoing staging and then into scale-out storage. Frequently reused common blobs may remain replicated in shared CPU memory or nearby cache appliances. Only the active working set can pay for the most expensive memory.&lt;/p&gt;&lt;p&gt;Tall stacks of high-capacity memory may impose costs in power, signal quality, packaging, and frequency. A design with just enough capacity and exceptional bandwidth may serve interactive inference at higher margins than one that maximizes capacity per accelerator with idle excess.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!66Yn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb34940fd-4858-40a2-96c7-8b772840772c_2398x1696.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 22. Revenue per machine versus local fast-memory capacity." class="sizing-normal" height="1030" src="https://substackcdn.com/image/fetch/$s_!66Yn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb34940fd-4858-40a2-96c7-8b772840772c_2398x1696.png" title="Figure 22. Revenue per machine versus local fast-memory capacity." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 23. Revenue per machine versus local fast-memory capacity.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;21. A practical mapping method&lt;/h2&gt;&lt;p&gt;The prior sections can be condensed into a repeatable method for mapping a model onto a machine.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Separate the operating regimes.&lt;/strong&gt; Measure prefill, midfill, decode attention, and decode experts independently. Each may split further by context length or workload class&amp;#8212;for example agents, coding, media, or content creation. These become prepared configurations that the orchestrator can mix in production.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Describe the repeating layer group.&lt;/strong&gt; Identify full and optimized attention, shared transforms, routed experts, and any cross-layer dependency.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Measure active state rather than total parameters alone.&lt;/strong&gt; Separate stage weights, active experts, live activations, KV state, and transient buffers.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Choose the natural parallel dimension for each operation.&lt;/strong&gt; Pipeline the layer stack, tensor-parallelize broad indivisible work, and distribute independent experts widely.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Map the broadest operation first.&lt;/strong&gt; Long-context attention often determines memory striping and the minimum useful scale-up participation.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Place expert weights in regular local destinations.&lt;/strong&gt; Let routing select among known peer locations rather than creating a global event for every token. A large model may contain on the order of 15,000 layer-experts, and each can be placed with regard to the other experts in its layer and the expected routing distribution. The goal is even use of memory capacity and bandwidth.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keep repeated high-throughput cooperation inside the strongest fabric.&lt;/strong&gt; Let thinner activations and amortized KV movement cross weaker boundaries. Respect latency and power cliffs as well as throughput cliffs.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stop increasing pipeline depth at the KV-memory crossover.&lt;/strong&gt; Once the model and target context fit with safe margin, additional stages bring little memory benefit and add stage-transition latency.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use input fill and decode differently.&lt;/strong&gt; Sort prefill and midfill routes into expert batches; preserve small-batch decode interactivity.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Design storage and scheduling with the worker.&lt;/strong&gt; KV movement, admission control, ready buffers, and worker reconfiguration determine whether the physical mapping produces steady throughput. Short batches and continuous batch updates let the orchestrator replace individual requests without waiting for the whole batch to retire.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The method does not select one universal topology. It makes the trade-offs visible. A peer set may be one package, one board, or a rack-wide scale-up domain. A layer-group cr&amp;#234;pe may map to one node or several. The important point is that the communication hierarchy follows the model&amp;#8217;s actual flow.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vpdJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d85edd1-be4f-481c-a4f9-b48bf9499549_2638x1090.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 23. A practical sequence for mapping the model onto a worker and then into a token factory." class="sizing-normal" height="602" src="https://substackcdn.com/image/fetch/$s_!vpdJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d85edd1-be4f-481c-a4f9-b48bf9499549_2638x1090.png" title="Figure 23. A practical sequence for mapping the model onto a worker and then into a token factory." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 24. A practical sequence for mapping the model onto a worker and then into a token factory.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;22. The next view is time&lt;/h2&gt;&lt;p&gt;The diagrams so far describe structure and flow. The next step is to place time over them.&lt;/p&gt;&lt;p&gt;Interactive decode has a tight end-to-end budget. Execution of one layer commonly needs to fit within roughly 50 microseconds to 1 millisecond, which across a typical 60-layer model corresponds to roughly 15 to 300 generated tokens per second. Each layer contains several sequential phases, so individual arithmetic operations and handoffs live in tens of microseconds, microseconds, and sometimes fractions of a microsecond.&lt;/p&gt;&lt;p&gt;At that scale, tensor arithmetic is only part of the result. Kernel launch, queueing, synchronization, memory setup, routing, reduction, and link latency must all remain small compared with the operation they support. An expert multiply that takes a fraction of a microsecond is of diluted value if dispatch and data movement take several microseconds each.&lt;/p&gt;&lt;p&gt;The timing view also sharpens the network hierarchy. A high-bandwidth path may still be unsuitable if its setup latency is too large. A small local buffer can be more valuable than a large distant memory tier for a sub-microsecond handoff. A scheduler that creates millisecond variation can overwhelm careful microsecond engineering inside the worker.&lt;/p&gt;&lt;p&gt;The factory spans several control timescales:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;local arithmetic and link handoffs in fractions of a microsecond to microseconds;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;layer execution in roughly 50 microseconds to 1 millisecond;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;token generation in milliseconds;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;ready buffers and admission control in roughly 0.1 to 10 seconds;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;worker reconfiguration by the orchestrator over seconds to minutes;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;KV-blob retention and lifecycle in the fast parallel file system over minutes to days;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;and customer demand planning over hours and days.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;These loops should be designed separately and joined carefully. Fast controls should not chase slow demand noise, and slow controls should not react to every transient queue fluctuation.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BUH2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1ddae71-31af-4a95-8b42-61c3f24bfd5a_2096x1807.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 24. From local execution to factory-control timescales." class="sizing-normal" height="1255" src="https://substackcdn.com/image/fetch/$s_!BUH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1ddae71-31af-4a95-8b42-61c3f24bfd5a_2096x1807.png" title="Figure 24. From local execution to factory-control timescales." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 25. From local execution to factory-control timescales.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;23. Worked example: projected Kimi K3 performance on Blackwell systems&lt;/h2&gt;&lt;p&gt;The preceding sections describe a method for reasoning about model placement. A useful check is to apply it to a specific frontier model and explore the resulting trade-offs together. The following charts show modeled Kimi K3 performance on B200, B300, and GB200 systems using configurations from 16 to 64 GPUs in a rack. These are workload-and-hardware projections, not measured benchmark results. Connected lines identify projected Pareto frontiers: configurations for which interactivity cannot improve without giving up throughput or another selected objective.&lt;/p&gt;&lt;h3&gt;22.1 Interactivity and throughput&lt;/h3&gt;&lt;p&gt;The first chart compares time per output token for decode, or time to first token for prefill and midfill, against tokens per second per GPU. Normalizing throughput per GPU makes configurations of different sizes directly comparable.&lt;/p&gt;&lt;p&gt;The lower-left group contains decode frontiers for 8k and 32k input contexts. Feasible configurations appear for all three GPU types. GB200 is strong across much of the frontier, while B200 and B300 also offer competitive points. The lowest-latency decode configurations generally combine pipeline and tensor parallelism. At the throughput-oriented end, the highest tokens per second per GPU tend to come from one attention instance per GPU, without tensor or pipeline parallelism, while expert parallelism remains as wide as the system permits.&lt;/p&gt;&lt;p&gt;The upper-middle group is midfill: 127k cached input tokens followed by a 1k-token append before decode. GB200 leads the low-TTFT portion without pipeline parallelism, using TP=4 or TP=2. B300 catches up toward the throughput-oriented end. B200 and B300 generally use PP=4, with expert parallelism bounded within each stage so the expert all-to-all remains inside the node.&lt;/p&gt;&lt;p&gt;The two groups at upper right are 8k- and 32k-token prefills. All three GPU types converge on similar configurations: PP=4, with TP=4 or TP=2 favoring lower TTFT at some cost in throughput. Their close projected performance reflects the shared Blackwell compute architecture and the compute-limited nature of these prefill workloads.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4rOA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f424d0d-368f-461d-8b78-5433bed03128_2048x1274.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 25. Projected interactivity and throughput frontiers for decode, midfill, and prefill. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="906" src="https://substackcdn.com/image/fetch/$s_!4rOA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f424d0d-368f-461d-8b78-5433bed03128_2048x1274.png" title="Figure 25. Projected interactivity and throughput frontiers for decode, midfill, and prefill. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 26. Projected interactivity and throughput frontiers for decode, midfill, and prefill. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;22.2 Energy per query&lt;/h3&gt;&lt;p&gt;The second chart uses the same simulated configurations but changes the vertical axis to energy per completed query. Decode is the largest energy workload because the modeled output length is 1,000 tokens, requiring roughly 1,000 passes through the model for every query. Midfill uses the least energy: it appends a relatively short sequence after one pass through an existing long context. Full 8k and 32k prefills require successively more energy.&lt;/p&gt;&lt;p&gt;The model includes Kimi K3&amp;#8217;s localized-attention layers, so both retained state and computation reflect the expected savings from the attention structure rather than treating every layer as full attention.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L_rU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab3a5dc-803c-4d91-b513-ca10e9ea2df6_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 26. Projected energy per query for the same decode, midfill, and prefill frontiers. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!L_rU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab3a5dc-803c-4d91-b513-ca10e9ea2df6_2048x1289.png" title="Figure 26. Projected energy per query for the same decode, midfill, and prefill frontiers. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 27. Projected energy per query for the same decode, midfill, and prefill frontiers. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;22.3 Fast-memory requirements&lt;/h3&gt;&lt;p&gt;The third chart shows peak HBM residency per GPU. It excludes the extra buffers used while KV state enters or leaves the worker, which may add several gigabytes per GPU. Between conversational or agentic turns, inactive KV blobs can be transferred in parallel to network-attached DDR, including the DRAM attached to node CPUs. That memory is cheaper, more available, and less constrained by the HBM supply chain.&lt;/p&gt;&lt;p&gt;The projected frontiers cluster near the lower end of the feasible memory range. For prefill and midfill, the downward steps come from adding pipeline parallelism and increasing tensor or data parallelism, including data-parallel ring-batched instances. Decode reduces per-GPU residency first through tensor or data parallelism, using pipeline parallelism later.&lt;/p&gt;&lt;p&gt;Most frontier configurations remain below approximately 80 GB per GPU even after allowing for practical KV-transfer buffers. This supports the earlier conclusion that bandwidth can be more valuable than maximizing HBM capacity on every accelerator, provided the broader storage and orchestration system moves idle state promptly.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-v6T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf12d141-27cf-4c91-9532-9978c5a3a792_2792x1796.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 27. Projected peak HBM residency per GPU across the simulated frontiers. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="937" src="https://substackcdn.com/image/fetch/$s_!-v6T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf12d141-27cf-4c91-9532-9978c5a3a792_2792x1796.png" title="Figure 27. Projected peak HBM residency per GPU across the simulated frontiers. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 28. Projected peak HBM residency per GPU across the simulated frontiers. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;22.4 Network peaks and the scale-up boundary&lt;/h3&gt;&lt;p&gt;The fourth chart shows projected peak network traffic per GPU. Prefill and midfill make intensive use of the network for expert parallelism because many routed activations are in flight at once. Pipeline parallelism is therefore particularly useful on B200 and B300 systems: placing one stage inside a node keeps its expert all-to-all traffic on the local NVLink fabric.&lt;/p&gt;&lt;p&gt;GB200 NVL72 extends scale-up bandwidth across the rack. More GPUs can therefore participate in one layer in parallel, with all instances advancing through that layer in synchrony, to improve latency and throughput without crossing a weaker network boundary.&lt;/p&gt;&lt;p&gt;Decode shows lower interval-averaged peaks because a small batch consults relatively few experts at once. Individual transfers still burst at the physical NVLink rate; the lower plotted value reflects a measurement interval longer than the transfers themselves. This distinction between instantaneous link rate and sustained traffic matters when sizing the fabric and interpreting utilization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!485f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f02faa0-a5dd-4f3f-bc27-37c4f6912894_2652x1652.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 28. Projected peak network traffic per GPU and the benefit of keeping expert traffic inside the scale-up domain. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="907" src="https://substackcdn.com/image/fetch/$s_!485f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f02faa0-a5dd-4f3f-bc27-37c4f6912894_2652x1652.png" title="Figure 28. Projected peak network traffic per GPU and the benefit of keeping expert traffic inside the scale-up domain. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 29. Projected peak network traffic per GPU and the benefit of keeping expert traffic inside the scale-up domain. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The four views tell a consistent story. The best configuration changes with the operating regime and the selected point on the latency-throughput frontier. Prefill and midfill reward organized parallelism and stage-local expert traffic. Decode benefits from parallelism at the low-latency end, but the highest throughput per GPU comes from simpler attention instances combined with wide expert placement. Across the projected frontiers, fast-memory capacity appears less restrictive than network placement, memory bandwidth, and orchestration.&lt;/p&gt;&lt;h2&gt;Closing perspective&lt;/h2&gt;&lt;p&gt;The useful unit of analysis for inference is not total parameter count alone. It is the active flow of the model joined to the memory, communication, and timing hierarchy of the machine.&lt;/p&gt;&lt;p&gt;MoE provides structure. Layer groups repeat. Experts are numerous but individually manageable. Attention is broad and increasingly shaped by KV state. Operations occur in sequence and can reuse hardware. Pipeline, tensor, and expert parallelism can each follow the dimension where it is most natural. Prefill and midfill can sort routes into efficient expert batches, while decode can preserve short batches and high interactivity.&lt;/p&gt;&lt;p&gt;The hardware can reflect that structure. A logical accelerator peer set provides a bounded scale-up domain. Nodes stack into racks. A rack may be one scale-up worker or several pipeline stages. Shared storage makes KV blobs movable. Datacenter networking connects bounded workers rather than carrying every inner tensor operation. Scheduling keeps predictable and stochastic stages in steady flow.&lt;/p&gt;&lt;p&gt;Holding the problem this way does not remove its scale. It makes that scale easier to divide. The model, worker, rack, storage system, and scheduler become parts of one coherent design that can be measured, illustrated, and improved.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/computation-and-data-movement-for"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/computation-and-data-movement-for"/>
    <summary type="html">&lt;p&gt;Mixture of Experts, now widely used in frontier models, has changed both the structure of serving and the economics of useful inference. It did more than increase parameter count. It changed which tensors are active for each token, what must remain close together, which transfers need strong local bandwidth, which can tolerate a weaker network link, and how memory movement, storage, and scheduling contribute to useful throughput.&lt;/p&gt;&lt;p&gt;The best place to begin is the service as a whole. Inference runs inside a cluster coordinated by an orchestration layer such as NVIDIA Dynamo, Mooncake, or a custom scheduler. These work closely with inference servers like vLLM or SQlang, and those also have their own orchestration features. This article will not go into the details of how you work with the orchestration software or which you should choose. The article aims to provide an overview of the process and reasons for various features you may use.&lt;/p&gt;&lt;p&gt;A user (or their agent) starts a conversation with a request (query), and the conversation may continue after answers with more requests. The request- answer is a &amp;#8220;turn&amp;#8221;. In modern AI systems the user is often running a in a client application (whether GUI or command-line oriented) and some of the answers coming back from the AI are intercepted by that application as instructions for it to run, things like editing your code or searching your company guidelines on an HR question.&lt;/p&gt;&lt;p&gt;The AI system can also do some of those things itself from its data center, for example it may search the web. The results from these intercept tool actions are also returned to the AI as requests, creating more turns. The server keeps a context (often referred to as KV cache or just cache) which is the distillation of the session, allowing each new request, from user or from tool, to be properly interpreted for overall forward progress. There can be thousands of turns per hour when the user launches an agent on a long-running task. The conversation can also pause and resume hours or even days later.&lt;/p&gt;&lt;p&gt;When a request arrives at the inference servers the orchestration puts it into a queue, while will feed into an input-fill worker, along with any context from system prompts and prior turns in the conversation. The query is then converted into new context appended to the conversation. That new context state is then moved to a decode worker. Decode repeatedly reads the accumulated state, generates answer tokens, and those answer tokens are also appended to the conversation state. The process may loop through tools, agents, users, and further input-fill work. A model worker running on GPUs is only one part of this token factory; storage, networking, and orchestration connect its stages.&lt;/p&gt;&lt;p&gt;Inside the workers, four operating regimes are worth distinguishing from the beginning:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prefill&lt;/strong&gt;, where the initial block of new tokens is processed together.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Midfill&lt;/strong&gt;, where a continuation request is appended to an existing cached context.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Decode attention&lt;/strong&gt;, where the context is used to generate the basics of newly generated tokens.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Decode experts&lt;/strong&gt;, where each basic new token is refined by a selection of experts a large total set of possible experts.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;These regimes place different demands on compute, memory, and networking. Prefill and midfill are closely related, with Prefill being a Midfill with zero prior context. However, Prefill is a common special case, corresponding to one-shot queries like classic &amp;#8220;&amp;#8221;chatbot&amp;#8221; use, and can be optimized a bit differently than Midfill. Prefill reaches high arithmetic intensity (ratio of computation to data movement) and does not need to wait for context to be located and read. Midfill begins from an existing KV cache for prior state and appends a new request input sequence. This generally has a more moderate arithmetic intensity than prefill because there are fewer new tokens and more existing data to move per token.&lt;/p&gt;&lt;p&gt;Decode attention and decode expert work are generally low arithmetic intensity since there are few new tokens compared to the prior context or expert weights, which at decode state are data that needs to be moved. Meanwhile, across all of them, the tensors for attention and for experts are the same regardless of token value, so there is benefit to sharing a single reading of a tensor with as many tokens as can be queued to use it, even tokens coming from unrelated requests by other users which simply happen to be running at the same time and which are networked closely enough to share. Treating all four mode as the same workload gives away much of the structural advantages that MoE models offer in terms of different intensity and different sharing patterns.&lt;/p&gt;&lt;p&gt;In this document we will treat the 4 stages separately, and sometimes assume they are disaggregated. There are tradeoffs between aggregated (where the models stay on one server, which reconfigures as the request progresses between the stages) and disaggregated where the orchestrator may find a free slot on another machine already configured appropriately. Generally we will talk about the stages as disaggregated, with aggregation being a special case of always making the current node available when a previous stage finishes. There will be a section on the trade-offs at the end, after the work to be done has been more completely introduced.&lt;/p&gt;&lt;p&gt;A transformer model is a deep stack of repeating layer groups. A group may contain one kind of layer, or it may contain a full-attention layer together with several linear, local, selective, or otherwise optimized-attention layers (this is a hybrid group of layers). Within each layer, attention, shared transformations, routing, selected experts, and recombination occur in sequence. Those steps are known in advance and repeat continuously, allowing the same hardware resources to serve different parts of the flow at different moments.&lt;/p&gt;&lt;p&gt;The machines can also be described equally simple recurring units. A node is a group of accelerators, typically a tray in a rack, each accelerator pairs compute with local fast memory. A node is coordinated by a CPU and connected to other nodes through NICs (network interface controller). Nodes stack into racks. A rack may act as one scale-up domain when very large tensors are , several smaller scale-up islands, or a set of pipeline stages. Datacenter networking then joins bounded workers to storage and orchestration rather than participating in every inner tensor operation.&lt;/p&gt;&lt;p&gt;This essay follows that progression. It begins with the global service and the operating regimes, then opens the model into wide layer-group slices and maps them onto accelerator nodes and racks. From there it develops pipeline, tensor, and expert parallelism; the limit imposed by KV-cache memory; the different value of batching in prefill, midfill, and decode; and the role of scheduling in a many-rack token factory.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nG_t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e02df36-fc57-4ee4-9015-52aa09fd7c07_2500x1470.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 1. Overview of model stages in an inference service." class="sizing-normal" height="856" src="https://substackcdn.com/image/fetch/$s_!nG_t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e02df36-fc57-4ee4-9015-52aa09fd7c07_2500x1470.png" title="Figure 1. Overview of model stages in an inference service." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 1. Overview of model stages in an inference service.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;1. Orchestration delivers requests via queues into pools of workers&lt;/h2&gt;&lt;p&gt;An inference service is a cluster where prior requests and immutable state are stored when idle and then queued for delivery to specialized workers when a new request pulls in context or a prior request reawakens for continuation. The incoming queue is not yet a batch. Each request carries prompt tokens, references to reusable context, service objectives, and often an existing conversation or agent state. An orchestrator may place it into a prefill, midfill, or decode batch, and the request can join or leave that batch independently as it completes, making that capacity available for new work. Continuous batching works best when the scheduler knows which workers have slots that match the request&amp;#8217;s context length and service objective.&lt;/p&gt;&lt;p&gt;Prefill workers create context from a substantial block of new tokens. Their output is new KV state for every model layer, stored independently of the worker that created it. The KV state moves along model layers, the output of layer K from one turn becomes input to layer K in the next turn. In pipelined servers this creates a natural &amp;#8220;torrenting&amp;#8221; of output and input from separate NICs.&lt;/p&gt;&lt;p&gt;Midfill workers extend previously processed context. The cached prefix may contain system and user prompts, memories, earlier conversation turns, agent steps, or retrieved documents. Large roots may be already cached, while the incremental input can be much smaller than a comparable uncached request: a half-million context may receive only a few hundred or a few thousand new tokens.&lt;/p&gt;&lt;p&gt;Decode workers consume the processed, accumulated context and generate one or a few tokens (multi-token prediction is becoming quite common) per pass. Every generated token adds a small amount of new state. The same context can later return to a midfill worker when a user, tool, or agent contributes another block of input. Agentic work using tools creates a repeated sequence of context extension and generation, not merely one prefill followed by one decode.&lt;/p&gt;&lt;p&gt;A worker may occupy a node, a tray, or a rack. The service becomes large by operating many bounded workers and moving requests and state among them. Depending on precision and working-state requirements, even multi-trillion-parameter models can fit within the aggregate memory of a modern rack-scale system. The datacenter network remains essential because the factory must connect many such workers to shared storage and continuously match worker configurations to demand. KV transfers may be gigabytes in size, but they can be striped or torrented across multiple links and destinations; their movement time can remain well below the lifetime of a long decode job.&lt;/p&gt;&lt;p&gt;This separation is useful for both performance and operations. Prefill and midfill are predictable once the cached-prefix size, new-token count, and worker configuration are known. Decode completion time is stochastic because arrival of the final output token cannot be predicted in advance. Shared memory and storage between the pools let each stage run at its own cadence. Later sections of this article will discuss queues, ready buffers, and worker reconfiguration. For now, the important point is that the service is a loop of stages joined by movable state.&lt;/p&gt;&lt;h2&gt;AgentX examples&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xosE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dba89e-9dfd-4d9d-831c-3dcd1748a45e_2022x776.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 2. &amp;quot;CC Traces Weka&amp;quot; dataset contributed to AgentX, release 34. Source: SemiAnalysis AgentX." class="sizing-normal" height="559" src="https://substackcdn.com/image/fetch/$s_!xosE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dba89e-9dfd-4d9d-831c-3dcd1748a45e_2022x776.png" title="Figure 2. &amp;quot;CC Traces Weka&amp;quot; dataset contributed to AgentX, release 34. Source: SemiAnalysis AgentX." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 2. &amp;#8220;CC Traces Weka&amp;#8221; dataset contributed to AgentX, release 34. Source: SemiAnalysis AgentX.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This is viewed with the SemiAnalysis Conversation Explorer. It shows that context growth during conversations can be quite rapid but also goes through large fluctuations due to compaction and other model behavior which may not be explained in public discussions. Orchestration of the inference context is a competitive advantage for AI companies.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lXqX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a155ad-ce74-4b40-a4bc-b1e4af1fa624_1510x1230.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 3. Cache, new input, and result lengths seen at each turn of the same conversations. Source: SemiAnalysis AgentX." class="sizing-normal" height="1186" src="https://substackcdn.com/image/fetch/$s_!lXqX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a155ad-ce74-4b40-a4bc-b1e4af1fa624_1510x1230.png" title="Figure 3. Cache, new input, and result lengths seen at each turn of the same conversations. Source: SemiAnalysis AgentX." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 3. Cache, new input, and result lengths seen at each turn of the same conversations. Source: SemiAnalysis AgentX.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We can take that same dataset and pull out the cache, new input, and result length values seen at every turn. This visual shows how the Token Factory needs to serve many different workloads. In principle there could be requests similar to each dot in those traces (and more dots from other workload datasets) all running at the same time, assigned to some worker in the AI cluster.&lt;/p&gt;&lt;p&gt;This article aims to survey some of the major functions in inference that make it possible,&lt;/p&gt;&lt;h2&gt;2. KV state moves as immutable blobs&lt;/h2&gt;&lt;p&gt;Reusable context at data-center scale becomes a shared object-store of immutable blobs rather than a file attached to one machine. A system prompt, project context, previous user turns, tool output, and generated tokens can be in separate blobs. A new operation reads the blobs it needs and appends new ones; existing blobs normally remain unchanged. This forward-only structure follows the causal transformer itself. Changes can be handled by backtracking and creating a new branch rather than rewriting the common path.&lt;/p&gt;&lt;p&gt;The durable source of these blobs is a fast, parallel, scale-out memory and storage pool. It needs enough aggregate bandwidth and network reach that prefill, midfill, and decode workers can be selected for suitability and availability rather than because one machine owns the only copy of the context. Newly idle blobs can first move into shared network-attached DRAM, including node-CPU memory and dedicated memory appliances. As that tier fills, a classifier can discard blobs that are not likely for reuse, or promote longer-lived state to SSD. The underlying text and references are often orders of magnitude smaller than the expanded KV representation, so it is possible rebuild a KV blob from that smaller text if the triage decided to reuse space and discarded the expanded embedded state. AI calculations can vary subtly, so while the rebuilt state can be expected to be a valid context, services may take different approaches to how casually they discard and rebuild, and how much they try to keep important immutable state.&lt;/p&gt;&lt;p&gt;For a deeper dive on how the blobs are managed, &lt;a href="https://www.lmsys.org/blog/2026-08-11-unified-radix-cache"&gt;Unified Radix Cache: One Tree for Hybrid Model Prefix Caching - LMSYS Org&lt;/a&gt; is recommended reading. It is not the last word, but it is clearly written and will point you to other sources if you want to look for more.&lt;/p&gt;&lt;p&gt;There are also frequent compactions of state with long-running agents that build up to the maximum context, so in general after a compaction there will be many prior blobs which have been abandoned in favor of a new context. The space from the pre-compaction contexts is probably recycled for new work.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aFGC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1426880-84ea-42b8-be37-ea5e967ad662_2032x816.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 4. AgentX release 34, selected conversations. Source: SemiAnalysis AgentX." class="sizing-normal" height="585" src="https://substackcdn.com/image/fetch/$s_!aFGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1426880-84ea-42b8-be37-ea5e967ad662_2032x816.png" title="Figure 4. AgentX release 34, selected conversations. Source: SemiAnalysis AgentX." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 4. AgentX release 34, selected conversations. Source: SemiAnalysis AgentX.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;You can see compactions occur in the right half of these conversations as contexts get close to the practical context limit for each model (250k tokens for Opus 4.8, 1MT for Fable). There are also &amp;#8220;stalactites&amp;#8221; in both lines which seem transient and reflect some proprietary behavior in Anthropic models.&lt;/p&gt;&lt;p&gt;Accelerator HBM is the &amp;#8220;hot&amp;#8221; working tier. It is too expensive and supply-constrained to be a good default for passive context storage. The active prefix and suffix should enter HBM shortly before use and leave promptly after the worker has finished with them. CPU DRAM is a useful staging and assembly tier, especially for outgoing state: a completed worker can move newly generated blobs into CPU memory while the storage system chooses placement and redundancy, after which the NIC sends them into the shared pool.&lt;/p&gt;&lt;p&gt;For incoming data, RDMA-capable systems may allow the network to place data directly into accelerator memory, avoiding a full copy through CPU DRAM. CPU memory still remains useful for metadata, coordination, partial assembly, fallback paths, replicas, and outgoing staging. When a worker uses multiple GPUs the incoming context can be striped directly to their destination memories in parallel.&lt;/p&gt;&lt;p&gt;Rack-level hot-blob caches can also be useful, whether implemented as memory/storage appliances or making use CPU memory which is assigned to the distributed storage pool. Very common objects such as system prompts are natural candidates. These caches should remain shared scale-out resources rather than private state that binds a request to one decode machine. HBM is several times more expensive and more supply-constrained than DDR. HBM&amp;#8217;s best use is for data ina an active batch currently earning revenue.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JBSP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e1c09c0-f0e2-403a-83fa-b089cb442e4e_903x597.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 5. KV blobs moving through storage and worker memory." class="sizing-normal" height="597" src="https://substackcdn.com/image/fetch/$s_!JBSP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e1c09c0-f0e2-403a-83fa-b089cb442e4e_903x597.png" title="Figure 5. KV blobs moving through storage and worker memory." width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 5. KV blobs moving through storage and worker memory.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Data input is generally larger than output. Midfill commonly reads a large prefix and appends a meaningful but smaller suffix. Decode reads the accumulated context and appends only the state for one or a few generated tokens. The reads are repeated, the writes usually occur just once. The system design should show these differences directly with the width of each data path.&lt;/p&gt;&lt;h2&gt;3. Prefill, midfill, and decode create distinct operating regimes&lt;/h2&gt;&lt;p&gt;The global service contains several computational regimes. Their differences are more useful than the generic labels &lt;em&gt;compute-bound&lt;/em&gt; and &lt;em&gt;memory-bound&lt;/em&gt;, because each has a different opportunity for reuse and a different natural mapping onto hardware.&lt;/p&gt;&lt;h3&gt;3.1 Prefill&lt;/h3&gt;&lt;p&gt;Classic prefill begins with little or no reusable KV state and processes a substantial block of new tokens. Those tokens share weight loads, use matrix operations efficiently, and create enough routed activations to form useful shared-expert batches. Attention and dense transforms can reach high arithmetic intensity, so prefill is often constrained primarily by compute. Long initial input contexts can raise memory traffic but these rarely get to 100,000 tokens in length, while midfill is commonly beyond that.&lt;/p&gt;&lt;h3&gt;3.2 Midfill&lt;/h3&gt;&lt;p&gt;Midfill appends new tokens to a much longer cached prefix. The new block can still provide hundreds or thousands of activations for shared weight and expert reuse, raising arithmetic intensity to thousands of ops per byte of data. Attention must also read a large existing KV state, which can be tens of GB. It therefore sits in a mixed regime: more arithmetic reuse than decode, but much more cached-state traffic than an initial prefill of the same new-token count.&lt;/p&gt;&lt;h3&gt;3.3 Decode attention&lt;/h3&gt;&lt;p&gt;Decode advances on input of one or a few tokens per query. Each query brings its own KV state which is similar in length to what midfill processes. While prefill differs from midfill on length of cache, decode differs from midfill in input sequence length. These one to few input tokens keep arithmetic intensity low, this work is clearly dominated by the memory movement around the KV cache.&lt;/p&gt;&lt;p&gt;For long contexts, the attention read can exceed the size of tensor operations associated with model weights. Attention is therefore one of the largest operations in modern decode even though most model parameters reside in experts. Delta, top-k, or linear-attention algorithm layers can reduce the burden, but periodic use of a layer with full attention remains a major memory load. Each query brings its own context, so batching queries does not change the arithmetic intensity of attention.&lt;/p&gt;&lt;h3&gt;3.4 Decode experts&lt;/h3&gt;&lt;p&gt;Experts are not specific to the decode phase. Everywhere the model runs the experts run, and they require no context other than one token&amp;#8217;s embedding. The history of the query has already been compressed into the activation presented to the expert. This allows various designs that share the experts across all available GPUs, reducing memory size per GPU and increasing the memory bandwidth / memory size, or memory intensity ratio. You can look at the interval needed for a GPU to read all its experts as the best case interactivity (token rate seen by each user) and so if the memory bandwidth remains constant but the GPU is responsible for fewer experts, interactivity can be higher. The gotcha is that networking needs also rise, and the all-to-all pattern needed for routing to experts is a difficult one.&lt;/p&gt;&lt;p&gt;At the end of attention (in prefill, midfill, or decode) a router calculation (a small tensor operating on the unrefined token) selects a few experts for each new token. Tokens that select the same expert can share a tensor-weight load even when they come from different requests, so long as they can be gathered together in time to take advantage of the same weight loading. In practice their may be 15,000 experts across all the layers, so taking advantage of such coincidences requires deliberate synchronization like awaiting until all queries in a batch have completed attention until switching over to sending them for expert work, and that in turn may be improved by having multiple instances in different nearby machines also synchronized to that schedule. If you have ever wondered why Nvidia makes such an effort to connect 72 GPUs so closely, this is a big part of why. In a large token factory it is feasible to have those 72 machines all running in sync, allowing the experts in one layer to be divided up to 72 ways. If a layer of the model has 256 experts then each GPU is handling only 3 or 4 in each layer, permitting very fast complete cycling through all the experts. And a lot of all-to-all traffic.&lt;/p&gt;&lt;p&gt;Something interesting happens if your experts can all be kept in SRAM. You need a huge number of accelerators and a monster network to collect them all to all back to the GPUs, but now there is little reason to wait for a batch to form. Each expert can run whenever it has input. The energy per byte loaded is as much as 100x better than loading from HBM, so a single token running can be as efficient as perhaps a queue of 100 was before. In return for this DAF (disaggregated attention-FFN, where the experts are the FFN) you can free up the instances from needing to be synchronized. This advantage does not help as much with prefill or midfill since they trivially have a batch of tokens they can sort into shared queues on one layer, but it still may offload all the expert weights from those GPUs allowing them to optimize their local memory for other uses like longer contexts. The networking is still a gotcha, where an SRAM based accelerator could turn around an expert calculation in less than a microsecond but now you may be flooding a switch connected to hundreds of nodes with the all to all traffic for millions of tokens. The network may absorb more money and power than the experts they connect.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0swW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F132a56e8-d9e0-42cd-bcda-5051cab4b9b3_875x425.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 6. Prefill and midfill are separated from the closely coupled decode loop at the KV-cache boundary." class="sizing-normal" height="425" src="https://substackcdn.com/image/fetch/$s_!0swW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F132a56e8-d9e0-42cd-bcda-5051cab4b9b3_875x425.png" title="Figure 6. Prefill and midfill are separated from the closely coupled decode loop at the KV-cache boundary." width="875" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 6. Prefill and midfill are separated from the closely coupled decode loop at the KV-cache boundary.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Inference workers can improve sharing by coordinating many attention instances on the same model layer. Their routed activations then draw from one layer&amp;#8217;s expert bank, reducing the number of different experts each destination must load. In a pipelined server this also means the networking connections used for expert parallel can be local to that stage of the machine, there will never be a routing that needs experts from another layer. Even so, each decode request contributes only one new token with typically 8 to 16 routed experts per pass, and a layer may contain hundreds of experts. At small batches, sharing remains limited and memory bandwidth continues to dominate both the KV scan and the active expert loads, with very little computation per byte of weight loaded. Expert memory needs to be very low energy per bit, no matter what kind of memory is in use.&lt;/p&gt;&lt;p&gt;These regimes explain why prefill, midfill, and decode may prefer different worker configurations; why decode attention and decode experts can prefer different placements within a node; and why batching helps each stage by a different amount.  As prefill in modern agent work rapidly expands to the 500k token range there is a lot of memory movement, especially in token decode - the stage where the model is generating useful intermediate and final results.  Fast and large 3D RAM will be decisive in efficiency.  Fast memory is also useful for midfill.  However, capacity needs to reach a minimum level for the large contexts we now see as normal.  If memory capacity is too small then the losses in networking and excessive swarms of chips can waste power compared to future memory types which will use 3D capacity expansion without giving up on throughput.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zjGq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa138a4da-0245-453d-8d93-dbeca158f2f6_1171x592.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="592" src="https://substackcdn.com/image/fetch/$s_!zjGq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa138a4da-0245-453d-8d93-dbeca158f2f6_1171x592.png" width="1171" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 7. Projected effect of faster memory (hybrid-bonded DRAM, super-fast 3D RAM)) on midfill and decode with 500k token context cache length.   Source: SemiAnalysis model simulator with projected accelerator and GPU performance.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;While Vera Rubin 72 can crush at the mid-fill layer, which is arithmetic intense, it is not so effective at the switch to memory intensive decode where the Rubin cannot fully exercise its computational prowess.  With the large context there is a premium on keeping the decode work in the same node and the midfill, avoiding sending the context across the network to a different node.  This could favor an all-around chip which both has super memory thruput and really efficient computation.&lt;/p&gt;&lt;h2&gt;4. Flow through an MoE prefill layer&lt;/h2&gt;&lt;p&gt;Classic prefill begins with attention. A block of new query tokens attends to reusable prefixes like the system prompt and to earlier positions in the new block. The attention operation produces one activation for every new token, and shared transformations prepare those activations for the routed-expert stage.&lt;/p&gt;&lt;p&gt;The router assigns several experts to every token. If the model selects eight routed experts, each incoming token produces roughly eight routes across a bank that may contain 256 experts or more. In token order, those records are sparse and interleaved: neighboring tokens can have completely different destinations. Across the full input block, however, every expert can accumulate a short list of assigned tokens.&lt;/p&gt;&lt;p&gt;The worker sorts or queues the route records by expert identifier. All activations assigned to expert 037 become one message stream; those assigned to 142 become another. A single expert-weight load can then serve all activations in that bucket. Several requests can contribute to the same buckets, and separate attention instances running the same layer can merge their routed work at the expert destination. Converting token order into expert order is one of the central efficiencies of MoE prefill. Scale-up networks like NVLink can be organized as memory mapped connections so sending requests to specific experts could be mapped to pushing the message into a specific memory mapped location which is configured as a hardware queue. There is very little start and stop time. The experts can listen with the equivalent of an RDMA CIQ that again leverages hardware acceleration to deliver the message stream without need for complex protocol start and stop. Simple headers inline on the message identify the sender and receiver. A similar connection can be set up for the return flow from expert back to the decode worker.&lt;/p&gt;&lt;p&gt;The expert outputs are returned to token order, weighted, combined, and passed to the next layer. At the same time, attention creates new K and V state for the appended tokens. Across the model, those values form an immutable KV suffix which are used to decode the next token, and which are eventually stored as the next blob in the context for use by the next turn in the conversation.&lt;/p&gt;&lt;p&gt;Prefill therefore combines two forms of weight reuse. Attention and dense transforms reuse weights across many tokens, while routed experts reuse each selected expert across the tokens collected in its bucket. The gains eventually flatten as growth in activation traffic, KV traffic, and output handling take more time compared to the tensor calculations. Batching can delay time to first token, but a single request containing several thousand new tokens already provides substantial arithmetic intensity; prefill does not always need a large number of requests in each batch to run efficiently. Modern single-socket GPUs may be able to do the prefill even on a large model for a small batch in around a second.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OrHW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8405f00c-c10b-41b8-b2f8-c3e4dfd7b136_1426x665.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 7. Flow through an MoE prefill layer." class="sizing-normal" height="665" src="https://substackcdn.com/image/fetch/$s_!OrHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8405f00c-c10b-41b8-b2f8-c3e4dfd7b136_1426x665.png" title="Figure 7. Flow through an MoE prefill layer." width="1426" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 8. Flow through an MoE prefill layer.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;5. Flow through an MoE decode layer&lt;/h2&gt;&lt;p&gt;Decode begins with a much smaller amount of new work per forward pass. The current token, or a handful of speculated tokens in MTP (multi-token prediction) is the query. Attention reads the prior KV state together with the new token&amp;#8217;s KV entry. The new entry appends to the result and is appended to the KV state for the next pass.&lt;/p&gt;&lt;p&gt;For agentic contexts, the prior KV state is often a heavier read burden than the attention and expert weights used by that one token. The new query and its local projection weights are comparatively compact. Attention may be partitioned across KV heads, context ranges, memory channels, or accelerator units, after which partial results are reduced to one token activation. That activation is small enough to move cheaply even though it will trigger much larger local tensor operations in the next phase.&lt;/p&gt;&lt;p&gt;The activation passes through shared transformations and routing. The router selects a few experts from the available bank, and only those expert tensors become active for the current token. Their outputs are weighted, combined, projected, and passed onward.&lt;/p&gt;&lt;p&gt;At each layer, attention creates and retains that layer&amp;#8217;s K/V entry for the new token. The activation then advances to attention in the next layer, where the same sequence repeats. By the time the final layer produces the next token, every layer has appended its small K/V update. Those updates can be assembled into a new immutable KV suffix while the token is streamed to the client or agent.&lt;/p&gt;&lt;p&gt;The flow therefore contains both a broad operation and a sparse operation. Attention reads widely across private query state. Experts activate a small subset of total model capacity. The hardware mapping should support both without forcing the entire layer to use one parallelism strategy.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lj9A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c316fba-4573-4690-b119-d8416000b55c_1621x737.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 8. Flow through one MoE decode layer." class="sizing-normal" height="662" src="https://substackcdn.com/image/fetch/$s_!lj9A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c316fba-4573-4690-b119-d8416000b55c_1621x737.png" title="Figure 8. Flow through one MoE decode layer." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 9. Flow through one MoE decode layer.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;6. Midfill is a distinct operating regime&lt;/h2&gt;&lt;p&gt;Midfill combines a long, cached prefix with a block of new tokens to prepare another turn in a conversation or agentic work. Traces show the cached input to be many times larger than the incremental query, although the incremental query typically varies from 50 to 5,000 new input tokens. The presence of cached system prompts, conversation roots, memories, prior agent steps, and retrieved documents can quickly raise conversational and agentic contexts to a million limit. AgentX datasets show frontier experts are repeatedly compressing contexts to stay under a million-token limit.&lt;/p&gt;&lt;p&gt;This makes midfill neither a small prefill nor a large decode. Like decode, it must read a substantial private KV cache. Like prefill, it processes enough new tokens to reuse weights and to sort routed activations into useful expert batches. Its arithmetic intensity can be hundreds of times greater than one-token decode, yet its cached-state traffic can be tens of times larger than that of a similarly sized initial prefill.&lt;/p&gt;&lt;p&gt;Modern accelerators can generally exploit the arithmetic reuse available in a block of hundreds of tokens, so the difficult balance is often between the large KV read and the burst of routed-expert traffic. That burst does not match the smooth rhythm of a decode pipeline: a midfill can occupy a stage much longer than the decode batches in neighboring stages, leaving those stages underused.&lt;/p&gt;&lt;p&gt;The ideal parallelism can also differ. The worked example later in this essay finds midfill configurations that use different pipeline, tensor, and expert-parallel settings from decode. Reconfiguring a GPU in the middle of a live decode pipeline can be expensive or impractical. A service may therefore benefit from a dedicated pool of midfill-optimized nodes. The hardware can be identical to the decode pool while the loaded model stages, parallelism, and batch policies differ.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9Kjl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a47cb2-ded5-4daa-b7e0-6eb17ce03340_3100x2012.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 9. Midfill combines the cached-state read of decode with enough new tokens to batch model and expert work." class="sizing-normal" height="945" src="https://substackcdn.com/image/fetch/$s_!9Kjl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a47cb2-ded5-4daa-b7e0-6eb17ce03340_3100x2012.png" title="Figure 9. Midfill combines the cached-state read of decode with enough new tokens to batch model and expert work." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 10. Midfill combines the cached-state read of decode with enough new tokens to batch model and expert work.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;7. The model is a tall stack of repeating layer groups&lt;/h2&gt;&lt;p&gt;A model&amp;#8217;s parameter count quantifies the total learned state, but serving depends on how that state is organized and used. The model is a stack of layers, and increasingly it is useful to group those layers into repeating architectural units.&lt;/p&gt;&lt;p&gt;In some MoE models, a layer group is the same as one layer. In others, a group contains one full-attention layer together with several linear, delta, top-k, or otherwise optimized-attention layers. Typically 1 to 3 of the initial layers may be dense or otherwise designed to get a clean start. The rest of the model will normally repeat one recurring group pattern.&lt;/p&gt;&lt;p&gt;A wide, shallow cr&amp;#234;pe is a useful representation of a layer group. The broad surface provides room for attention, shared transforms, routing, expert capacity, and residual flow. Its shallow thickness marks the group as one slice in a much taller repeated model. It also echoes the physical form of an accelerator: a very thin active layer spread across a broad package. The cr&amp;#234;pe is a useful intuition for mapping a wide algorithmic flow onto a wide hardware surface.&lt;/p&gt;&lt;p&gt;The repeated structure simplifies function planning. A mapping created for one group can be reused for the next. Corresponding memory regions can hold the next group&amp;#8217;s weights. The same compute and communication plan can execute repeatedly. Uniformity matters not only for runtime efficiency but also for compiler, kernel, and operations tooling.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NvYr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f20bc9d-d860-4e6d-8387-5e2ba79e9bf2_732x478.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 10. Layer groups repeat the same flow." class="sizing-normal" height="478" src="https://substackcdn.com/image/fetch/$s_!NvYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f20bc9d-d860-4e6d-8387-5e2ba79e9bf2_732x478.png" title="Figure 10. Layer groups repeat the same flow." width="732" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 11. Layer groups repeat the same flow.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;During decode, one layer is active at a time for a given token. Within that layer, several operations occur sequentially. Neighboring layers may be prefetched, and different pipeline stages may process different queries simultaneously, but the logical path of one token still climbs through the stack in order.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RRxu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf97cc6-a4b5-403e-b115-97845e79b636_752x504.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 11. One layer group opened into sequential sublayers." class="sizing-normal" height="504" src="https://substackcdn.com/image/fetch/$s_!RRxu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf97cc6-a4b5-403e-b115-97845e79b636_752x504.png" title="Figure 11. One layer group opened into sequential sublayers." width="752" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 12. One layer group opened into sequential sublayers.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;8. Parallelism should partition the narrow dataflows of the model&lt;/h2&gt;&lt;p&gt;Parallelism is not one decision. Pipeline, tensor, and expert parallelism divide different dimensions of the model and should be judged by different communication patterns.&lt;/p&gt;&lt;h3&gt;Pipeline parallelism follows the layer stack&lt;/h3&gt;&lt;p&gt;Layers immediately suggest pipelining. The activation passed between layers is compact&amp;#8212;often one embedded token, a small multi-token-prediction block, or brief summaries of prior hybrid group results &amp;#8212;while the weights and KV state used inside a layer are much larger. A pipeline stage can therefore own one or more complete layer groups and pass a relatively small activation to the next stage without overpowered networking.&lt;/p&gt;&lt;p&gt;Pipelining divides model weights cleanly and keeps hot within-layer communication local. Its main drawback is multi-batch occupancy: a fully active pipeline has a different query or batch in every stage. Each stage therefore holds its share of the KV state for all live streams, and the memory benefit eventually stops improving as contexts grow.&lt;/p&gt;&lt;h3&gt;Tensor parallelism belongs where one operation is intrinsically broad&lt;/h3&gt;&lt;p&gt;Attention may need to divide weights and KV state across several accelerators. KV heads, context ranges, or another linear dimension can be partitioned so that each accelerator processes its share before a compact reduction of the token result. Tensor parallelism can also serve unusually large dense transforms.&lt;/p&gt;&lt;p&gt;TP should not spread automatically into every tensor of the layer. A collective that is sensible for a broad attention operation may cost more than the arithmetic of a small expert tensor.&lt;/p&gt;&lt;h3&gt;Expert parallelism follows independent expert tensors&lt;/h3&gt;&lt;p&gt;Most MoE parameter memory may reside in experts. Experts retain no query history of their own; context arrives in the activation. The expert bank can therefore be distributed widely across a peer set and shared by several worker instances.&lt;/p&gt;&lt;p&gt;Wide expert parallelism is useful because the experts are independent and numerous. The router sends compact activations to selected destinations, and those destinations return transformed activations. Expert-parallel width can remain large even if pipeline stages become smaller, allowing switch radix and local memory placement to be chosen independently.&lt;/p&gt;&lt;p&gt;The general rule is straightforward: use pipeline parallelism for the vertical layer sequence, tensor parallelism for large indivisible operations, and expert parallelism for the context-free routed-expert bank. A stage fits comfortably inside a scale-up domain when its available fast memory safely exceeds its local weights, live batch state, and working buffers:&lt;/p&gt;&lt;p&gt;&lt;code&gt;M_{free,node}&amp;gt;\frac{W}{P}+M_{batch}+M_{working}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Modern GPU nodes often exceed that threshold by multiples. When they do, the demanding bandwidth, power, and latency requirements can remain inside one node while thinner pipeline activations and KV movement use scale-out links. The rest of the fast memory is probably not earning any revenue. Data sitting idle in memory is an expense, data moving to be processed is revenue.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bgFY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F092167fa-cb58-4f8e-a168-1c60bf339415_2079x1739.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 12. Pipeline, tensor, and expert parallelism follow different dimensions of a layer group." class="sizing-normal" height="1218" src="https://substackcdn.com/image/fetch/$s_!bgFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F092167fa-cb58-4f8e-a168-1c60bf339415_2079x1739.png" title="Figure 12. Pipeline, tensor, and expert parallelism follow different dimensions of a layer group." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 13. Pipeline, tensor, and expert parallelism follow different dimensions of a layer group.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;9. A logical accelerator node&lt;/h2&gt;&lt;p&gt;A logical node is easier to understand as a peer set arranged in a ring than as a literal circuit-board layout. The ring contains perhaps sixteen accelerators. Each accelerator pairs a compute region with local fast memory. The units connect through a strong scale-up fabric. A CPU coordinates workload and memory management, while a NIC connects the node to rack and datacenter resources.&lt;/p&gt;&lt;p&gt;The ring is just a visualization which shows the accelerators as peers, with equal standing. I am not implying the node-internal network should be a ring. It could be hub and spoke, rail, all-to-all, torus, hypercube .. whatever floats your boat, so long as it can handle the highest dataflows the rack contains with low latency and low energy per bit. I&amp;#8217;ll just draw it as a ring for simplicity.&lt;/p&gt;&lt;p&gt;This representation avoids committing too early to package placement, board routing, or switch implementation. The actual machine may use a central switch, several switches, direct links, or a hierarchical fabric. The logical requirement is a bounded peer set with predictable fast local communication.&lt;/p&gt;&lt;p&gt;The accelerator design may vary. One version may use SRAM-heavy processing-in-memory units. Another may use hybrid-bonded DRAM, or IGZO memory cells placed on top during BEOL processing. Another may use a hybrid-bonded high-bandwidth true 3D memory. Memory capacity and bandwidth can change while this logical model remains useful.&lt;/p&gt;&lt;p&gt;The node is the natural place to keep work that repeats at high frequency. Attention partitions exchange compact partial results. Routed expert activations travel to local destinations. Expert outputs return for recombination. Shared state and scheduling metadata remain near the CPU. The NIC carries pipeline activations, KV blobs, and work assignments beyond the node.&lt;/p&gt;&lt;p&gt;A node may be smaller than a rack like we see in an SGX node with 8 GPUs, or a scale-up system may span the whole rack like we see with NVL72. The logical symbol remains valid in either case. If scale-up already covers the rack, the separate rack-backbone level disappears and the next boundary is directly to scale-out networking.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5yYB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff6ec22-e5fb-405a-8165-4a6b44c92198_875x604.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 13. A 16-accelerator peer set on a scale-up fabric." class="sizing-normal" height="604" src="https://substackcdn.com/image/fetch/$s_!5yYB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff6ec22-e5fb-405a-8165-4a6b44c92198_875x604.png" title="Figure 13. A 16-accelerator peer set on a scale-up fabric." width="875" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 14. A 16-accelerator peer set on a scale-up fabric.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;10. Nodes stack to make racks&lt;/h2&gt;&lt;p&gt;The ring becomes more expressive when tilted as broad, shallow hardware cr&amp;#234;pe. Several units can be stacked vertically in a rack, like model layer groups stacked in model depth.&lt;/p&gt;&lt;p&gt;This repeated form makes the model-to-hardware relationship easier to see. A layer-group cr&amp;#234;pe can be placed onto one hardware cr&amp;#234;pe. Several layer groups can occupy one node if memory permits. One layer group can span several tightly connected nodes if attention or expert capacity requires it. The mapping can expand or contract without changing the basic visual vocabulary.&lt;/p&gt;&lt;p&gt;A rack may be organized in several ways:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;one rack-wide scale-up domain;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;several node-scale islands connected by a rack backbone;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;pipeline stages distributed among those islands;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;wide expert placement within each stage;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;or a mixture of stage-local scale-up and shared scale-out links.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The rack backbone is therefore an optional middle level. Some systems extend the scaleup fabric across the rack needing no separate node connector. Others use strong local node fabrics and a distinct top-of-rack or shared-rail network. Above the rack, scale-out networking connects storage, prefill pools, decode pools, and other racks.&lt;/p&gt;&lt;p&gt;The repeated rack units also help separate two kinds of scale. The model can fit within one bounded rack worker, while the factory scales by adding many workers. The first problem is function placement. The second is worker orchestration.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9JtJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69500e04-c899-42bb-afd9-854d41716196_2614x1376.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 14. Accelerator nodes stacked into a rack." class="sizing-normal" height="766" src="https://substackcdn.com/image/fetch/$s_!9JtJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69500e04-c899-42bb-afd9-854d41716196_2614x1376.png" title="Figure 14. Accelerator nodes stacked into a rack." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 15. Accelerator nodes stacked into a rack.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;11. One layer group reuses the node over time&lt;/h2&gt;&lt;p&gt;A layer group does not require every operation in the algorithm at peak intensity simultaneously. Its operations form a repeating sequence that reuses the same hardware for different work over the decode cycle.&lt;/p&gt;&lt;p&gt;Attention may spread across much of the ring, using many memory channels and several compute units. The query and output transformations use model weights in more compact operations. Shared feed-forward work may use a dense region. Selected experts then activate local memory-and-compute regions around the ring. Recombination returns a compact result.&lt;/p&gt;&lt;p&gt;The same physical accelerators can participate differently at each step. Execution units that calculate attention may later execute one or more experts. Memory channels used to stream KV state can later feed expert weights. Buffers and local links are reused as the token advances.&lt;/p&gt;&lt;p&gt;This time-sharing is central to an efficient design. Static diagrams can make the machine appear underused because not every block is active at once. In reality the hardware is serving a sequence of different operations, and the goal is to keep the sequence moving with little setup or synchronization overhead.&lt;/p&gt;&lt;p&gt;The broad layer-group cr&amp;#234;pe and the accelerator peer set are complementary. The cr&amp;#234;pe shows the algorithmic flow; the ring shows the reusable physical resources beneath it. Mapping is the act of aligning each stage of the flow with a suitable subset of the ring.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NjGC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20777839-1d23-4fd0-8474-75f9dd6c7835_821x325.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 15. One layer group reuses the peer set over time." class="sizing-normal" height="325" src="https://substackcdn.com/image/fetch/$s_!NjGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20777839-1d23-4fd0-8474-75f9dd6c7835_821x325.png" title="Figure 15. One layer group reuses the peer set over time." width="821" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 16. One layer group reuses the peer set over time.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;12. Put throughput boundaries where the flow is smallest&lt;/h2&gt;&lt;p&gt;Once the model and machine are drawn as connected flows, the placement rule becomes clear: frequent, latency-sensitive communication should remain inside the strongest local fabric, while weaker links should carry compact or amortized transfers.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3hdE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaccb4c8-8dad-4d10-b414-ac79c068e9bd_800x944.gif" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 16. The general flow of operation of an MoE pipeline stage (animated)." class="sizing-normal" height="944" src="https://substackcdn.com/image/fetch/$s_!3hdE!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaccb4c8-8dad-4d10-b414-ac79c068e9bd_800x944.gif" title="Figure 16. The general flow of operation of an MoE pipeline stage (animated)." width="800" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 17. The general flow of operation of an MoE pipeline stage (animated).&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Attention partitions may exchange partial results every layer. Expert routing sends activations to selected experts and returns their outputs. This traffic is not always the largest by byte count, but it is frequent, bursty, and sensitive to synchronization. It belongs inside the chosen scale-up domain whenever practical.&lt;/p&gt;&lt;p&gt;The activation passed between layers or layer groups is much smaller. A pipeline boundary can therefore cross a weaker link without moving the layer&amp;#8217;s full internal working set. KV blobs are larger, but they move at worker boundaries and are amortized across many generated tokens. Their path can use striped or torrented scale-out networking and shared storage rather than consuming the innermost tensor fabric.&lt;/p&gt;&lt;p&gt;The router-to-expert boundary is typically a medium-throughput all-to-all carrying compact activations. Its difficulty often comes from endpoint count, synchronization, and routing efficiency rather than raw byte volume. Keeping it within the scale-up domain of a node or rack limits both latency and operational complexity.&lt;/p&gt;&lt;p&gt;This hierarchy is easier and cheaper to build than a machine in which every link is equally strong. Scale-up paths surround the operations that exchange embeddings and partial results within every layer. Scale-out links carry pipeline activations, KV movement, scheduling traffic, and traffic between bounded workers.&lt;/p&gt;&lt;p&gt;The tiers also have different latency requirements. A pipeline transfer between layer groups may barely notice a few microseconds if throughput is sufficient. By contrast, when an expert load and multiply take only a few microseconds, an additional 100 ns at each routing hop is material. The closest links should therefore be integrated tightly with the accelerator fabric, while less frequent transfers can tolerate the scale-out network.&lt;/p&gt;&lt;h2&gt;13. Pipeline by layer group where practical&lt;/h2&gt;&lt;p&gt;The layer group is the natural first candidate for pipeline placement. In a classic MoE model the group repeats one kind of layer. In newer structures it may contain one full-attention layer followed by several optimized- or localized-attention layers.&lt;/p&gt;&lt;p&gt;Keeping a group together can preserve internal dependencies and allow one placement and compilation plan to repeat across stages. Uniform plans reduce tooling cost and simplify deployment. Kernels, memory layouts, communication schedules, monitoring, and failure recovery all become easier when each stage runs the same recurring structure.&lt;/p&gt;&lt;p&gt;It is still possible to cut a pipeline in the middle of a group, although the resulting placement is more complex. If the layers have no special cross-layer dependency, the compact activation boundary remains a low-volume link suitable for networking. A stage may contain several whole groups, one group, or part of a large group depending on memory and throughput requirements.&lt;/p&gt;&lt;p&gt;The guiding principle is not an absolute prohibition on splitting groups. It is to prefer regular boundaries and to understand when a nonuniform split is worthwhile. Tooling and operational simplicity can be as important as a small theoretical placement gain.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jQh6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a4e2dcc-aaaf-4577-9cc4-15ea1fecab2c_683x371.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 17. Four uniform pipeline stages." class="sizing-normal" height="371" src="https://substackcdn.com/image/fetch/$s_!jQh6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a4e2dcc-aaaf-4577-9cc4-15ea1fecab2c_683x371.png" title="Figure 17. Four uniform pipeline stages." width="683" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 18. Four uniform pipeline stages.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;14. Pipeline depth ends at the KV-cache crossover&lt;/h2&gt;&lt;p&gt;Pipeline parallelism divides model weights cleanly. If a model has weight footprint (W) and uses (P) stages, the idealized weight footprint per stage approaches (W/P).&lt;/p&gt;&lt;p&gt;KV-cache demand behaves differently. A full pipeline remains occupied by running a different query or batch in every stage. In an eight-stage pipeline, each stage owns one eighth of the layer-wise KV values for each of eight live streams. The reduction in layers per stage is offset by the number of simultaneous streams, so the stage does not receive the same (1/P) reduction in live KV demand that it receives for weights.&lt;/p&gt;&lt;p&gt;A useful stage-memory estimate is:&lt;/p&gt;&lt;p&gt;&lt;code&gt;M_{stage}\approx \frac{W}{P}+M_{KV,stage}+M_{working}+M_{slack}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Once weights per stage fall to the same order as KV and working-state memory, deeper pipelining produces little additional capacity benefit while adding coordination and latency.&lt;/p&gt;&lt;p&gt;The crossover depends strongly on model design. Classical full-attention approaches can require hundreds of kilobytes of KV state per token across all layers. MLA-like designs are commonly in the tens of kilobytes, while recent hybrid layer groups with mostly linear, recurrent, or local attention can be lower still. A working average near 25 kB per token may be reasonable for some new hybrids; approximately 70 kB per token is a conservative reference point for a proven compressed-attention design.&lt;/p&gt;&lt;p&gt;As a back-of-the-envelope design target, take 70 kB per token and two million tokens of aggregate live context assigned to one stage. That is roughly 140 GB of KV state. Double buffering allows one working set to move while another continues to run, raising the KV allowance toward 280 GB. Add model weights, activations, transient buffers, routing tables, fragmentation, and operating margin, and a stage target of roughly 400&amp;#8211;500 GB of local fast memory becomes a useful 2027 benchmark.&lt;/p&gt;&lt;p&gt;Other designs can reduce requirements through streaming, compression, partial residency, or additional tiers. The estimate is not a universal requirement; it is a standard that a practical frontier system should be able to accommodate without heroic assumptions.&lt;/p&gt;&lt;p&gt;The stage can distribute this memory over several accelerator sockets if they share a scale-up fabric. More than 95% of the weight memory in a large MoE is in routed experts, which divide naturally among sockets. KV state can be partitioned by head, context, or attention instance, with the resulting collectives matched to the same local fabric.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ERxU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0253c-ef2c-4d77-83f9-e4724706da44_889x713.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 18. Fast-memory demand is stage weights, live KV state, working buffers, and margin." class="sizing-normal" height="713" src="https://substackcdn.com/image/fetch/$s_!ERxU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bb0253c-ef2c-4d77-83f9-e4724706da44_889x713.png" title="Figure 18. Fast-memory demand is stage weights, live KV state, working buffers, and margin." width="889" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 19. Fast-memory demand is stage weights, live KV state, working buffers, and margin.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;15. Prefill and midfill turn sparse routes into dense expert batches&lt;/h2&gt;&lt;p&gt;Prefill and midfill have strong batching opportunities because many input-sequence tokens complete attention before expert execution begins. The router can score all tokens, emit several destinations for each one, and then sort the route records by expert.&lt;/p&gt;&lt;p&gt;A practical input block can contain enough assignments that essentially every expert receives work. If 128 new tokens each select eight experts, the router emits 1,024 assignments across a 256-expert bank. Routing remains sparse for each token; sorting changes the execution order so that expert e000 processes all of its assigned tokens, then e001, and so on. Each expert is loaded once and reused for its compact token list instead of being repeatedly loaded in token order.&lt;/p&gt;&lt;p&gt;For an expert with (W) weights, weight traffic (B_W), activation traffic (B_A) per routed token, output traffic (B_O), and (n) assigned tokens, a rough arithmetic-intensity expression is:&lt;/p&gt;&lt;p&gt;&lt;code&gt;AI_{expert}\approx \frac{2nW}{B_{W}+nB_{A}+B_{O}}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;When weight traffic dominates, increasing (n) rapidly improves reuse. Eventually activation, output, and routing traffic become important and the gain flattens.&lt;/p&gt;&lt;p&gt;The sort is not free. Route records must be built, counted, permuted, sent to expert destinations, and restored to token order. Expert capacity limits can cause overflow or rerouting. Even so, prefill and midfill begin with enough tokens that the optimization is usually meaningful.&lt;/p&gt;&lt;p&gt;This is the key distinction from decode. The experts are identical; what changes is the number of routed activations available when the worker executes them.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Om5H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f61e24-3c24-48f9-b682-8723d3323571_950x743.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 19. Sorting lets each expert load once and process every token assigned to it." class="sizing-normal" height="743" src="https://substackcdn.com/image/fetch/$s_!Om5H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f61e24-3c24-48f9-b682-8723d3323571_950x743.png" title="Figure 19. Sorting lets each expert load once and process every token assigned to it." width="950" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 20. Sorting lets each expert load once and process every token assigned to it.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;16. Decode gains less from batching&lt;/h2&gt;&lt;p&gt;Decode attention receives little direct cross-query reuse. Each additional query contributes another KV cache and another context scan. Shared query-projection weights can be reused, and software overhead can be amortized, but the dominant long-context read remains private to the query.&lt;/p&gt;&lt;p&gt;Decode experts offer potential sharing because the expert weights are context-free. The practical limitation is sharing probability. A model may contain hundreds of routed experts in every layer and thousands of layer-experts across the model. Each query contributes one new token per pass and selects only a few destinations. At small batch sizes, only a few routed tokens are available and most active experts receive work from just one token. Some sharing occurs, but it grows gradually with the number of tokens in the pass.&lt;/p&gt;&lt;p&gt;Shared transformations provide more conventional weight reuse, but they are a smaller fraction of an MoE model. The overall throughput gain from enlarging a decode batch can therefore be modest compared with the increase in latency and KV-memory pressure.&lt;/p&gt;&lt;p&gt;A batch of one is not a trivial workload when context length is 100,000 tokens or more. The attention scan already occupies substantial memory bandwidth. The optimum batch size is not necessarily one&amp;#8212;software launch, allocation, routing, and hardware utilization still matter&amp;#8212;but it may be much closer to one or five than to the large batches associated with throughput-oriented serving.&lt;/p&gt;&lt;p&gt;This matters economically. Interactive tokens can be more valuable than bulk delayed tokens. Multiplying latency to gain a fractional throughput improvement may be a poor trade. Hardware and software should remove impediments to useful small-batch operation rather than making large batches a prerequisite for efficiency.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EiMQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e527fb-7eca-4cd5-9b68-3e8c0c7df672_2312x1203.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 20. Decode uses multiple routes but rarely shares experts at small batch sizes." class="sizing-normal" height="758" src="https://substackcdn.com/image/fetch/$s_!EiMQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e527fb-7eca-4cd5-9b68-3e8c0c7df672_2312x1203.png" title="Figure 20. Decode uses multiple routes but rarely shares experts at small batch sizes." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 21. Decode uses multiple routes but rarely shares experts at small batch sizes.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;17. Scheduling makes disaggregation useful&lt;/h2&gt;&lt;p&gt;Disaggregation becomes most effective as a statistical system at cloud scale. A large pool can contain workers configured for long prefill, short prefill, long-context decode, short-context decode, or other useful classes. The orchestrator assigns each job to a suitable available worker and moves the required KV blobs through shared storage.&lt;/p&gt;&lt;p&gt;Prefill and midfill work are predictable once the prefix size, new-token count, and worker configuration are known. Decode is stochastic because output length is uncertain. Storage between the pools decouples predictable production from irregular consumption. A ready buffer of completed prefill and midfill work can keep decode workers fed even as individual queries finish at different times.&lt;/p&gt;&lt;p&gt;The scheduler should observe customer workloads and time-of-day patterns, anticipate known ramps, and reconfigure workers as the mix changes. Reconfiguration may mean loading different model stages, changing pipeline cardinality, reallocating expert capacity, or moving a rack among prefill, midfill, and decode.&lt;/p&gt;&lt;p&gt;Scale matters. In a small fixed benchmark, one input-fill stage may be connected directly to one decode stage. A slow stage can strand capacity elsewhere in the other stage. In a large pool, workers complete and start independently so no worker need be stranded.&lt;/p&gt;&lt;p&gt;High interactivity and high utilization are therefore not inherently opposed. The scheduler can keep batches small while keeping machines busy, provided it has enough workers, enough storage bandwidth, enough visibility into the work, and fast enough response times to adapt to the moment.&lt;/p&gt;&lt;p&gt;The service overview in Figure 1 provides the corresponding system picture: four resource pools with the orchestrator spanning beneath them.&lt;/p&gt;&lt;h2&gt;18. Feedback can turn a small imbalance into oscillation&lt;/h2&gt;&lt;p&gt;A tightly coupled system can amplify ordinary variation. Suppose admission to input fill is gated directly by the retirement of decode queries. A long-running decode query delays retirement. Input-fill admission falls. Decode later drains its ready queue and becomes underfed. Admission then opens aggressively, producing a burst of input-fill jobs and a new wave of congestion.&lt;/p&gt;&lt;p&gt;This is a delayed feedback loop. The control signal arrives after the system state has changed. Large batch recovery can make the loop worse by increasing KV-memory pressure and response latency. The factory alternates between full and empty rather than operating near a steady point.&lt;/p&gt;&lt;p&gt;No single scheduler policy solves the problem. Several familiar control techniques help:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;use ready-work buffers between stages;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;regulate admission from smoothed backlog and predicted service rate rather than individual retirements;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;separate fast local controls from slower capacity controls;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;apply hysteresis to worker reconfiguration;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;reserve capacity for short interactive work;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;and avoid changing batch size more quickly than the system can observe its effect.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The same principle extends across timescales. Microsecond worker scheduling, millisecond token flow, second-scale buffers, minute-scale worker reconfiguration, and hour-scale demand planning should not all respond to the same noisy signal.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dEj5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6442464-d72d-4e1d-a3ff-6d020b0854c5_2090x1046.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 21. From retirement-gated oscillation to steady flow." class="sizing-normal" height="729" src="https://substackcdn.com/image/fetch/$s_!dEj5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6442464-d72d-4e1d-a3ff-6d020b0854c5_2090x1046.png" title="Figure 21. From retirement-gated oscillation to steady flow." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 22. From retirement-gated oscillation to steady flow.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;19. Aggregation Compared to Disaggregation&lt;/h2&gt;&lt;p&gt;Now that we have exhaustively described disaggregated inference, is there a case to be made for aggregation? To some extent, yes. Clearly, since conversations can pause for minutes and hours it is not reasonable to keep a whole conversation tied to one system. That HBM can be put to better use within seconds of the end of a turn, and modern scaleout networks can move gigabytes of KV cache to a cheaper place in a parallel storage system, which can tier DRAM and SSD, in less than a second.&lt;/p&gt;&lt;p&gt;However, during a turn, do we need to schedule more than one place to get the work done? It is expensive to have too many different designs of server, adding operational costs as well as design work. What if there were only one design, and it centers on the midfill case? A request can be scheduled to that empty worker and stay there for prefill, midfill, and decode. It would need to have enough compute for prefill and midfill, and enough memory bandwidth for decode. There would always be some stranded capacity for either compute or memory transfer, depending on which stage the model is running, but we already tolerate low MFUs on GPUs. We try to overcome that with clever kernels, but in practice clusters run with stranded functions all the time.&lt;/p&gt;&lt;p&gt;Complex orchestration will result in some stranding. Some of that is avoided if a turn runs on a single aggregated worker. No schedule gap when pre/midfill hands over to decode. Natural sharing of one copy of the wide parallel set of experts. No network overhead to move the context from fill to decode. The orchestrator still looks at the shape of the request &amp;#8211; cache size, input sequence length, model type, customer interactivity level &amp;#8211; and makes one decision which available worker should handle it through all stages of the turn. Then it leaves it alone until the stop token comes out and the turn is delivered to the user and cached to the fast parallel file system. The one worker uses kernels and dataflows adapted to the given request shape as it works through all stages of the turn.&lt;/p&gt;&lt;p&gt;Aggregated workers have their attractions and advocates.&lt;/p&gt;&lt;p&gt;All systems will always strand some capabilities of the accelerators in real world uses. In a disaggregated system there can be two (or more) types of machines built with investment focused on compute, memory, and network actually used, arguably the best use of that investment. Prefill machines might invest in compute, while decode machines might invest in memory. If workers are aggregated, then one machine will be used through all phases so it needs to invest in the strongest compute and the strongest memory thruput. Maybe also strong network. If is not an all-around standout, then it will be held back by its weaker sections and be an overall &amp;#8220;meh&amp;#8221;. So, aggregation has advantages but it also leaves nowhere to hide in delivering the best of all-around performance. If you can build that magic all around star, then aggregating the whole turn in one worker could be best.&lt;/p&gt;&lt;h2&gt;20. Memory bandwidth and memory capacity are different objectives&lt;/h2&gt;&lt;p&gt;Memory is often discussed as two independent scalars to maximize. In practice, capacity and bandwidth trade against each other, and their economic value must be considered together.&lt;/p&gt;&lt;p&gt;Data earns revenue when it moves; it incurs cost while sitting idle. An accelerator with very high memory throughput can produce tokens at a rate that lower-bandwidth memory cannot match, even if the lower-bandwidth configuration has more capacity. Capacity is valuable until the active weights, KV state, activations, and operating slack fit cleanly. Beyond that point, additional local capacity may add cost but not revenue.&lt;/p&gt;&lt;p&gt;The capacity curve is not a vertical cliff. Below the useful limit, adding accelerators supplies both more memory and more bandwidth. The advantages end when other limits appear: maximum scale-up width, poor model cuts, the dominance of latencies, extra synchronization, or network contention.&lt;/p&gt;&lt;p&gt;A safe-capacity design point must sit above those limits. It includes margin for realistic context distributions, double buffering, fragmentation, failures, and transient peaks. The revenue-capacity curve rises steeply before that point, rounds smoothly, and then reaches a flatter ceiling determined mainly by bandwidth and compute. Revenue may even decline if excess capacity becomes a sunk cost that operations try to justify with big slow batches of high throughput but inferior value.&lt;/p&gt;&lt;p&gt;Accelerator HBM is too expensive to hold idle data without immediate use. Completed KV blobs should move into CPU DRAM for outgoing staging and then into scale-out storage. Frequently reused common blobs may remain replicated in shared CPU memory or nearby cache appliances. Only the active working set can pay for the most expensive memory.&lt;/p&gt;&lt;p&gt;Tall stacks of high-capacity memory may impose costs in power, signal quality, packaging, and frequency. A design with just enough capacity and exceptional bandwidth may serve interactive inference at higher margins than one that maximizes capacity per accelerator with idle excess.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!66Yn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb34940fd-4858-40a2-96c7-8b772840772c_2398x1696.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 22. Revenue per machine versus local fast-memory capacity." class="sizing-normal" height="1030" src="https://substackcdn.com/image/fetch/$s_!66Yn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb34940fd-4858-40a2-96c7-8b772840772c_2398x1696.png" title="Figure 22. Revenue per machine versus local fast-memory capacity." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 23. Revenue per machine versus local fast-memory capacity.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;21. A practical mapping method&lt;/h2&gt;&lt;p&gt;The prior sections can be condensed into a repeatable method for mapping a model onto a machine.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Separate the operating regimes.&lt;/strong&gt; Measure prefill, midfill, decode attention, and decode experts independently. Each may split further by context length or workload class&amp;#8212;for example agents, coding, media, or content creation. These become prepared configurations that the orchestrator can mix in production.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Describe the repeating layer group.&lt;/strong&gt; Identify full and optimized attention, shared transforms, routed experts, and any cross-layer dependency.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Measure active state rather than total parameters alone.&lt;/strong&gt; Separate stage weights, active experts, live activations, KV state, and transient buffers.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Choose the natural parallel dimension for each operation.&lt;/strong&gt; Pipeline the layer stack, tensor-parallelize broad indivisible work, and distribute independent experts widely.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Map the broadest operation first.&lt;/strong&gt; Long-context attention often determines memory striping and the minimum useful scale-up participation.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Place expert weights in regular local destinations.&lt;/strong&gt; Let routing select among known peer locations rather than creating a global event for every token. A large model may contain on the order of 15,000 layer-experts, and each can be placed with regard to the other experts in its layer and the expected routing distribution. The goal is even use of memory capacity and bandwidth.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keep repeated high-throughput cooperation inside the strongest fabric.&lt;/strong&gt; Let thinner activations and amortized KV movement cross weaker boundaries. Respect latency and power cliffs as well as throughput cliffs.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stop increasing pipeline depth at the KV-memory crossover.&lt;/strong&gt; Once the model and target context fit with safe margin, additional stages bring little memory benefit and add stage-transition latency.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use input fill and decode differently.&lt;/strong&gt; Sort prefill and midfill routes into expert batches; preserve small-batch decode interactivity.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Design storage and scheduling with the worker.&lt;/strong&gt; KV movement, admission control, ready buffers, and worker reconfiguration determine whether the physical mapping produces steady throughput. Short batches and continuous batch updates let the orchestrator replace individual requests without waiting for the whole batch to retire.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The method does not select one universal topology. It makes the trade-offs visible. A peer set may be one package, one board, or a rack-wide scale-up domain. A layer-group cr&amp;#234;pe may map to one node or several. The important point is that the communication hierarchy follows the model&amp;#8217;s actual flow.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vpdJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d85edd1-be4f-481c-a4f9-b48bf9499549_2638x1090.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 23. A practical sequence for mapping the model onto a worker and then into a token factory." class="sizing-normal" height="602" src="https://substackcdn.com/image/fetch/$s_!vpdJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d85edd1-be4f-481c-a4f9-b48bf9499549_2638x1090.png" title="Figure 23. A practical sequence for mapping the model onto a worker and then into a token factory." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 24. A practical sequence for mapping the model onto a worker and then into a token factory.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;22. The next view is time&lt;/h2&gt;&lt;p&gt;The diagrams so far describe structure and flow. The next step is to place time over them.&lt;/p&gt;&lt;p&gt;Interactive decode has a tight end-to-end budget. Execution of one layer commonly needs to fit within roughly 50 microseconds to 1 millisecond, which across a typical 60-layer model corresponds to roughly 15 to 300 generated tokens per second. Each layer contains several sequential phases, so individual arithmetic operations and handoffs live in tens of microseconds, microseconds, and sometimes fractions of a microsecond.&lt;/p&gt;&lt;p&gt;At that scale, tensor arithmetic is only part of the result. Kernel launch, queueing, synchronization, memory setup, routing, reduction, and link latency must all remain small compared with the operation they support. An expert multiply that takes a fraction of a microsecond is of diluted value if dispatch and data movement take several microseconds each.&lt;/p&gt;&lt;p&gt;The timing view also sharpens the network hierarchy. A high-bandwidth path may still be unsuitable if its setup latency is too large. A small local buffer can be more valuable than a large distant memory tier for a sub-microsecond handoff. A scheduler that creates millisecond variation can overwhelm careful microsecond engineering inside the worker.&lt;/p&gt;&lt;p&gt;The factory spans several control timescales:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;local arithmetic and link handoffs in fractions of a microsecond to microseconds;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;layer execution in roughly 50 microseconds to 1 millisecond;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;token generation in milliseconds;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;ready buffers and admission control in roughly 0.1 to 10 seconds;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;worker reconfiguration by the orchestrator over seconds to minutes;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;KV-blob retention and lifecycle in the fast parallel file system over minutes to days;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;and customer demand planning over hours and days.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;These loops should be designed separately and joined carefully. Fast controls should not chase slow demand noise, and slow controls should not react to every transient queue fluctuation.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BUH2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1ddae71-31af-4a95-8b42-61c3f24bfd5a_2096x1807.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 24. From local execution to factory-control timescales." class="sizing-normal" height="1255" src="https://substackcdn.com/image/fetch/$s_!BUH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1ddae71-31af-4a95-8b42-61c3f24bfd5a_2096x1807.png" title="Figure 24. From local execution to factory-control timescales." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 25. From local execution to factory-control timescales.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;23. Worked example: projected Kimi K3 performance on Blackwell systems&lt;/h2&gt;&lt;p&gt;The preceding sections describe a method for reasoning about model placement. A useful check is to apply it to a specific frontier model and explore the resulting trade-offs together. The following charts show modeled Kimi K3 performance on B200, B300, and GB200 systems using configurations from 16 to 64 GPUs in a rack. These are workload-and-hardware projections, not measured benchmark results. Connected lines identify projected Pareto frontiers: configurations for which interactivity cannot improve without giving up throughput or another selected objective.&lt;/p&gt;&lt;h3&gt;22.1 Interactivity and throughput&lt;/h3&gt;&lt;p&gt;The first chart compares time per output token for decode, or time to first token for prefill and midfill, against tokens per second per GPU. Normalizing throughput per GPU makes configurations of different sizes directly comparable.&lt;/p&gt;&lt;p&gt;The lower-left group contains decode frontiers for 8k and 32k input contexts. Feasible configurations appear for all three GPU types. GB200 is strong across much of the frontier, while B200 and B300 also offer competitive points. The lowest-latency decode configurations generally combine pipeline and tensor parallelism. At the throughput-oriented end, the highest tokens per second per GPU tend to come from one attention instance per GPU, without tensor or pipeline parallelism, while expert parallelism remains as wide as the system permits.&lt;/p&gt;&lt;p&gt;The upper-middle group is midfill: 127k cached input tokens followed by a 1k-token append before decode. GB200 leads the low-TTFT portion without pipeline parallelism, using TP=4 or TP=2. B300 catches up toward the throughput-oriented end. B200 and B300 generally use PP=4, with expert parallelism bounded within each stage so the expert all-to-all remains inside the node.&lt;/p&gt;&lt;p&gt;The two groups at upper right are 8k- and 32k-token prefills. All three GPU types converge on similar configurations: PP=4, with TP=4 or TP=2 favoring lower TTFT at some cost in throughput. Their close projected performance reflects the shared Blackwell compute architecture and the compute-limited nature of these prefill workloads.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4rOA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f424d0d-368f-461d-8b78-5433bed03128_2048x1274.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 25. Projected interactivity and throughput frontiers for decode, midfill, and prefill. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="906" src="https://substackcdn.com/image/fetch/$s_!4rOA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f424d0d-368f-461d-8b78-5433bed03128_2048x1274.png" title="Figure 25. Projected interactivity and throughput frontiers for decode, midfill, and prefill. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 26. Projected interactivity and throughput frontiers for decode, midfill, and prefill. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;22.2 Energy per query&lt;/h3&gt;&lt;p&gt;The second chart uses the same simulated configurations but changes the vertical axis to energy per completed query. Decode is the largest energy workload because the modeled output length is 1,000 tokens, requiring roughly 1,000 passes through the model for every query. Midfill uses the least energy: it appends a relatively short sequence after one pass through an existing long context. Full 8k and 32k prefills require successively more energy.&lt;/p&gt;&lt;p&gt;The model includes Kimi K3&amp;#8217;s localized-attention layers, so both retained state and computation reflect the expected savings from the attention structure rather than treating every layer as full attention.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L_rU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab3a5dc-803c-4d91-b513-ca10e9ea2df6_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 26. Projected energy per query for the same decode, midfill, and prefill frontiers. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!L_rU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab3a5dc-803c-4d91-b513-ca10e9ea2df6_2048x1289.png" title="Figure 26. Projected energy per query for the same decode, midfill, and prefill frontiers. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 27. Projected energy per query for the same decode, midfill, and prefill frontiers. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;22.3 Fast-memory requirements&lt;/h3&gt;&lt;p&gt;The third chart shows peak HBM residency per GPU. It excludes the extra buffers used while KV state enters or leaves the worker, which may add several gigabytes per GPU. Between conversational or agentic turns, inactive KV blobs can be transferred in parallel to network-attached DDR, including the DRAM attached to node CPUs. That memory is cheaper, more available, and less constrained by the HBM supply chain.&lt;/p&gt;&lt;p&gt;The projected frontiers cluster near the lower end of the feasible memory range. For prefill and midfill, the downward steps come from adding pipeline parallelism and increasing tensor or data parallelism, including data-parallel ring-batched instances. Decode reduces per-GPU residency first through tensor or data parallelism, using pipeline parallelism later.&lt;/p&gt;&lt;p&gt;Most frontier configurations remain below approximately 80 GB per GPU even after allowing for practical KV-transfer buffers. This supports the earlier conclusion that bandwidth can be more valuable than maximizing HBM capacity on every accelerator, provided the broader storage and orchestration system moves idle state promptly.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-v6T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf12d141-27cf-4c91-9532-9978c5a3a792_2792x1796.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 27. Projected peak HBM residency per GPU across the simulated frontiers. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="937" src="https://substackcdn.com/image/fetch/$s_!-v6T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf12d141-27cf-4c91-9532-9978c5a3a792_2792x1796.png" title="Figure 27. Projected peak HBM residency per GPU across the simulated frontiers. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 28. Projected peak HBM residency per GPU across the simulated frontiers. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;22.4 Network peaks and the scale-up boundary&lt;/h3&gt;&lt;p&gt;The fourth chart shows projected peak network traffic per GPU. Prefill and midfill make intensive use of the network for expert parallelism because many routed activations are in flight at once. Pipeline parallelism is therefore particularly useful on B200 and B300 systems: placing one stage inside a node keeps its expert all-to-all traffic on the local NVLink fabric.&lt;/p&gt;&lt;p&gt;GB200 NVL72 extends scale-up bandwidth across the rack. More GPUs can therefore participate in one layer in parallel, with all instances advancing through that layer in synchrony, to improve latency and throughput without crossing a weaker network boundary.&lt;/p&gt;&lt;p&gt;Decode shows lower interval-averaged peaks because a small batch consults relatively few experts at once. Individual transfers still burst at the physical NVLink rate; the lower plotted value reflects a measurement interval longer than the transfers themselves. This distinction between instantaneous link rate and sustained traffic matters when sizing the fabric and interpreting utilization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!485f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f02faa0-a5dd-4f3f-bc27-37c4f6912894_2652x1652.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Figure 28. Projected peak network traffic per GPU and the benefit of keeping expert traffic inside the scale-up domain. Source: SemiAnalysis Inference Simulator." class="sizing-normal" height="907" src="https://substackcdn.com/image/fetch/$s_!485f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f02faa0-a5dd-4f3f-bc27-37c4f6912894_2652x1652.png" title="Figure 28. Projected peak network traffic per GPU and the benefit of keeping expert traffic inside the scale-up domain. Source: SemiAnalysis Inference Simulator." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Figure 29. Projected peak network traffic per GPU and the benefit of keeping expert traffic inside the scale-up domain. Source: SemiAnalysis Inference Simulator.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The four views tell a consistent story. The best configuration changes with the operating regime and the selected point on the latency-throughput frontier. Prefill and midfill reward organized parallelism and stage-local expert traffic. Decode benefits from parallelism at the low-latency end, but the highest throughput per GPU comes from simpler attention instances combined with wide expert placement. Across the projected frontiers, fast-memory capacity appears less restrictive than network placement, memory bandwidth, and orchestration.&lt;/p&gt;&lt;h2&gt;Closing perspective&lt;/h2&gt;&lt;p&gt;The useful unit of analysis for inference is not total parameter count alone. It is the active flow of the model joined to the memory, communication, and timing hierarchy of the machine.&lt;/p&gt;&lt;p&gt;MoE provides structure. Layer groups repeat. Experts are numerous but individually manageable. Attention is broad and increasingly shaped by KV state. Operations occur in sequence and can reuse hardware. Pipeline, tensor, and expert parallelism can each follow the dimension where it is most natural. Prefill and midfill can sort routes into efficient expert batches, while decode can preserve short batches and high interactivity.&lt;/p&gt;&lt;p&gt;The hardware can reflect that structure. A logical accelerator peer set provides a bounded scale-up domain. Nodes stack into racks. A rack may be one scale-up worker or several pipeline stages. Shared storage makes KV blobs movable. Datacenter networking connects bounded workers rather than carrying every inner tensor operation. Scheduling keeps predictable and stochastic stages in steady flow.&lt;/p&gt;&lt;p&gt;Holding the problem this way does not remove its scale. It makes that scale easier to divide. The model, worker, rack, storage system, and scheduler become parts of one coherent design that can be measured, illustrated, and improved.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/computation-and-data-movement-for"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-21T10:14:15+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/engrams-embedding-entendre-codesign</id>
    <title>Engrams Embedding Entendre: Codesign for Efficient DRAM/SSD Offloading</title>
    <updated>2026-09-18T06:34:20+00:00</updated>
    <author>
      <name>Bryan Shan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;Engram extends standard token embeddings with learned multi-token lookups. Recurring local patterns retrieve vectors directly, reducing the need to reconstruct them through attention and feed-forward layers. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;With Engram model architecture optimization, it allows for lower HBM capacity to be needed for models at the same quality. &lt;/span&gt;&lt;/strong&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;This does not mean there won&amp;#8217;t be an insane demand for HBM but it just means that model architecture will continue to innovate around constraints.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This model architecture design is naturally codesigned for parameter offloading: each token accesses a few embedding rows whose addresses depend on token IDs, not hidden states. The runtime can prefetch those rows from host DRAM while earlier layers compute, keeping the table outside HBM without transferring entire weight matrices. &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Our Memory model contains our latest estimates of quarter by quarter HBM, DRAM, &amp;amp; NAND supply and demand.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EPnh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa5373b8-e5c4-4254-b899-1195ac27e1a7_2048x769.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!EPnh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa5373b8-e5c4-4254-b899-1195ac27e1a7_2048x769.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Offloading frees HBM for model weights and KV cache,&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; potentially supporting larger batches or more concurrent sessions. When DRAM becomes the next constraint, NVMe offers another tier. Recommendation systems already cache frequently or recently accessed embedding rows in faster memory while backing colder rows with SSDs. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;After NVIDIA roadmap had to change due to massively despec&amp;#8217;ing Rubin Ultra from 1024GB to now ~200GB of HBM per chip&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, model architecture optimizations like emgram maybe helpful.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our DeepSeek-V4.1-Flash configuration uses roughly 189 GiB of memory for Engram. We replace it with a memory-mapped (mmap) file and measure serving performance with offload to SSD.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Later on in our report, we will show our Engram offloading experiments along with &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;&lt;span&gt;the official InferenceX agentic inference serving results on Engram models like DeepSeekv4.1 Flash across all 6 NVIDIA GPU SKUs along with MI355X.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Unsurprisingly, the CUDA Moat is still mogging MI355X on the ultra popular DeepSeekV4.1 Flash model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We also show how even on high capacity HBM SKUs, offloading emgrams to DRAM could result in even better performance for most of the pareto than keeping the emgram in HBM.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Our benchmark has been widely reproduced, validated and/or supported by almost every major buyer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; of compute from &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/compute/scaling-moe-inference-with-nvidia-dynamo-on-google-cloud-a4x"&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://blog.aks.azure.com/2025/10/24/dynamo-on-aks#enterprise-scale-inference-experiments--dynamo-with-gb200-running-on-aks"&gt;&lt;span&gt;Microsoft Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Oracle,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and many more. Furthermore, it has the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;support of the ML community including from vLLM, LMCache, SGLang, PyTorch, Huggingface&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the support of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;major labs like OpenAI, MiniMax, ZAI, Qwen, Moonshot Kimi, etc.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jhcs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33218ee5-8a7a-4fc6-962d-ef25f5005f72_1456x504.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="504" src="https://substackcdn.com/image/fetch/$s_!jhcs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33218ee5-8a7a-4fc6-962d-ef25f5005f72_1456x504.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;Star the InferenceX GitHub repository if you find the open-source benchmark and data useful!&lt;/a&gt;. InferenceX is the only inference benchmark in the world to have TPUv7, Jalape&amp;#241;o, Nvidia Rubin NVL72, AMD, and soon, SambaNova and Trainium. Due to how realistic AgentX scenario is to real world agentic inference workloads, AMD has committed to collaborating on MI455X UALoE72 too.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JHUB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07c3ee14-7d6d-486b-b9cd-36aec3f971b7_1456x837.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!JHUB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07c3ee14-7d6d-486b-b9cd-36aec3f971b7_1456x837.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Engram Benefits&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;DeepSeek did not release the original paper&amp;#8217;s two trained Engram models. We replicated its setup on fineweb-edu using the released code and training hyperparameters, at an estimated 6E18 FLOPs per run. We observed the same U-shape scaling:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XE1Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec98796-a8c4-4cf8-9065-e9397c59fca1_1034x752.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="752" src="https://substackcdn.com/image/fetch/$s_!XE1Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec98796-a8c4-4cf8-9065-e9397c59fca1_1034x752.png" width="1034" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Engram improved performance over pure MoE baselines. We also reproduced DeepSeek&amp;#8217;s results, where earlier-layer representations with Engram resembled those of later layers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uRQK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27447880-e621-4b06-8f26-79773780be2f_2272x1348.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="864" src="https://substackcdn.com/image/fetch/$s_!uRQK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27447880-e621-4b06-8f26-79773780be2f_2272x1348.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;What is Being Memorized?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Like the original Engram paper, it is possible to probe Engram&amp;#8217;s gate scores to see what n-grams DeepSeek-V4.1-Flash makes the most use of. Our gate scan finds names, code fragments, relational phrasing, and boilerplate. These examples prioritize interesting-ness over gate strength.&lt;/span&gt;&lt;/p&gt;&lt;div class="datawrapper-wrap outer" id="datawrapper-iframe"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One unexpected result was &lt;/span&gt;&lt;code&gt;Wright : Ace Attorney&lt;/code&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GcHc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0160b80e-a48a-4e36-9895-494f7ce158ba_1290x1080.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1080" src="https://substackcdn.com/image/fetch/$s_!GcHc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0160b80e-a48a-4e36-9895-494f7ce158ba_1290x1080.png" width="1290" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;These examples suggest learned memory optimizes the training objective, not a judgment of which facts deserve storage. Licenses, bibliography fragments, API scaffolding, and website furniture can provide prediction shortcuts, so the value of additional Engram capacity may depend on what survives data preparation. This does not show that table capacity is &amp;#8220;wasted&amp;#8221;: the evaluation-corpus scan establishes neither training exposure nor the capacity occupied by each category.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For offloading, strong gates do not identify cache-hot rows. Low gates do not automatically save reads either: computing the gate requires the retrieved key and undoes the performance gain of a fused kernel. Skipping reads would require a separate usefulness predictor before retrieval.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Removing Engram&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In the &lt;/span&gt;&lt;a href="https://arxiv.org/pdf/2601.07372#page=17"&gt;&lt;span&gt;original paper&amp;#8217;s inference-time ablation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, factual-knowledge benchmarks retained just 29&amp;#8211;44% of their original performance, while reading comprehension retained 81&amp;#8211;93%. This is due to the training&amp;#8211;inference mismatch. The resulting degradation therefore measures this trained model&amp;#8217;s dependence on Engram, not the performance difference between models trained with and without it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sVAA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc292051e-b694-4612-9ee9-9e9b768d214f_1422x592.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="592" src="https://substackcdn.com/image/fetch/$s_!sVAA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc292051e-b694-4612-9ee9-9e9b768d214f_1422x592.png" width="1422" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/pdf/2601.07372#page=17"&gt;DeepSeek&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In our ablations, suppressing Engram worsens token likelihood across all evaluated domains, especially encyclopedia text and several code corpora. Surprisingly, GSM8K accuracy stays within measured run-to-run variation and removing Engram has no effect.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Engram is not a detachable dictionary beside an unchanged MoE. Removing it changes downstream features and expert selection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested whether rerouting hurts or compensates by holding tokens fixed in a teacher-forced experiment on CRUXEval, a code-reasoning benchmark of small Python functions where the model predicts a function&amp;#8217;s output from its code and an input, and scoring the reference answer. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9Vn7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d87e40d-2115-4d9e-9f8a-cbda552cd7f7_2126x696.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="477" src="https://substackcdn.com/image/fetch/$s_!9Vn7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d87e40d-2115-4d9e-9f8a-cbda552cd7f7_2126x696.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/pdf/2401.03065"&gt;CRUXEval&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Removing Engram raised answer loss from 0.2848 to 0.3093 bits/token. Forcing the ablated model to use the original Engram-on expert choices made it worse still, at 0.3375 bits/token.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2mjE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe728edcc-e684-41c7-99f3-3de66b76d1ff_2048x841.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!2mjE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe728edcc-e684-41c7-99f3-3de66b76d1ff_2048x841.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rerouting partially compensates for the missing memory. Memory features and expert selection work together, rather than following a clean &amp;#8220;memory stores facts; experts reason&amp;#8221; division.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the same CRUXeval, removing Engram during either phase reduced accuracy and increased generated tokens; removing it throughout produced the largest changes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kkAk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477584e8-1f01-4e67-90b4-a8f60d3b3b09_2048x666.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="473" src="https://substackcdn.com/image/fetch/$s_!kkAk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477584e8-1f01-4e67-90b4-a8f60d3b3b09_2048x666.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Keeping Engram for prefill leads to more correct answers than keeping for decode likely due to semantically richer KV cache transferred to decode workers, allowing it to mitigate some of the performance loss. &lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Agentic Inference Serving Performance&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Engram&amp;#8217;s table is large, but each lookup is small. DeepSeek-V4.1-Flash requests 24 rows at each of two Engram layers, about 12.4 KiB per processed token position across the model, or 3.1 KiB per GPU when split across four GPUs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fByW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a4f36c-e9fd-4574-96dc-d26a0057bc07_1984x1602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1176" src="https://substackcdn.com/image/fetch/$s_!fByW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a4f36c-e9fd-4574-96dc-d26a0057bc07_1984x1602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Currently as of Day 7 since Model Release, MI355X is still 2-4x worse performance per dollar compared to B200 even when normalized by Mi355X&amp;#8217;s lower TCO. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;Our full total cost of ownership breakdown comes from our AI Cloud TCO Model along with monthly market surveys of over 100+ gpu clouds &amp;amp; gpu cloud customers.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7ubF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41711275-ca52-465c-8099-f8db46c916e3_1772x1602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1316" src="https://substackcdn.com/image/fetch/$s_!7ubF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41711275-ca52-465c-8099-f8db46c916e3_1772x1602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the Day 0 release of DeepSeekv4.1 Flash, NVIDIA vLLM works out of the box with zero issues across all 6 SKUs: H100, H200, B200, B300, GB200, GB300! This was thanks to the amazing work by the NVIDIA &amp;amp; Interact teams! In comparison, AMD vLLM did not work on day 0 for DeepSeekv4.1 Flash.Source: SemiAnalysis InferenceX&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Iz5F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef38cf0-904e-49b8-b45f-944f19793e84_1786x1434.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1169" src="https://substackcdn.com/image/fetch/$s_!Iz5F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef38cf0-904e-49b8-b45f-944f19793e84_1786x1434.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s vLLM documentation points to using vllm/vllm-openai-rocm:deepseekv41-flash-0909, but from hour 0 of the model release to hour 23, AMD has not publicly released the image. AMD claims, &amp;#8220;SPEED IS THE MOAT,&amp;#8221; yet it has still not released it by the 23rd hour. We wish that, going forward, the AMD team has a better process for hour 0 model releases.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8jLf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87f68d4-6472-4aa2-8b98-fda4cf16e148_1918x1254.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="952" src="https://substackcdn.com/image/fetch/$s_!8jLf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87f68d4-6472-4aa2-8b98-fda4cf16e148_1918x1254.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: vLLM AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4J-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe40700af-36e7-41c7-82c7-b5eed85bec19_1700x1162.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="995" src="https://substackcdn.com/image/fetch/$s_!4J-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe40700af-36e7-41c7-82c7-b5eed85bec19_1700x1162.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: vLLM, AMD, DockerHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Eventually when they did publicly release for &amp;#8220;day 0&amp;#8221; image support, performance-wise, it is currently up to 14.8x worse perf per dollar than H200 and up to 42x worse perf per dollar than B200/B300.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The power of the CUDA MOAT is NVIDIA&amp;#8217;s collaboration with its massive 6 million-developer community ecosystem including most of the vLLM &amp;amp; SGLang &amp;amp; Tokenspeed maintainers which means that CUDA is optimized on day 0.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Fmd3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4a2258-63cd-4db1-aab0-5fde3e34bd8b_1706x1168.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="498.5" src="https://substackcdn.com/image/fetch/$s_!Fmd3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4a2258-63cd-4db1-aab0-5fde3e34bd8b_1706x1168.png" width="728" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, AMD did make significant improvements but the performance per dollar is still currently 2-4x worse than B200.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sS8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc34d6dbf-931a-45e0-ad71-5ddb810a7f25_1914x1602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1219" src="https://substackcdn.com/image/fetch/$s_!sS8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc34d6dbf-931a-45e0-ad71-5ddb810a7f25_1914x1602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;AgentX Engram DRAM Offloading Improving Performance&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The HBM and DRAM offload use the same GPU kernel to select and dequantize rows. With HBM, it reads GPU memory; with Unified Virtual Addressing (UVA), it reads pinned host memory directly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Both support full decode graphs. Moving the table into HBM accelerates only the sparse lookup, leaving decoder computation and communication unchanged, resulting in little overall benefit while consuming memory otherwise available to KV cache.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another benefit of Engram offloaded to DRAM which means you can reduce the communication overhead by using less HBM GPUs per replica. For example, when enabling Engram offloading on B300, we are able to switch from TP4 to now TP2 which improves the pareto curve by up to 1.6x.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NpaA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa66eaf4d-e1c6-4967-bee8-5c3b995ef41d_1922x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="920" src="https://substackcdn.com/image/fetch/$s_!NpaA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa66eaf4d-e1c6-4967-bee8-5c3b995ef41d_1922x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When iso-model quality, less HBM is required as the engrams could be offloaded to host DRAM. Thus HBM bandwidth matters way more than HBM capacity. For inference workloads where memory bandwidth matters the most, 4-hi HBM provides the best $/bandwidth and therefore lowest cost per token. If China continues to make more and more revolutionary model architecture innovations, soon it could potentially 0Hi HBM stacks.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Moreover, on B300 and week-0 stack, moving the Engram table back to HBM did not improve results and stay within run-to-run variance. This is a result of the work optimizing DRAM offload, such as async, and overlap.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;SSD Offloading&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;On B200, we created a unoptimized vLLM fork and stored the Engram tables in memory-mapped files on local SSDs. File backing lets the OS reclaim table pages when other applications need RAM. Pages already cached in memory can be served without reading the SSD again. Furthermore, note that we were unable to turn on GDS &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The unoptimized SSD implementation changes how rows reach the GPU. It copies row IDs to the CPU, deduplicates them, gathers the requested rows into pinned buffers, copies those rows back to the GPU and dequantizes them. This work runs between segments of the GPU execution graph. Native UVA performs row selection and dequantization directly on the GPU, avoiding the CPU round trip.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A warm filesystem cache removes physical SSD reads, but leaves the coordination, row gathering and transfers. This is why a file already cached in RAM can still perform worse than a pinned DRAM table. The comparison measures the whole serving path; it does not separate the time spent on each of these operations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;B200 DRAM dominates both measured SSD serving curves in total tokens per dollar and P90 interactivity. Near 125 tokens/s/user, DRAM delivers 121 million total tokens per dollar versus 52 million for SSD.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JLpv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcfe5b9-1ec1-44e2-9c21-be862536931c_1698x1504.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1290" src="https://substackcdn.com/image/fetch/$s_!JLpv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcfe5b9-1ec1-44e2-9c21-be862536931c_1698x1504.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For production serving, SSD offloading is likely not worth the tradeoff. On the B200 configurations we measured, SSD offloading loses on both measures: every observed SSD point has a DRAM alternative that delivers higher P90 interactivity and more total tokens per dollar. The only points where&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cheaper storage does not automatically produce a cheaper inference service. Moving Engram to SSD leaves the same four expensive GPUs and the rest of the server in place. Reclaiming RAM only creates an economic benefit if it enables a cheaper server configuration or additional useful capacity. The current unoptimized path provides neither benefit, and the filesystem cache still consumes RAM when table pages are resident.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Mechanism&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Next we will look at the mechanisms and specific implementation of ngrams from DeepSeekv4.1 Flash, LongCat, Qwen3.8 Flash Next.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/engrams-embedding-entendre-codesign"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/engrams-embedding-entendre-codesign"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;Engram extends standard token embeddings with learned multi-token lookups. Recurring local patterns retrieve vectors directly, reducing the need to reconstruct them through attention and feed-forward layers. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;With Engram model architecture optimization, it allows for lower HBM capacity to be needed for models at the same quality. &lt;/span&gt;&lt;/strong&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;This does not mean there won&amp;#8217;t be an insane demand for HBM but it just means that model architecture will continue to innovate around constraints.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This model architecture design is naturally codesigned for parameter offloading: each token accesses a few embedding rows whose addresses depend on token IDs, not hidden states. The runtime can prefetch those rows from host DRAM while earlier layers compute, keeping the table outside HBM without transferring entire weight matrices. &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Our Memory model contains our latest estimates of quarter by quarter HBM, DRAM, &amp;amp; NAND supply and demand.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EPnh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa5373b8-e5c4-4254-b899-1195ac27e1a7_2048x769.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!EPnh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa5373b8-e5c4-4254-b899-1195ac27e1a7_2048x769.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Offloading frees HBM for model weights and KV cache,&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; potentially supporting larger batches or more concurrent sessions. When DRAM becomes the next constraint, NVMe offers another tier. Recommendation systems already cache frequently or recently accessed embedding rows in faster memory while backing colder rows with SSDs. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;After NVIDIA roadmap had to change due to massively despec&amp;#8217;ing Rubin Ultra from 1024GB to now ~200GB of HBM per chip&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, model architecture optimizations like emgram maybe helpful.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our DeepSeek-V4.1-Flash configuration uses roughly 189 GiB of memory for Engram. We replace it with a memory-mapped (mmap) file and measure serving performance with offload to SSD.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Later on in our report, we will show our Engram offloading experiments along with &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;&lt;span&gt;the official InferenceX agentic inference serving results on Engram models like DeepSeekv4.1 Flash across all 6 NVIDIA GPU SKUs along with MI355X.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Unsurprisingly, the CUDA Moat is still mogging MI355X on the ultra popular DeepSeekV4.1 Flash model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We also show how even on high capacity HBM SKUs, offloading emgrams to DRAM could result in even better performance for most of the pareto than keeping the emgram in HBM.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Our benchmark has been widely reproduced, validated and/or supported by almost every major buyer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; of compute from &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/compute/scaling-moe-inference-with-nvidia-dynamo-on-google-cloud-a4x"&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://blog.aks.azure.com/2025/10/24/dynamo-on-aks#enterprise-scale-inference-experiments--dynamo-with-gb200-running-on-aks"&gt;&lt;span&gt;Microsoft Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Oracle,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and many more. Furthermore, it has the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;support of the ML community including from vLLM, LMCache, SGLang, PyTorch, Huggingface&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the support of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;major labs like OpenAI, MiniMax, ZAI, Qwen, Moonshot Kimi, etc.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jhcs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33218ee5-8a7a-4fc6-962d-ef25f5005f72_1456x504.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="504" src="https://substackcdn.com/image/fetch/$s_!jhcs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33218ee5-8a7a-4fc6-962d-ef25f5005f72_1456x504.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;Star the InferenceX GitHub repository if you find the open-source benchmark and data useful!&lt;/a&gt;. InferenceX is the only inference benchmark in the world to have TPUv7, Jalape&amp;#241;o, Nvidia Rubin NVL72, AMD, and soon, SambaNova and Trainium. Due to how realistic AgentX scenario is to real world agentic inference workloads, AMD has committed to collaborating on MI455X UALoE72 too.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JHUB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07c3ee14-7d6d-486b-b9cd-36aec3f971b7_1456x837.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!JHUB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07c3ee14-7d6d-486b-b9cd-36aec3f971b7_1456x837.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Engram Benefits&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;DeepSeek did not release the original paper&amp;#8217;s two trained Engram models. We replicated its setup on fineweb-edu using the released code and training hyperparameters, at an estimated 6E18 FLOPs per run. We observed the same U-shape scaling:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XE1Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec98796-a8c4-4cf8-9065-e9397c59fca1_1034x752.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="752" src="https://substackcdn.com/image/fetch/$s_!XE1Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec98796-a8c4-4cf8-9065-e9397c59fca1_1034x752.png" width="1034" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Engram improved performance over pure MoE baselines. We also reproduced DeepSeek&amp;#8217;s results, where earlier-layer representations with Engram resembled those of later layers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uRQK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27447880-e621-4b06-8f26-79773780be2f_2272x1348.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="864" src="https://substackcdn.com/image/fetch/$s_!uRQK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27447880-e621-4b06-8f26-79773780be2f_2272x1348.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;What is Being Memorized?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Like the original Engram paper, it is possible to probe Engram&amp;#8217;s gate scores to see what n-grams DeepSeek-V4.1-Flash makes the most use of. Our gate scan finds names, code fragments, relational phrasing, and boilerplate. These examples prioritize interesting-ness over gate strength.&lt;/span&gt;&lt;/p&gt;&lt;div class="datawrapper-wrap outer" id="datawrapper-iframe"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One unexpected result was &lt;/span&gt;&lt;code&gt;Wright : Ace Attorney&lt;/code&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GcHc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0160b80e-a48a-4e36-9895-494f7ce158ba_1290x1080.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1080" src="https://substackcdn.com/image/fetch/$s_!GcHc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0160b80e-a48a-4e36-9895-494f7ce158ba_1290x1080.png" width="1290" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;These examples suggest learned memory optimizes the training objective, not a judgment of which facts deserve storage. Licenses, bibliography fragments, API scaffolding, and website furniture can provide prediction shortcuts, so the value of additional Engram capacity may depend on what survives data preparation. This does not show that table capacity is &amp;#8220;wasted&amp;#8221;: the evaluation-corpus scan establishes neither training exposure nor the capacity occupied by each category.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For offloading, strong gates do not identify cache-hot rows. Low gates do not automatically save reads either: computing the gate requires the retrieved key and undoes the performance gain of a fused kernel. Skipping reads would require a separate usefulness predictor before retrieval.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Removing Engram&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In the &lt;/span&gt;&lt;a href="https://arxiv.org/pdf/2601.07372#page=17"&gt;&lt;span&gt;original paper&amp;#8217;s inference-time ablation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, factual-knowledge benchmarks retained just 29&amp;#8211;44% of their original performance, while reading comprehension retained 81&amp;#8211;93%. This is due to the training&amp;#8211;inference mismatch. The resulting degradation therefore measures this trained model&amp;#8217;s dependence on Engram, not the performance difference between models trained with and without it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sVAA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc292051e-b694-4612-9ee9-9e9b768d214f_1422x592.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="592" src="https://substackcdn.com/image/fetch/$s_!sVAA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc292051e-b694-4612-9ee9-9e9b768d214f_1422x592.png" width="1422" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/pdf/2601.07372#page=17"&gt;DeepSeek&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In our ablations, suppressing Engram worsens token likelihood across all evaluated domains, especially encyclopedia text and several code corpora. Surprisingly, GSM8K accuracy stays within measured run-to-run variation and removing Engram has no effect.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Engram is not a detachable dictionary beside an unchanged MoE. Removing it changes downstream features and expert selection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We tested whether rerouting hurts or compensates by holding tokens fixed in a teacher-forced experiment on CRUXEval, a code-reasoning benchmark of small Python functions where the model predicts a function&amp;#8217;s output from its code and an input, and scoring the reference answer. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9Vn7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d87e40d-2115-4d9e-9f8a-cbda552cd7f7_2126x696.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="477" src="https://substackcdn.com/image/fetch/$s_!9Vn7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d87e40d-2115-4d9e-9f8a-cbda552cd7f7_2126x696.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/pdf/2401.03065"&gt;CRUXEval&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Removing Engram raised answer loss from 0.2848 to 0.3093 bits/token. Forcing the ablated model to use the original Engram-on expert choices made it worse still, at 0.3375 bits/token.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2mjE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe728edcc-e684-41c7-99f3-3de66b76d1ff_2048x841.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!2mjE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe728edcc-e684-41c7-99f3-3de66b76d1ff_2048x841.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rerouting partially compensates for the missing memory. Memory features and expert selection work together, rather than following a clean &amp;#8220;memory stores facts; experts reason&amp;#8221; division.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the same CRUXeval, removing Engram during either phase reduced accuracy and increased generated tokens; removing it throughout produced the largest changes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kkAk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477584e8-1f01-4e67-90b4-a8f60d3b3b09_2048x666.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="473" src="https://substackcdn.com/image/fetch/$s_!kkAk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477584e8-1f01-4e67-90b4-a8f60d3b3b09_2048x666.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Keeping Engram for prefill leads to more correct answers than keeping for decode likely due to semantically richer KV cache transferred to decode workers, allowing it to mitigate some of the performance loss. &lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Agentic Inference Serving Performance&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Engram&amp;#8217;s table is large, but each lookup is small. DeepSeek-V4.1-Flash requests 24 rows at each of two Engram layers, about 12.4 KiB per processed token position across the model, or 3.1 KiB per GPU when split across four GPUs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fByW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a4f36c-e9fd-4574-96dc-d26a0057bc07_1984x1602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1176" src="https://substackcdn.com/image/fetch/$s_!fByW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a4f36c-e9fd-4574-96dc-d26a0057bc07_1984x1602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Currently as of Day 7 since Model Release, MI355X is still 2-4x worse performance per dollar compared to B200 even when normalized by Mi355X&amp;#8217;s lower TCO. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;Our full total cost of ownership breakdown comes from our AI Cloud TCO Model along with monthly market surveys of over 100+ gpu clouds &amp;amp; gpu cloud customers.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7ubF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41711275-ca52-465c-8099-f8db46c916e3_1772x1602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1316" src="https://substackcdn.com/image/fetch/$s_!7ubF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41711275-ca52-465c-8099-f8db46c916e3_1772x1602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the Day 0 release of DeepSeekv4.1 Flash, NVIDIA vLLM works out of the box with zero issues across all 6 SKUs: H100, H200, B200, B300, GB200, GB300! This was thanks to the amazing work by the NVIDIA &amp;amp; Interact teams! In comparison, AMD vLLM did not work on day 0 for DeepSeekv4.1 Flash.Source: SemiAnalysis InferenceX&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Iz5F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef38cf0-904e-49b8-b45f-944f19793e84_1786x1434.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1169" src="https://substackcdn.com/image/fetch/$s_!Iz5F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef38cf0-904e-49b8-b45f-944f19793e84_1786x1434.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s vLLM documentation points to using vllm/vllm-openai-rocm:deepseekv41-flash-0909, but from hour 0 of the model release to hour 23, AMD has not publicly released the image. AMD claims, &amp;#8220;SPEED IS THE MOAT,&amp;#8221; yet it has still not released it by the 23rd hour. We wish that, going forward, the AMD team has a better process for hour 0 model releases.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8jLf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87f68d4-6472-4aa2-8b98-fda4cf16e148_1918x1254.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="952" src="https://substackcdn.com/image/fetch/$s_!8jLf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87f68d4-6472-4aa2-8b98-fda4cf16e148_1918x1254.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: vLLM AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4J-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe40700af-36e7-41c7-82c7-b5eed85bec19_1700x1162.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="995" src="https://substackcdn.com/image/fetch/$s_!4J-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe40700af-36e7-41c7-82c7-b5eed85bec19_1700x1162.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: vLLM, AMD, DockerHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Eventually when they did publicly release for &amp;#8220;day 0&amp;#8221; image support, performance-wise, it is currently up to 14.8x worse perf per dollar than H200 and up to 42x worse perf per dollar than B200/B300.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The power of the CUDA MOAT is NVIDIA&amp;#8217;s collaboration with its massive 6 million-developer community ecosystem including most of the vLLM &amp;amp; SGLang &amp;amp; Tokenspeed maintainers which means that CUDA is optimized on day 0.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Fmd3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4a2258-63cd-4db1-aab0-5fde3e34bd8b_1706x1168.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="498.5" src="https://substackcdn.com/image/fetch/$s_!Fmd3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4a2258-63cd-4db1-aab0-5fde3e34bd8b_1706x1168.png" width="728" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall, AMD did make significant improvements but the performance per dollar is still currently 2-4x worse than B200.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sS8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc34d6dbf-931a-45e0-ad71-5ddb810a7f25_1914x1602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1219" src="https://substackcdn.com/image/fetch/$s_!sS8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc34d6dbf-931a-45e0-ad71-5ddb810a7f25_1914x1602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/deepseek-v41-flash"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;AgentX Engram DRAM Offloading Improving Performance&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The HBM and DRAM offload use the same GPU kernel to select and dequantize rows. With HBM, it reads GPU memory; with Unified Virtual Addressing (UVA), it reads pinned host memory directly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Both support full decode graphs. Moving the table into HBM accelerates only the sparse lookup, leaving decoder computation and communication unchanged, resulting in little overall benefit while consuming memory otherwise available to KV cache.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another benefit of Engram offloaded to DRAM which means you can reduce the communication overhead by using less HBM GPUs per replica. For example, when enabling Engram offloading on B300, we are able to switch from TP4 to now TP2 which improves the pareto curve by up to 1.6x.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NpaA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa66eaf4d-e1c6-4967-bee8-5c3b995ef41d_1922x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="920" src="https://substackcdn.com/image/fetch/$s_!NpaA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa66eaf4d-e1c6-4967-bee8-5c3b995ef41d_1922x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When iso-model quality, less HBM is required as the engrams could be offloaded to host DRAM. Thus HBM bandwidth matters way more than HBM capacity. For inference workloads where memory bandwidth matters the most, 4-hi HBM provides the best $/bandwidth and therefore lowest cost per token. If China continues to make more and more revolutionary model architecture innovations, soon it could potentially 0Hi HBM stacks.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Moreover, on B300 and week-0 stack, moving the Engram table back to HBM did not improve results and stay within run-to-run variance. This is a result of the work optimizing DRAM offload, such as async, and overlap.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;SSD Offloading&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;On B200, we created a unoptimized vLLM fork and stored the Engram tables in memory-mapped files on local SSDs. File backing lets the OS reclaim table pages when other applications need RAM. Pages already cached in memory can be served without reading the SSD again. Furthermore, note that we were unable to turn on GDS &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The unoptimized SSD implementation changes how rows reach the GPU. It copies row IDs to the CPU, deduplicates them, gathers the requested rows into pinned buffers, copies those rows back to the GPU and dequantizes them. This work runs between segments of the GPU execution graph. Native UVA performs row selection and dequantization directly on the GPU, avoiding the CPU round trip.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A warm filesystem cache removes physical SSD reads, but leaves the coordination, row gathering and transfers. This is why a file already cached in RAM can still perform worse than a pinned DRAM table. The comparison measures the whole serving path; it does not separate the time spent on each of these operations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;B200 DRAM dominates both measured SSD serving curves in total tokens per dollar and P90 interactivity. Near 125 tokens/s/user, DRAM delivers 121 million total tokens per dollar versus 52 million for SSD.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JLpv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcfe5b9-1ec1-44e2-9c21-be862536931c_1698x1504.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1290" src="https://substackcdn.com/image/fetch/$s_!JLpv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcfe5b9-1ec1-44e2-9c21-be862536931c_1698x1504.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="icon-noB79L" fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For production serving, SSD offloading is likely not worth the tradeoff. On the B200 configurations we measured, SSD offloading loses on both measures: every observed SSD point has a DRAM alternative that delivers higher P90 interactivity and more total tokens per dollar. The only points where&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cheaper storage does not automatically produce a cheaper inference service. Moving Engram to SSD leaves the same four expensive GPUs and the rest of the server in place. Reclaiming RAM only creates an economic benefit if it enables a cheaper server configuration or additional useful capacity. The current unoptimized path provides neither benefit, and the filesystem cache still consumes RAM when table pages are resident.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Mechanism&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Next we will look at the mechanisms and specific implementation of ngrams from DeepSeekv4.1 Flash, LongCat, Qwen3.8 Flash Next.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/engrams-embedding-entendre-codesign"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-18T06:34:20+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/everyone-says-datacenter-moratoriums</id>
    <title>Everyone Says Datacenter Moratoriums Are Killing the US Buildout. We disagree</title>
    <updated>2026-09-15T12:54:41+00:00</updated>
    <author>
      <name>Maya Barkin</name>
    </author>
    <content type="html">&lt;p&gt;The debate on US datacenters has never been so politically charged. Four states have acted in under two months. New York has stopped issuing environmental permits for datacenters, Texas has paused the next step in its massive ERCOT interconnection queue, Pennsylvania has pulled datacenters out of fast-track permitting and made state permits conditional on new guardrails, and Oregon has frozen datacenter deals on state-owned land.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond the state level, more than 300 towns, cities and counties have voted to halt datacenters over the past year and a half. If you read the news, the US datacenter buildout looks like it is being legislated to a halt, one government board at a time. As AI drives an unprecedented wave of datacenter construction over the last year, concerns over electricity costs, water consumption, land use, and community impacts are increasingly influencing policy.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3CMi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8423844c-b764-4623-856a-da23d547b9ae_1772x971.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="798" src="https://substackcdn.com/image/fetch/$s_!3CMi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8423844c-b764-4623-856a-da23d547b9ae_1772x971.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;But once again, the narrative is driven by widely spread misinformation. In January, &lt;a href="https://newsletter.semianalysis.com/p/from-tokens-to-burgers-a-water-footprint"&gt;we debunked the &amp;#8220;Datacenters are taking all of our water&amp;#8221; myth&lt;/a&gt; (TLDR: they don&amp;#8217;t, they&amp;#8217;re actually remarkably water-efficient). Then in June, in &lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;Stop Saying Half of 2026 US Datacenter Capacity is Cancelled&lt;/a&gt;, we explained that the widespread narrative of datacenters not showing up was grossly off, driven by uniformed claude-coded forecasts. &lt;/p&gt;&lt;p&gt;Today, we dive deep into the widespread narrative of moratoriums killing the US datacenter buildout. Once again, it&amp;#8217;s highly inaccurate. Our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt; forecasts +38GW of Datacenter IT capacity delivered in the US in 2027, more than double that of 2026. Of that total, 22GW is under &lt;strong&gt;vertical construction&lt;/strong&gt;, while the remaining 16GW &amp;#8220;planned&amp;#8221; is, in majority, already financed, doing siteworks and preparing for vertical construction. &lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Our methodology tracks real-time and historical satellite imagery of 6,000+ datacenters&lt;/a&gt;. Contact sales@semianalysis.com to get access to the full granularity. Our forecast has barely moved over the last 12 months, despite bi-weekly updates delivered to clients, as construction activity keeps accelerating across the country. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ehAs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16ce8d7-bf5d-4094-a93b-e9a447a81e10_1772x992.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!ehAs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16ce8d7-bf5d-4094-a93b-e9a447a81e10_1772x992.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Today, we estimate that roughly 2.3 GW of planned capacity is genuinely delayed because of local moratoriums and New York&amp;#8217;s executive order&lt;/strong&gt;, the two categories of policy intervention for which we can establish a direct project-level impact.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;At the local level (i.e., cities, townships, counties), of the roughly 20 GW sitting inside a restricted boundary, &lt;strong&gt;only 1,525 MW is delayed&lt;/strong&gt;. Three projects account for the delayed MW: an AWS campus in Ohio, a powered land developer campus in Pennsylvania, and a site in Colorado.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;New York&amp;#8217;s moratorium touches roughly 1.4 GW, but we estimate only about &lt;strong&gt;0.8 GW faces a meaningful delay&lt;/strong&gt;directly attributable to the order.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Texas adds perhaps three-four months of administrative delay for base-load projects in the ERCOT interconnection queue, but is offset by an acceleration of behind-the-meter demand. For projects that never needed the grid, it means nothing at all, making it a net positive for BtM developers and on-site generation suppliers. In June (&lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;US Grid Constraints: Towards 40GW+ of Behind-The-Meter Datacenter by 2028?&lt;/a&gt;), we showed BtM powering more than half of new US datacenter capacity from 2028. Last week, (&lt;a href="https://newsletter.semianalysis.com/p/what-is-so-hard-about-behind-the"&gt;What is So Hard About Behind-The-Meter Power For Datacenters? Part 1&lt;/a&gt;) we counted 75 GW of firm BtM equipment orders, more of them bound for Texas than any other state. If anything, the audit reinforces our view that the buildout is moving BtM.&lt;/p&gt;&lt;p&gt;Most analysis of datacenter moratoriums focuses on counting the number of restrictions, because that is relatively straightforward. &lt;strong&gt;But the number of moratoriums is a poor proxy for the amount of MW capacity they actually affect&lt;/strong&gt;. There&amp;#8217;s plenty of loopholes/gaps with the moratoriums. For example, a recent &lt;a href="https://myrgv.com/publications/the-brownsville-herald/2026/09/02/brownsville-commissioners-move-forward-with-data-center-moratorium/"&gt;Brownsville moratorium&lt;/a&gt; was brewing while Elon was planning a datacenter within city limits. But just days before approval, &lt;strong&gt;the city and Elon sneakily &amp;#8220;deannexed&amp;#8221; the &lt;a href="https://www.texastribune.org/2026/08/31/spacex-brownsville-deannex-land-water-projects/"&gt;444 acres in Brownsville&lt;/a&gt;, bringing the project out of Brownsville&amp;#8217;s moratorium jursidiction.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;A moratorium only matters to our forecast if it applies to a specific project, covers the project&amp;#8217;s parcel, and blocks an approval that the developer still needs. &lt;strong&gt;Therefore, determining the actual MW impact requires a parcel-level, project-by-project analysis&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;In addition, &lt;strong&gt;capacity exposed to a moratorium is not capacity delayed by one&lt;/strong&gt;, a distinction &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt; subscribers will recognize from our early deep dive on the issue. Most restrictions land on projects still years from construction, where schedules were never firm to begin with, and even where a moratorium is the binding constraint the developer can usually relocate, redesign, or challenge the project rather than abandon it. &lt;strong&gt;Capacity already under construction, or fully permitted and about to start, is out of reach altogether&lt;/strong&gt;, since these instruments freeze new applications rather than revoke approvals already granted. That covers all of 2026 and most of 2027.&lt;/p&gt;&lt;p&gt;To be 100% clear, we think moratoriums COULD delay the buildout, but they just aren&amp;#8217;t yet at scale. We would need to see them be materially more widespread and restrictive. Our real-time project-level analysis will instantly flag any change in trend to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model subscribers&lt;/a&gt;. As AI Labs are increasingly profitable, it becomes easier for datacenters to pay more than their &amp;#8220;fair share&amp;#8221; and be better neighbors and support local communities, which offsets the rising pusback.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VAe8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6083fe3-fc62-483f-b64e-a3c4b156083e_1120x785.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="785" src="https://substackcdn.com/image/fetch/$s_!VAe8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6083fe3-fc62-483f-b64e-a3c4b156083e_1120x785.png" title="" width="1120" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To calculate total dela, we tracked every local and state-level datacenter moratorium in our new &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Datacenter Moratoriums database&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, available to subscribers of our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;. It covers more than 400 local instruments, actions, and proposals across 17 states, tracking each status from proposal through enactment, expiration, lifting, replacement, or rejection. We then mapped every active restriction to our project-level pipeline at the individual project and MW-tranche level. That pipeline, which forms the foundation of our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;, covers 6,000+ facilities, each tracked individually through property records, permits, power-usage data, FOIA requests, satellite imagery, and other primary sources.&lt;/p&gt;&lt;p&gt;To quantify actual delayed capacity, we augmented our research analyst team (we&amp;#8217;re &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;hiring!&lt;/a&gt;) with an army of state-of-the-art research agents across our moratorium database and underlying project records, systematically testing each active restriction against the relevant projects, and validating with real-time satellite imagery. For every instrument, we matched its geographic boundary to the exact project parcel, verified that the campus falls within the relevant jurisdiction and checked whether the developer still requires an approval that has not yet been secured. We also reviewed the broader project record for other factors that could already be gating the schedule. This allowed us to systematically work through hundreds of restrictions and thousands of projects, moving beyond simply counting moratoriums to identify the specific projects and MW actually exposed, producing a materially different view of the capacity genuinely at risk.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ltdu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba46599d-edc6-4011-896c-f14171849aaa_1428x1029.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1029" src="https://substackcdn.com/image/fetch/$s_!Ltdu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba46599d-edc6-4011-896c-f14171849aaa_1428x1029.png" width="1428" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Four main factors, explored in more detail later in this note, essentially explain why hundreds of restrictions translate into relatively little actual delay: &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(1) county moratoriums often stop at city lines, leaving projects within incorporated municipalities unaffected; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(2) moratoriums typically freeze new applications rather than revoke existing approvals, allowing entitled projects to proceed; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(3) shorter moratoriums may expire before 2028+ projects need the affected approval; and &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(4) other issues, such as litigation or equipment lead times, may already be gating the schedule.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;With the November 2026 elections approaching, moratoriums are an easy way for elected officials to demonstrate that they are responding to community concerns without permanently shutting down development. Both New York Governor Hochul and Texas Governor Abbott bypassed their legislatures to impose pauses they can ultimately control and revoke. More durable statewide restrictions remain much harder to enact: 13 bills died in 2026, with almost none reaching a floor vote, underscoring the political difficulty of turning temporary local action into lasting statewide policy.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article, we start by going through our methodology and why counting moratoriums is not counting megawatts. We then look at moratoriums adopted at the local level, showing how 20 GW of nominal exposure translates into just 1,525 MW of actual delays, which projects are affected, and why most restrictions never bind. Next, we cover the state-specific moratoriums and other policy tools adopted in response to anti-datacenter backlash in New York, Texas, Pennsylvania, and Oregon, and what they mean for the broader US buildout. We then assess the likelihood of additional state-level moratoriums. Finally, we look at who benefits from the restriction wave and how it could reshape where capacity gets built, which projects move forward, and how that capacity is powered.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Counting Moratoriums Is Not Counting Megawatts&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;What a moratorium does&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A datacenter moratorium is a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;temporary legal pause&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, from a few months to a year, typically enacted by a local or state government that halts the approval, permitting, and construction of new datacenters. A moratorium is almost always a freeze on &lt;/span&gt;&lt;strong&gt;&lt;span&gt;accepting new applications&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; rather than a revocation of approvals already granted. Its purpose is to give governments time to catch up with a development cycle that has moved faster than local regulation. Many zoning codes were written before municipalities contemplated 100+ MW facilities with substantial power, water, noise, and land-use requirements. A moratorium provides time to establish new rules and assess infrastructure requirements.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of the time, a moratorium also provides elected officials with a relatively low-cost way to respond to local opposition. A temporary pause signals that government is responding to residents without permanently rejecting investment or tax revenue, and it reduces the legal exposure associated with an outright denial.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Exposed MW vs. delayed MW&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Moratorium-exposed MW is not necessarily the same as moratorium-delayed MW&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. A project can fall within a moratorium&amp;#8217;s jurisdiction without the moratorium necessarily shifting its expected construction date.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The magnitude of the moratorium impact depends heavily on where the project is in the development cycle. A project that has just acquired land has substantially more flexibility than one that is already in the middle of permitting. Likewise, a six-month moratorium does not necessarily translate into a six-month delay in actual capacity deployment, particularly when the project has sufficient schedule buffer or other constraints are already determining the timeline. This is consistent with our previous note &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;&lt;span&gt;Stop Saying Half of 2026 US Datacenter Capacity Is Canceled&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, where we showed that delays at early development stages rarely translate into meaningful changes in near-term capacity deployment.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Why Moratoriums Rarely Move the Needle&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;For a moratorium to actually move a project&amp;#8217;s delivery date, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;every one of the following must be true at the same time&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium reaches the parcel&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. County moratoriums generally apply only to unincorporated territory. A campus inside an incorporated city within that county is outside the ordinance entirely. AWS Atlanta, STACK Lithia Springs, T5 Fairburn, or Microsoft Tyrone all sit on land the relevant county moratorium cannot touch.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium is enacted and still in force&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The restriction cannot simply be proposed, lapsed, lifted, or replaced, and it must remain within any state-imposed duration limits.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium overlaps with the project&amp;#8217;s timeline.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project is not too far ahead already, and still needs the affected permit/approval.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The project must not have already obtained the affected approval before the moratorium takes effect. Many projects had their approvals in hand even though they had not started construction.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project is not too far out. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The moratorium must still be in effect when the project needs to obtain the affected approval. If delivery is 2028 or later and the moratorium lasts only three to six months, it may expire years before the project reaches that stage. The developer can simply wait out the moratorium without changing the delivery date.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium covers the use&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Most instruments apply to hyperscale facilities above a specified MW or square-footage threshold, or only to crypto mining.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project still needs the affected approval.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; A project may fall within the geographic and scope of a moratorium but not actually depend on the approval it freezes. For example, a project on federally controlled land, or one backed by federal approvals or other pre-existing rights, may have a separate permitting pathway that allows it to proceed without the approval covered by the moratorium.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The developer cannot redesign around the restriction&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. A project may be able to change its configuration, size, use or power arrangement to avoid the restriction. For example, if a moratorium applies to energization at the meter, a developer may be able to use BtM generation and continue advancing the project without waiting for grid energization.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project is still active.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The developer must still intend to build the affected MW tranche. A cancelled, withdrawn, downsized or otherwise abandoned project should not be counted as moratorium-delayed simply because it sits inside the restricted area.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;No existing rights or alternative approval pathway bypasses it.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Development agreements, vested rights, grandfathering, existing entitlements, alternative zoning classifications or other approval routes can allow a project to proceed despite the new restriction.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;No carve-out applies&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. There cannot be a public-utility carve-out, consent judgment, state preemption, or exclusionary-zoning doctrine requiring the use to be accommodated elsewhere.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;If you miss just one of these, the moratorium is irrelevant.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The cumulative effect of these filters is substantial: 300+ local instruments translate into just ~1,525 MW of actual project delay in the US.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Exposure, therefore, must be measured project-by-project, at the MW-tranche level, never inferred from how many jurisdictions in a state have acted.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Case study: NorthPoint&amp;#8217;s Campus near Scranton, Pennsylvania&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;NorthPoint&amp;#8217;s campus near Scranton, Pennsylvania, illustrates one of the rare cases where a moratorium actually binds and moves the project timeline.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Reaches the parcel. The site sits inside the township, rather than in the adjacent City of Hazleton or West Hazleton Borough.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Enacted and in force. The township adopted the resolution unanimously in June 2026.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Overlaps with the project timeline. NorthPoint had not yet obtained or filed for the required special exception when the moratorium took effect, while the first buildings were scheduled to start in Q4 2026.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Covers the use. The resolution specifically covers datacenters without a MW or square-footage threshold.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Still needs the affected approval. The project is on private land and requires a local special exception and land-development approval. There is no federal permitting pathway or existing entitlement that bypasses those approvals.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Cannot redesign around it. The restriction applies to the datacenter use itself. Downsizing or moving to BTM generation would not avoid the blocked approval.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Still active. NorthPoint continues to pursue the project, including its proposed $165 million community benefits package.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;No alternative pathway or carve-out. There is no development agreement, grandfathering or other existing right that allows construction to proceed. Nor does the project qualify for a public-utility or other relevant exemption.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On the critical path. The moratorium delays the local entitlement process into 2027.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;In this case, the moratorium is the binding constraint.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Local Moratoriums: Where Is the Risk?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yv2o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb847ce95-9f3d-4497-97f2-a277f97c63b5_2576x1334.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="754" src="https://substackcdn.com/image/fetch/$s_!yv2o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb847ce95-9f3d-4497-97f2-a277f97c63b5_2576x1334.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Proliferation across the US in 2026&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;So far, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;most restrictions have come at the local level&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. As of September 2026, more than 300 local datacenter moratoriums and bans have been adopted nationwide across counties, municipalities, townships, and other local governments. Our database tracks 400+ local instruments in total, following each through its full lifecycle: proposed, enacted, expired, lifted, replaced, or rejected. We also include permanent bans / restrictions written directly into zoning codes, since these can constrain datacenter development just as a moratorium does, but on a permanent basis. The 300+ figure represents the enacted moratorium (and few permanent bans) subset, while the broader database captures the full universe of local restrictions and their status.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We see that local moratoriums are concentrated in the Midwest and Southern regions, clustered heavily around areas experiencing rapid infrastructure growth. The top four states (Michigan, Ohio, North Carolina, Georgia) account for roughly half of all local instruments nationally, which supports the thesis that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;moratoriums and local resistance often follow rapid datacenter growth&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; rather than anticipate it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!y0BE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcb4b609-b2a2-4874-9384-96c94986909f_1430x754.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="754" src="https://substackcdn.com/image/fetch/$s_!y0BE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcb4b609-b2a2-4874-9384-96c94986909f_1430x754.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Michigan is currently the leading state for local datacenter moratoriums, with 45 enacted and 7 proposed, with the majority adopted in late 2025 and 2026 following a rapid influx of datacenter proposals. Much of this can be traced to the &lt;/span&gt;&lt;a href="https://planetdetroit.org/2024/12/michigan-senate-passes-tax-breaks/"&gt;&lt;span&gt;datacenter tax exemption&lt;/span&gt;&lt;/a&gt;&lt;span&gt; signed by Governor Gretchen Whitmer in December 2024, which accelerated development interest across the state. One notable example is Howell Township, which adopted a six-month moratorium in November 2025, to allow time to establish datacenter-specific zoning regulations. In May 2026, its board voted to &lt;/span&gt;&lt;a href="https://www.mlive.com/news/ann-arbor/2026/05/rural-township-extends-pause-on-data-centers-following-controversial-meta-backed-project.html"&gt;&lt;span&gt;extend&lt;/span&gt;&lt;/a&gt;&lt;span&gt; the moratorium for an additional six months.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Ohio ranks second with 40 enacted moratoriums, with 83% adopted in 2026 alone. Unlike Michigan, the trigger was not a new incentive, but the strain of years of rapid datacenter growth. Much of this can be traced to the &lt;/span&gt;&lt;a href="https://policymattersohio.org/research/ohioans-should-not-pay-for-data-centers-energy-demands/"&gt;&lt;span&gt;electricity-bill shock of mid-2025&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, when datacenter-driven PJM capacity costs pushed the average Ohio residential bill up 25.7% year over year, and to hyperscale proposals spreading into townships with little or no zoning. In Sunbury, the city council enacted a moratorium on April 15, 2026, effective through January 2027, for the city to review zoning, building, and business regulations.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uDo6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f40bd5e-5877-4254-877b-c7c2befa0cdc_2184x1362.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="908" src="https://substackcdn.com/image/fetch/$s_!uDo6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f40bd5e-5877-4254-877b-c7c2befa0cdc_2184x1362.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Moratorium indicators&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;A leading indicator of new local datacenter moratoriums is mounting, organized community opposition&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, often visible well before a formal pause or ban is adopted. This can take the form of packed local hearings, petitions, &amp;#8220;Citizens for&amp;#8230;&amp;#8221; groups, social media campaigns, coordinated neighborhood opposition, and election turnover. According to &lt;/span&gt;&lt;a href="https://news.gallup.com/poll/709772/americans-oppose-data-centers-area.aspx"&gt;&lt;span&gt;Gallup&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, datacenter opponents most frequently cite excessive energy use and higher utility bills, alongside concerns over water consumption, land use, pollution, and traffic. These concerns can quickly translate from grassroots opposition into pressure on planning commissions, city councils, county boards, and state legislators to slow or restrict development.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We polled the American electorate in August as part of our broader work on datacenter sentiment, energy prices, and frontier labs.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The full survey is part of our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which focuses on the economics, adoption, and demand dynamics of AI and datacenter infrastructure. We found that Americans were net-positive on AI broadly, but significantly more negative on datacenters specifically: 46% of voters view datacenters unfavorably, including 24% who view them very unfavorably, versus just 29% with a favorable view. Similarly, 46% would oppose a new datacenter in their own city or town, including 30% who would strongly oppose it. By comparison, 46% have a favorable opinion of AI and 34% an unfavorable opinion.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We note that this gap could narrow as increasingly &lt;/span&gt;&lt;a href="https://thehill.com/newsletters/technology/6085640-the-debate-over-ai-doomsday-warnings/"&gt;&lt;span&gt;prominent doomsday scenarios&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and concerns around AI&amp;#8217;s broader impacts shape public opinion. We will continue monitoring this shift through the 2026 midterms, expanding our political and regulatory analysis to track the growing backlash against datacenters, including new local and state restrictions, regulatory actions, political campaigns, and changes in public sentiment.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ckp7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a278ae-a73d-4134-8231-079bd6e7f7b2_2298x1478.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="936" src="https://substackcdn.com/image/fetch/$s_!Ckp7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a278ae-a73d-4134-8231-079bd6e7f7b2_2298x1478.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;, Politics Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!atfl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f985a9c-7aa2-46cf-8a09-8b96b444b0fe_2266x1579.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1015" src="https://substackcdn.com/image/fetch/$s_!atfl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f985a9c-7aa2-46cf-8a09-8b96b444b0fe_2266x1579.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;, Politics Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Regional clustering adds further momentum, with opposition and moratoriums sometimes spreading among neighboring jurisdictions as local officials respond to developments and activism in nearby communities. In Metro Atlanta, for example, Fayetteville-area activists &lt;/span&gt;&lt;a href="https://www.ledger-enquirer.com/news/environment/article315964444.html"&gt;&lt;span&gt;cited&lt;/span&gt;&lt;/a&gt;&lt;span&gt; pauses in neighboring counties while pushing for similar restrictions locally. Once opposition becomes organized in one jurisdiction, the arguments, advocacy groups, proposed ordinance language, and political pressure can travel quickly across a region, making local moratorium activity a potentially self-reinforcing process.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Election-year politics can further intensify local concerns around rapid datacenter growth, as candidates position themselves as defenders of residents against higher electricity costs, water consumption, and unwanted development. The Washington Post has &lt;/span&gt;&lt;a href="https://www.washingtonpost.com/politics/2026/04/23/data-center-opposition-is-growing-impacting-key-midterm-campaigns/"&gt;&lt;span&gt;documented&lt;/span&gt;&lt;/a&gt;&lt;span&gt; datacenter opposition becoming an issue in state and local campaigns. The upcoming November elections have created another catalyst for new restrictions, particularly where datacenter projects have become politically salient.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In Ohio, Republican gubernatorial nominee Vivek Ramaswamy &lt;/span&gt;&lt;a href="https://x.com/VivekGRamaswamy/status/2085345131696120276"&gt;&lt;span&gt;pledged&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in August that no new datacenter would be approved unless it eliminated electricity bills for nearby residents, paid full property taxes to fund homeowner relief, and met strict water and farmland protections. Such campaign positions can raise the political cost of approving projects and increase the likelihood that datacenter permitting becomes an election issue rather than a purely local land-use decision.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Psmn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90abbc49-84b3-406b-b9d1-fcbbadab3eab_1010x547.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!Psmn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90abbc49-84b3-406b-b9d1-fcbbadab3eab_1010x547.png" width="1010" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://x.com/VivekGRamaswamy/status/2085345131696120276"&gt;@VivekGRamaswamy&amp;#8217;s X Post from Aug 6, 2026&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;More local moratoriums do not necessarily mean more MW at risk&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Local restriction count and MW exposure are two different dimensions. A moratorium only creates meaningful risk when it prevents a specific project from obtaining an approval or a permit it still requires. A state can therefore have a high number of moratoriums while exposing little or no active datacenter pipeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Michigan is a good example. Although it has the highest number of restrictions, it carries effectively zero pipeline exposure, something subscribers to our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; could see directly in the Michigan project-level data, even as the state&amp;#8217;s growing ordinance count was receiving national coverage. The reason the largest projects continue to move forward is that moratoriums often lose to sequencing and pre-existing zoning. The Cannoli/Google campus, for example, sits on industrial land where data processing was already a permitted use, eliminating the need for rezoning, and its site plan predated any potential pause. The Related Digital project in Saline Township similarly advanced after the developer sued the community over exclusionary zoning following a local board rejection, ultimately resulting in a legal settlement. In Lyon Township, the 180-day pause cannot affect the already-approved Project Flex.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;What part of the pipeline is at risk?&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Mapping every one of the roughly 300 local datacenter moratoriums and permanent bans currently active across the US against our pipeline, we see that the direct impact is minimal. Only &lt;/span&gt;&lt;strong&gt;&lt;span&gt;1,525 MW is directly delayed, which is 7.6% of the capacity sitting inside a restricted boundary&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Three projects account for essentially all of them. Let&amp;#8217;s dig in. Below behind paywall, we discuss in much greater depth the projects at risk, why they are, and the different moratorium instruments and how they are or aren&amp;#8217;t impacting timelines. &lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/everyone-says-datacenter-moratoriums"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/everyone-says-datacenter-moratoriums"/>
    <summary type="html">&lt;p&gt;The debate on US datacenters has never been so politically charged. Four states have acted in under two months. New York has stopped issuing environmental permits for datacenters, Texas has paused the next step in its massive ERCOT interconnection queue, Pennsylvania has pulled datacenters out of fast-track permitting and made state permits conditional on new guardrails, and Oregon has frozen datacenter deals on state-owned land.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond the state level, more than 300 towns, cities and counties have voted to halt datacenters over the past year and a half. If you read the news, the US datacenter buildout looks like it is being legislated to a halt, one government board at a time. As AI drives an unprecedented wave of datacenter construction over the last year, concerns over electricity costs, water consumption, land use, and community impacts are increasingly influencing policy.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3CMi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8423844c-b764-4623-856a-da23d547b9ae_1772x971.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="798" src="https://substackcdn.com/image/fetch/$s_!3CMi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8423844c-b764-4623-856a-da23d547b9ae_1772x971.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;But once again, the narrative is driven by widely spread misinformation. In January, &lt;a href="https://newsletter.semianalysis.com/p/from-tokens-to-burgers-a-water-footprint"&gt;we debunked the &amp;#8220;Datacenters are taking all of our water&amp;#8221; myth&lt;/a&gt; (TLDR: they don&amp;#8217;t, they&amp;#8217;re actually remarkably water-efficient). Then in June, in &lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;Stop Saying Half of 2026 US Datacenter Capacity is Cancelled&lt;/a&gt;, we explained that the widespread narrative of datacenters not showing up was grossly off, driven by uniformed claude-coded forecasts. &lt;/p&gt;&lt;p&gt;Today, we dive deep into the widespread narrative of moratoriums killing the US datacenter buildout. Once again, it&amp;#8217;s highly inaccurate. Our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt; forecasts +38GW of Datacenter IT capacity delivered in the US in 2027, more than double that of 2026. Of that total, 22GW is under &lt;strong&gt;vertical construction&lt;/strong&gt;, while the remaining 16GW &amp;#8220;planned&amp;#8221; is, in majority, already financed, doing siteworks and preparing for vertical construction. &lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Our methodology tracks real-time and historical satellite imagery of 6,000+ datacenters&lt;/a&gt;. Contact sales@semianalysis.com to get access to the full granularity. Our forecast has barely moved over the last 12 months, despite bi-weekly updates delivered to clients, as construction activity keeps accelerating across the country. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ehAs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16ce8d7-bf5d-4094-a93b-e9a447a81e10_1772x992.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!ehAs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16ce8d7-bf5d-4094-a93b-e9a447a81e10_1772x992.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Today, we estimate that roughly 2.3 GW of planned capacity is genuinely delayed because of local moratoriums and New York&amp;#8217;s executive order&lt;/strong&gt;, the two categories of policy intervention for which we can establish a direct project-level impact.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;At the local level (i.e., cities, townships, counties), of the roughly 20 GW sitting inside a restricted boundary, &lt;strong&gt;only 1,525 MW is delayed&lt;/strong&gt;. Three projects account for the delayed MW: an AWS campus in Ohio, a powered land developer campus in Pennsylvania, and a site in Colorado.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;New York&amp;#8217;s moratorium touches roughly 1.4 GW, but we estimate only about &lt;strong&gt;0.8 GW faces a meaningful delay&lt;/strong&gt;directly attributable to the order.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Texas adds perhaps three-four months of administrative delay for base-load projects in the ERCOT interconnection queue, but is offset by an acceleration of behind-the-meter demand. For projects that never needed the grid, it means nothing at all, making it a net positive for BtM developers and on-site generation suppliers. In June (&lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;US Grid Constraints: Towards 40GW+ of Behind-The-Meter Datacenter by 2028?&lt;/a&gt;), we showed BtM powering more than half of new US datacenter capacity from 2028. Last week, (&lt;a href="https://newsletter.semianalysis.com/p/what-is-so-hard-about-behind-the"&gt;What is So Hard About Behind-The-Meter Power For Datacenters? Part 1&lt;/a&gt;) we counted 75 GW of firm BtM equipment orders, more of them bound for Texas than any other state. If anything, the audit reinforces our view that the buildout is moving BtM.&lt;/p&gt;&lt;p&gt;Most analysis of datacenter moratoriums focuses on counting the number of restrictions, because that is relatively straightforward. &lt;strong&gt;But the number of moratoriums is a poor proxy for the amount of MW capacity they actually affect&lt;/strong&gt;. There&amp;#8217;s plenty of loopholes/gaps with the moratoriums. For example, a recent &lt;a href="https://myrgv.com/publications/the-brownsville-herald/2026/09/02/brownsville-commissioners-move-forward-with-data-center-moratorium/"&gt;Brownsville moratorium&lt;/a&gt; was brewing while Elon was planning a datacenter within city limits. But just days before approval, &lt;strong&gt;the city and Elon sneakily &amp;#8220;deannexed&amp;#8221; the &lt;a href="https://www.texastribune.org/2026/08/31/spacex-brownsville-deannex-land-water-projects/"&gt;444 acres in Brownsville&lt;/a&gt;, bringing the project out of Brownsville&amp;#8217;s moratorium jursidiction.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;A moratorium only matters to our forecast if it applies to a specific project, covers the project&amp;#8217;s parcel, and blocks an approval that the developer still needs. &lt;strong&gt;Therefore, determining the actual MW impact requires a parcel-level, project-by-project analysis&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;In addition, &lt;strong&gt;capacity exposed to a moratorium is not capacity delayed by one&lt;/strong&gt;, a distinction &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model&lt;/a&gt; subscribers will recognize from our early deep dive on the issue. Most restrictions land on projects still years from construction, where schedules were never firm to begin with, and even where a moratorium is the binding constraint the developer can usually relocate, redesign, or challenge the project rather than abandon it. &lt;strong&gt;Capacity already under construction, or fully permitted and about to start, is out of reach altogether&lt;/strong&gt;, since these instruments freeze new applications rather than revoke approvals already granted. That covers all of 2026 and most of 2027.&lt;/p&gt;&lt;p&gt;To be 100% clear, we think moratoriums COULD delay the buildout, but they just aren&amp;#8217;t yet at scale. We would need to see them be materially more widespread and restrictive. Our real-time project-level analysis will instantly flag any change in trend to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model subscribers&lt;/a&gt;. As AI Labs are increasingly profitable, it becomes easier for datacenters to pay more than their &amp;#8220;fair share&amp;#8221; and be better neighbors and support local communities, which offsets the rising pusback.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VAe8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6083fe3-fc62-483f-b64e-a3c4b156083e_1120x785.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="785" src="https://substackcdn.com/image/fetch/$s_!VAe8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6083fe3-fc62-483f-b64e-a3c4b156083e_1120x785.png" title="" width="1120" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To calculate total dela, we tracked every local and state-level datacenter moratorium in our new &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Datacenter Moratoriums database&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, available to subscribers of our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;. It covers more than 400 local instruments, actions, and proposals across 17 states, tracking each status from proposal through enactment, expiration, lifting, replacement, or rejection. We then mapped every active restriction to our project-level pipeline at the individual project and MW-tranche level. That pipeline, which forms the foundation of our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;, covers 6,000+ facilities, each tracked individually through property records, permits, power-usage data, FOIA requests, satellite imagery, and other primary sources.&lt;/p&gt;&lt;p&gt;To quantify actual delayed capacity, we augmented our research analyst team (we&amp;#8217;re &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;hiring!&lt;/a&gt;) with an army of state-of-the-art research agents across our moratorium database and underlying project records, systematically testing each active restriction against the relevant projects, and validating with real-time satellite imagery. For every instrument, we matched its geographic boundary to the exact project parcel, verified that the campus falls within the relevant jurisdiction and checked whether the developer still requires an approval that has not yet been secured. We also reviewed the broader project record for other factors that could already be gating the schedule. This allowed us to systematically work through hundreds of restrictions and thousands of projects, moving beyond simply counting moratoriums to identify the specific projects and MW actually exposed, producing a materially different view of the capacity genuinely at risk.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ltdu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba46599d-edc6-4011-896c-f14171849aaa_1428x1029.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1029" src="https://substackcdn.com/image/fetch/$s_!Ltdu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba46599d-edc6-4011-896c-f14171849aaa_1428x1029.png" width="1428" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Four main factors, explored in more detail later in this note, essentially explain why hundreds of restrictions translate into relatively little actual delay: &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(1) county moratoriums often stop at city lines, leaving projects within incorporated municipalities unaffected; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(2) moratoriums typically freeze new applications rather than revoke existing approvals, allowing entitled projects to proceed; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(3) shorter moratoriums may expire before 2028+ projects need the affected approval; and &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;(4) other issues, such as litigation or equipment lead times, may already be gating the schedule.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;With the November 2026 elections approaching, moratoriums are an easy way for elected officials to demonstrate that they are responding to community concerns without permanently shutting down development. Both New York Governor Hochul and Texas Governor Abbott bypassed their legislatures to impose pauses they can ultimately control and revoke. More durable statewide restrictions remain much harder to enact: 13 bills died in 2026, with almost none reaching a floor vote, underscoring the political difficulty of turning temporary local action into lasting statewide policy.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article, we start by going through our methodology and why counting moratoriums is not counting megawatts. We then look at moratoriums adopted at the local level, showing how 20 GW of nominal exposure translates into just 1,525 MW of actual delays, which projects are affected, and why most restrictions never bind. Next, we cover the state-specific moratoriums and other policy tools adopted in response to anti-datacenter backlash in New York, Texas, Pennsylvania, and Oregon, and what they mean for the broader US buildout. We then assess the likelihood of additional state-level moratoriums. Finally, we look at who benefits from the restriction wave and how it could reshape where capacity gets built, which projects move forward, and how that capacity is powered.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Counting Moratoriums Is Not Counting Megawatts&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;What a moratorium does&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A datacenter moratorium is a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;temporary legal pause&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, from a few months to a year, typically enacted by a local or state government that halts the approval, permitting, and construction of new datacenters. A moratorium is almost always a freeze on &lt;/span&gt;&lt;strong&gt;&lt;span&gt;accepting new applications&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; rather than a revocation of approvals already granted. Its purpose is to give governments time to catch up with a development cycle that has moved faster than local regulation. Many zoning codes were written before municipalities contemplated 100+ MW facilities with substantial power, water, noise, and land-use requirements. A moratorium provides time to establish new rules and assess infrastructure requirements.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of the time, a moratorium also provides elected officials with a relatively low-cost way to respond to local opposition. A temporary pause signals that government is responding to residents without permanently rejecting investment or tax revenue, and it reduces the legal exposure associated with an outright denial.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Exposed MW vs. delayed MW&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Moratorium-exposed MW is not necessarily the same as moratorium-delayed MW&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. A project can fall within a moratorium&amp;#8217;s jurisdiction without the moratorium necessarily shifting its expected construction date.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The magnitude of the moratorium impact depends heavily on where the project is in the development cycle. A project that has just acquired land has substantially more flexibility than one that is already in the middle of permitting. Likewise, a six-month moratorium does not necessarily translate into a six-month delay in actual capacity deployment, particularly when the project has sufficient schedule buffer or other constraints are already determining the timeline. This is consistent with our previous note &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;&lt;span&gt;Stop Saying Half of 2026 US Datacenter Capacity Is Canceled&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, where we showed that delays at early development stages rarely translate into meaningful changes in near-term capacity deployment.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Why Moratoriums Rarely Move the Needle&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;For a moratorium to actually move a project&amp;#8217;s delivery date, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;every one of the following must be true at the same time&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium reaches the parcel&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. County moratoriums generally apply only to unincorporated territory. A campus inside an incorporated city within that county is outside the ordinance entirely. AWS Atlanta, STACK Lithia Springs, T5 Fairburn, or Microsoft Tyrone all sit on land the relevant county moratorium cannot touch.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium is enacted and still in force&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The restriction cannot simply be proposed, lapsed, lifted, or replaced, and it must remain within any state-imposed duration limits.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium overlaps with the project&amp;#8217;s timeline.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project is not too far ahead already, and still needs the affected permit/approval.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The project must not have already obtained the affected approval before the moratorium takes effect. Many projects had their approvals in hand even though they had not started construction.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project is not too far out. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The moratorium must still be in effect when the project needs to obtain the affected approval. If delivery is 2028 or later and the moratorium lasts only three to six months, it may expire years before the project reaches that stage. The developer can simply wait out the moratorium without changing the delivery date.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The moratorium covers the use&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Most instruments apply to hyperscale facilities above a specified MW or square-footage threshold, or only to crypto mining.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project still needs the affected approval.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; A project may fall within the geographic and scope of a moratorium but not actually depend on the approval it freezes. For example, a project on federally controlled land, or one backed by federal approvals or other pre-existing rights, may have a separate permitting pathway that allows it to proceed without the approval covered by the moratorium.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The developer cannot redesign around the restriction&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. A project may be able to change its configuration, size, use or power arrangement to avoid the restriction. For example, if a moratorium applies to energization at the meter, a developer may be able to use BtM generation and continue advancing the project without waiting for grid energization.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The project is still active.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The developer must still intend to build the affected MW tranche. A cancelled, withdrawn, downsized or otherwise abandoned project should not be counted as moratorium-delayed simply because it sits inside the restricted area.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;No existing rights or alternative approval pathway bypasses it.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Development agreements, vested rights, grandfathering, existing entitlements, alternative zoning classifications or other approval routes can allow a project to proceed despite the new restriction.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;No carve-out applies&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. There cannot be a public-utility carve-out, consent judgment, state preemption, or exclusionary-zoning doctrine requiring the use to be accommodated elsewhere.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;If you miss just one of these, the moratorium is irrelevant.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The cumulative effect of these filters is substantial: 300+ local instruments translate into just ~1,525 MW of actual project delay in the US.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Exposure, therefore, must be measured project-by-project, at the MW-tranche level, never inferred from how many jurisdictions in a state have acted.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Case study: NorthPoint&amp;#8217;s Campus near Scranton, Pennsylvania&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;NorthPoint&amp;#8217;s campus near Scranton, Pennsylvania, illustrates one of the rare cases where a moratorium actually binds and moves the project timeline.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Reaches the parcel. The site sits inside the township, rather than in the adjacent City of Hazleton or West Hazleton Borough.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Enacted and in force. The township adopted the resolution unanimously in June 2026.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Overlaps with the project timeline. NorthPoint had not yet obtained or filed for the required special exception when the moratorium took effect, while the first buildings were scheduled to start in Q4 2026.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Covers the use. The resolution specifically covers datacenters without a MW or square-footage threshold.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Still needs the affected approval. The project is on private land and requires a local special exception and land-development approval. There is no federal permitting pathway or existing entitlement that bypasses those approvals.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Cannot redesign around it. The restriction applies to the datacenter use itself. Downsizing or moving to BTM generation would not avoid the blocked approval.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Still active. NorthPoint continues to pursue the project, including its proposed $165 million community benefits package.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;No alternative pathway or carve-out. There is no development agreement, grandfathering or other existing right that allows construction to proceed. Nor does the project qualify for a public-utility or other relevant exemption.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On the critical path. The moratorium delays the local entitlement process into 2027.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;In this case, the moratorium is the binding constraint.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Local Moratoriums: Where Is the Risk?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yv2o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb847ce95-9f3d-4497-97f2-a277f97c63b5_2576x1334.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="754" src="https://substackcdn.com/image/fetch/$s_!yv2o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb847ce95-9f3d-4497-97f2-a277f97c63b5_2576x1334.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Proliferation across the US in 2026&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;So far, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;most restrictions have come at the local level&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. As of September 2026, more than 300 local datacenter moratoriums and bans have been adopted nationwide across counties, municipalities, townships, and other local governments. Our database tracks 400+ local instruments in total, following each through its full lifecycle: proposed, enacted, expired, lifted, replaced, or rejected. We also include permanent bans / restrictions written directly into zoning codes, since these can constrain datacenter development just as a moratorium does, but on a permanent basis. The 300+ figure represents the enacted moratorium (and few permanent bans) subset, while the broader database captures the full universe of local restrictions and their status.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We see that local moratoriums are concentrated in the Midwest and Southern regions, clustered heavily around areas experiencing rapid infrastructure growth. The top four states (Michigan, Ohio, North Carolina, Georgia) account for roughly half of all local instruments nationally, which supports the thesis that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;moratoriums and local resistance often follow rapid datacenter growth&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; rather than anticipate it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!y0BE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcb4b609-b2a2-4874-9384-96c94986909f_1430x754.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="754" src="https://substackcdn.com/image/fetch/$s_!y0BE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcb4b609-b2a2-4874-9384-96c94986909f_1430x754.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Michigan is currently the leading state for local datacenter moratoriums, with 45 enacted and 7 proposed, with the majority adopted in late 2025 and 2026 following a rapid influx of datacenter proposals. Much of this can be traced to the &lt;/span&gt;&lt;a href="https://planetdetroit.org/2024/12/michigan-senate-passes-tax-breaks/"&gt;&lt;span&gt;datacenter tax exemption&lt;/span&gt;&lt;/a&gt;&lt;span&gt; signed by Governor Gretchen Whitmer in December 2024, which accelerated development interest across the state. One notable example is Howell Township, which adopted a six-month moratorium in November 2025, to allow time to establish datacenter-specific zoning regulations. In May 2026, its board voted to &lt;/span&gt;&lt;a href="https://www.mlive.com/news/ann-arbor/2026/05/rural-township-extends-pause-on-data-centers-following-controversial-meta-backed-project.html"&gt;&lt;span&gt;extend&lt;/span&gt;&lt;/a&gt;&lt;span&gt; the moratorium for an additional six months.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Ohio ranks second with 40 enacted moratoriums, with 83% adopted in 2026 alone. Unlike Michigan, the trigger was not a new incentive, but the strain of years of rapid datacenter growth. Much of this can be traced to the &lt;/span&gt;&lt;a href="https://policymattersohio.org/research/ohioans-should-not-pay-for-data-centers-energy-demands/"&gt;&lt;span&gt;electricity-bill shock of mid-2025&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, when datacenter-driven PJM capacity costs pushed the average Ohio residential bill up 25.7% year over year, and to hyperscale proposals spreading into townships with little or no zoning. In Sunbury, the city council enacted a moratorium on April 15, 2026, effective through January 2027, for the city to review zoning, building, and business regulations.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uDo6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f40bd5e-5877-4254-877b-c7c2befa0cdc_2184x1362.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="908" src="https://substackcdn.com/image/fetch/$s_!uDo6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f40bd5e-5877-4254-877b-c7c2befa0cdc_2184x1362.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;, SemiAnalysis Moratoriums Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Moratorium indicators&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;A leading indicator of new local datacenter moratoriums is mounting, organized community opposition&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, often visible well before a formal pause or ban is adopted. This can take the form of packed local hearings, petitions, &amp;#8220;Citizens for&amp;#8230;&amp;#8221; groups, social media campaigns, coordinated neighborhood opposition, and election turnover. According to &lt;/span&gt;&lt;a href="https://news.gallup.com/poll/709772/americans-oppose-data-centers-area.aspx"&gt;&lt;span&gt;Gallup&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, datacenter opponents most frequently cite excessive energy use and higher utility bills, alongside concerns over water consumption, land use, pollution, and traffic. These concerns can quickly translate from grassroots opposition into pressure on planning commissions, city councils, county boards, and state legislators to slow or restrict development.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We polled the American electorate in August as part of our broader work on datacenter sentiment, energy prices, and frontier labs.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The full survey is part of our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which focuses on the economics, adoption, and demand dynamics of AI and datacenter infrastructure. We found that Americans were net-positive on AI broadly, but significantly more negative on datacenters specifically: 46% of voters view datacenters unfavorably, including 24% who view them very unfavorably, versus just 29% with a favorable view. Similarly, 46% would oppose a new datacenter in their own city or town, including 30% who would strongly oppose it. By comparison, 46% have a favorable opinion of AI and 34% an unfavorable opinion.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We note that this gap could narrow as increasingly &lt;/span&gt;&lt;a href="https://thehill.com/newsletters/technology/6085640-the-debate-over-ai-doomsday-warnings/"&gt;&lt;span&gt;prominent doomsday scenarios&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and concerns around AI&amp;#8217;s broader impacts shape public opinion. We will continue monitoring this shift through the 2026 midterms, expanding our political and regulatory analysis to track the growing backlash against datacenters, including new local and state restrictions, regulatory actions, political campaigns, and changes in public sentiment.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ckp7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a278ae-a73d-4134-8231-079bd6e7f7b2_2298x1478.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="936" src="https://substackcdn.com/image/fetch/$s_!Ckp7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77a278ae-a73d-4134-8231-079bd6e7f7b2_2298x1478.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;, Politics Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!atfl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f985a9c-7aa2-46cf-8a09-8b96b444b0fe_2266x1579.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1015" src="https://substackcdn.com/image/fetch/$s_!atfl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f985a9c-7aa2-46cf-8a09-8b96b444b0fe_2266x1579.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;, Politics Tab&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Regional clustering adds further momentum, with opposition and moratoriums sometimes spreading among neighboring jurisdictions as local officials respond to developments and activism in nearby communities. In Metro Atlanta, for example, Fayetteville-area activists &lt;/span&gt;&lt;a href="https://www.ledger-enquirer.com/news/environment/article315964444.html"&gt;&lt;span&gt;cited&lt;/span&gt;&lt;/a&gt;&lt;span&gt; pauses in neighboring counties while pushing for similar restrictions locally. Once opposition becomes organized in one jurisdiction, the arguments, advocacy groups, proposed ordinance language, and political pressure can travel quickly across a region, making local moratorium activity a potentially self-reinforcing process.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Election-year politics can further intensify local concerns around rapid datacenter growth, as candidates position themselves as defenders of residents against higher electricity costs, water consumption, and unwanted development. The Washington Post has &lt;/span&gt;&lt;a href="https://www.washingtonpost.com/politics/2026/04/23/data-center-opposition-is-growing-impacting-key-midterm-campaigns/"&gt;&lt;span&gt;documented&lt;/span&gt;&lt;/a&gt;&lt;span&gt; datacenter opposition becoming an issue in state and local campaigns. The upcoming November elections have created another catalyst for new restrictions, particularly where datacenter projects have become politically salient.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In Ohio, Republican gubernatorial nominee Vivek Ramaswamy &lt;/span&gt;&lt;a href="https://x.com/VivekGRamaswamy/status/2085345131696120276"&gt;&lt;span&gt;pledged&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in August that no new datacenter would be approved unless it eliminated electricity bills for nearby residents, paid full property taxes to fund homeowner relief, and met strict water and farmland protections. Such campaign positions can raise the political cost of approving projects and increase the likelihood that datacenter permitting becomes an election issue rather than a purely local land-use decision.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Psmn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90abbc49-84b3-406b-b9d1-fcbbadab3eab_1010x547.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!Psmn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90abbc49-84b3-406b-b9d1-fcbbadab3eab_1010x547.png" width="1010" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://x.com/VivekGRamaswamy/status/2085345131696120276"&gt;@VivekGRamaswamy&amp;#8217;s X Post from Aug 6, 2026&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;More local moratoriums do not necessarily mean more MW at risk&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Local restriction count and MW exposure are two different dimensions. A moratorium only creates meaningful risk when it prevents a specific project from obtaining an approval or a permit it still requires. A state can therefore have a high number of moratoriums while exposing little or no active datacenter pipeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Michigan is a good example. Although it has the highest number of restrictions, it carries effectively zero pipeline exposure, something subscribers to our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; could see directly in the Michigan project-level data, even as the state&amp;#8217;s growing ordinance count was receiving national coverage. The reason the largest projects continue to move forward is that moratoriums often lose to sequencing and pre-existing zoning. The Cannoli/Google campus, for example, sits on industrial land where data processing was already a permitted use, eliminating the need for rezoning, and its site plan predated any potential pause. The Related Digital project in Saline Township similarly advanced after the developer sued the community over exclusionary zoning following a local board rejection, ultimately resulting in a legal settlement. In Lyon Township, the 180-day pause cannot affect the already-approved Project Flex.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;What part of the pipeline is at risk?&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Mapping every one of the roughly 300 local datacenter moratoriums and permanent bans currently active across the US against our pipeline, we see that the direct impact is minimal. Only &lt;/span&gt;&lt;strong&gt;&lt;span&gt;1,525 MW is directly delayed, which is 7.6% of the capacity sitting inside a restricted boundary&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Three projects account for essentially all of them. Let&amp;#8217;s dig in. Below behind paywall, we discuss in much greater depth the projects at risk, why they are, and the different moratorium instruments and how they are or aren&amp;#8217;t impacting timelines. &lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/everyone-says-datacenter-moratoriums"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-15T12:54:41+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/vera-rubin-nvl72-agentic-inference</id>
    <title>Vera Rubin NVL72 Agentic Inference: 67x better Performance per Dollar</title>
    <updated>2026-09-14T14:08:56+00:00</updated>
    <author>
      <name>Bryan Shan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;Rubin is the first platform co-designed across six products for the agentic era: Rubin GPU, Vera CPU, NVLink 6 Switch, ConnectX-9, BlueField-4, and Spectrum-6.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Today we are publishing the first verified agentic inference results for Rubin, measured on our agentic inference benchmark, AgentX. Even on early pre-release software, the results already show why extreme co-design was necessary.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At GTC 2026, Jensen presented this graph that VR NVL72 achieved 3x performance per MW compared to Blackwell on O(1-3 Trillion) parameter model around 200 TPS. But when compared to the real world performance of Rubin already on prelease software, we are already seeing up to 7x better token throughput per megawatt. &lt;/span&gt;&lt;strong&gt;Jensen needs to stop sandbagging his performance claims at GTC&lt;/strong&gt;. &lt;a href="https://newsletter.semianalysis.com/p/inferencex-v2-nvidia-blackwell-vs?open=false#%C2%A7jensen-under-promising-and-overdelivering-hopper-vs-blackwell-vs-rack-scale-nvl72"&gt;&lt;span&gt;The last time he did this at GTC 2024, when he claimed GB200 NVL72 would deliver 30x Hoppers performance, but when we tested, it was 98x better performance than Hopper.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our estimates on the performance results show that even on early software builds, Rubin can earn over 2x more profit per gigawatt than the Blackwell platform. As the Rubin software stack and kernel libraries mature, and as the developer community builds experience optimizing for Rubin, we expect that gap to widen further.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5DEG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af2573-7cff-4c99-beab-d0040b3a38ab_2048x1131.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="804" src="https://substackcdn.com/image/fetch/$s_!5DEG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af2573-7cff-4c99-beab-d0040b3a38ab_2048x1131.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NVIDIA GTC 2026 SandBagging Rubin Performance&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We evaluate the performance using &lt;/span&gt;&lt;a href="https://vllm.ai/blog/2026-09-08-vllm-agentx"&gt;&lt;span&gt;the industry standard agentic inference benchmark scenario&lt;/span&gt;&lt;/a&gt;&lt;span&gt; called AgentX. This replays real world agentic traffic across our fleet of thousands of chips. The results can thus be holistically referenced by actual inference providers and hyperscale AI labs to decide which chips are most efficient in what scenarios.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Our benchmark has been widely reproduced, validated and/or supported by almost every major buyer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; of compute from &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/compute/scaling-moe-inference-with-nvidia-dynamo-on-google-cloud-a4x"&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://blog.aks.azure.com/2025/10/24/dynamo-on-aks#enterprise-scale-inference-experiments--dynamo-with-gb200-running-on-aks"&gt;&lt;span&gt;Microsoft Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Oracle,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and many more. Furthermore, it has the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;support of the ML community including from vLLM, LMCache, SGLang, PyTorch, Huggingface&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the support of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;major labs like OpenAI, MiniMax, ZAI, Qwen, Moonshot Kimi, etc.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pxCX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2695f94b-f1f1-4dcb-b05c-d9ebff07a610_1964x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="504" src="https://substackcdn.com/image/fetch/$s_!pxCX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2695f94b-f1f1-4dcb-b05c-d9ebff07a610_1964x680.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Thank you to Jensen Huang, Ian Buck, Nick Comly, Kedar Potdar, Rohit Nagraj, and the Mainland China TensorRTLLM Team for helping on doing next gen Rubin software bring up and helping verify our agentic benchmark results.&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;Star the InferenceX GitHub repository if you find the open-source benchmark and data useful!&lt;/a&gt;&lt;span&gt;. InferenceX is the only inference benchmark in the world to have TPUv7, NVIDIA, &amp;amp; AMD and soon SambaNova &amp;amp; Trainium. Due to how realistic AgentX scenario is to real world agentic inference workloads, AMD has committed to collaborating on MI455X UALoE72 too.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9dNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff583ee2a-b5a3-47d4-b3d4-3fc68181f3e0_2142x1232.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!9dNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff583ee2a-b5a3-47d4-b3d4-3fc68181f3e0_2142x1232.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Agentic Workload Primer&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At a high level, an agentic workload is characterized by four elements:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-turn: a session includes tens or hundreds of interactions between the user and assistant, compared with a handful in a chatbot scenario. These workloads combine long contexts and high prefill reuse with sub-agent bursts and numerous tool calls.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Long context: system prompts, tool definitions, and the large number of turns make context accumulate quickly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High prefix reuse: since the conversation progresses linearly, where output from turn n-1 is concatenated to turn n (typically), most context can be served from KV cache rather than recomputed (this depends on the amount of storage available to store KV tensors). As n grows, the ratio of cached input relative to uncached typically tends towards 1.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Sub-agent bursts: a session launches multiple short-lived sub-agents with fresh context, which create bursty KV-cache patterns.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qQ6y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a6ce1d1-5754-4021-88ca-812789d36bd9_2048x909.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!qQ6y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a6ce1d1-5754-4021-88ca-812789d36bd9_2048x909.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, DeepSeek&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Read more about the methodology in our AgentX article.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Rubin Amazing Performance per TCO&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Performance per total cost of ownership (TCO) is one of the most important angles in which to evaluate AI accelerator performance. In the charts below, the Y-axis is total tokens per $1 TCO. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Practically speaking, this tells an inference provider how many tokens they can generate for every dollar they spend on compute.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; This is calculated by normalizing the total throughput for a scenario by the all-in serving costs ($/chip/hr times number of chips utilized to serve).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On InferenceX, we provide a few different TCO figures for each SKU which come from the &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;SemiAnalysis AI Cloud TCO Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The scenarios offered by default are as follows:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Owning at Large Hyperscaler Volume&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: the modeled cost per GPU-hour to own and operate the hardware, including server and networking capex spread over the assumed useful life, colocation, power, and cost of capital. This assumes hyperscaler purchasing and financing terms, including volume discounts and custom server builds.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Rent - 3 Year Commit&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: the market price per GPU-hour paid to a cloud provider for a three-year committed reservation, based on SemiAnalysis rental pricing surveys.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Users may also edit the compute costs in our calculator to match the cost they are paying. For m&lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;ore figures such as on-demand market rental rate and shorter term rental commitments can be found in the AI Cloud TCO model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which comes from our monthly market survey of 100+ GPU customers, GPU neoclouds, and hyperscalers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Vera Rubin is a substantial improvement over GB300 in terms of performance per dollar.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; At 170 TPS, On Apples to Apples TRTLLM NVFP4 Dense, Vera Rubin NVL72 delivers ~67x the total throughput per TCO of GB300 Dynamo TRTLLM under the owning cost assumptions. Furthermore, at the part of the frontier where most providers would actually serve this model (60-100 TPS), Vera Rubin achieves between 1.4x and 3x the throughput per TCO compared to the latest and greatest GB300 TRTLLM configuration.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our rack uses the production SKU of 2300W TDP &amp;amp; 1.5TB of CPU LPDDR5X per compute tray. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;We chat more about why NVIDIA had to cut their Vera memory in half in our accelerator and memory model.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; For this article, we will be talking about the TRTLLM Rubin performance but we expect later articles to also include vLLM Rubin &amp;amp; SGLang Rubin performance on agentic inference workloads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zMPG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac2da106-c1f2-4c85-ab6c-858908f06c05_2048x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="940" src="https://substackcdn.com/image/fetch/$s_!zMPG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac2da106-c1f2-4c85-ab6c-858908f06c05_2048x1322.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Vera Rubin achieves approximately 61% higher maximum P90 interactivity than GB300 Dynamo TRTLLM, reaching 276.24 versus 171.53 P90 TPS However, when using the open-source SGLang stack, GB300 can achieve similar interactivity as Vera Rubin.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TOW-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0a77f0-77a8-4240-885d-6fd85b30f2b5_2048x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="940" src="https://substackcdn.com/image/fetch/$s_!TOW-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0a77f0-77a8-4240-885d-6fd85b30f2b5_2048x1322.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We recognize that this is an early pre-release TRTLLM software release and that performance will only get better, especially at the &amp;#8220;ends&amp;#8221; of the frontier (ultra-high throughput/ultra-low latency). Driving the frontier forward and highlighting improvements &lt;em&gt;over time &lt;/em&gt;is the ultimate goal of InferenceX. Read more about this in our previous articles on InferenceX:&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Also note that Vera Rubin achieves significantly better P90 E2E latency in higher throughput scenarios. While interactivity (TPS) is often the headline for performance benchmarks, latency metrics like TTFT (time-to-first-token) and E2E latency are also important and one of the de-factor SLA standards in production serving.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bQ0v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5eb5ea2-fc05-4978-a15a-1a9882d1ba30_2048x1320.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!bQ0v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5eb5ea2-fc05-4978-a15a-1a9882d1ba30_2048x1320.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When we consider the 3 year rental cost which in July 2026 was over $8.5/hr/chip for Rubin and $5/hr/chip for Blackwell Ultra NVL72, the upgrade is still more than justified. At 80 TPS P90 interactivity, Vera Rubin can produce 62% more total tokens for the same rental TCO. Across the higher interactivity portions of the frontier, Vera Rubin realizes up to 16x more tokens per 3 year rental TCO.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Jj6x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F850c28c6-035d-45cb-821c-27991c92ac36_2048x1331.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="946" src="https://substackcdn.com/image/fetch/$s_!Jj6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F850c28c6-035d-45cb-821c-27991c92ac36_2048x1331.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The lesson here is quite simple: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;if you have the money to buy or rent a VR NVL72, you should &amp;#8211; it will generate significantly cheaper tokens than the next leading accelerator and thus make you significantly more money. As Jensen infamously said &amp;#8220;the more you buy, the more you earn&amp;#8221;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When compared to single-node Blackwell and MI355X, the performance per TCO gap becomes even wider across the entire curve.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; At an 80 TPS P90 SLA (which again, is quite realistic for this model), an inference provider can serve 10x more tokens per USD than with B300 &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;when using the owning TCO figure&lt;/span&gt;&lt;strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dcXL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b1f8c1b-fc2b-4d2f-8cf8-6c1527e5dd43_2048x1312.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="933" src="https://substackcdn.com/image/fetch/$s_!dcXL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b1f8c1b-fc2b-4d2f-8cf8-6c1527e5dd43_2048x1312.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The advantage also extends to P90 end-to-end latency. As shown below, at 60 million tokens per dollar of TCO under the owning assumptions, Vera Rubin achieves a P90 end-to-end latency of approximately 20 seconds, compared with 60 seconds for B200/B300 running the latest vLLM serving stack. At 160 million tokens per dollar, the P90 end-to-end latency gap widens to approximately sixfold: 20 seconds for Vera Rubin versus 120 seconds.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-Tct!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe968ae77-746d-4a8a-9642-b3e25b255896_2048x1325.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="942" src="https://substackcdn.com/image/fetch/$s_!-Tct!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe968ae77-746d-4a8a-9642-b3e25b255896_2048x1325.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On agentic workloads, Vera Rubin makes H200 look about as competitive as a TI-84 calculator. At a P90 interactivity target of 80 TPS, Rubin delivers 18x as many tokens per dollar. At 120 P90 TPS, that advantage widens to 39x.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The advantages of Rubin are less at offline batch inference and more for training as this is where we see what big labs are slowly migrating hopper towards.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NSQ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d8a330-0716-4e39-85a5-d74ab3f273ad_2048x1317.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="936" src="https://substackcdn.com/image/fetch/$s_!NSQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d8a330-0716-4e39-85a5-d74ab3f273ad_2048x1317.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IDZJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2c6be2-d0ea-4e25-a145-3df3b49c2faa_2000x2000.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Texas Instruments TI-84 Plus Graphing Calculator Teacher's Pack of 10 &amp;#8211;  Underwood Distributing Co." class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!IDZJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2c6be2-d0ea-4e25-a145-3df3b49c2faa_2000x2000.png" title="Texas Instruments TI-84 Plus Graphing Calculator Teacher's Pack of 10 &amp;#8211;  Underwood Distributing Co." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Texas Instruments&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Rubin Performance per Watt -  Jensen Sandbagging Performance Again&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Availability of powered datacenters is often a limiting factor to deploying more chips so when power efficiency is ultra important. If you are able to generate more tokens per GigaWatt, &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;then you are able to generate more revenue and more profit per GigaWatt&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="mailto:sales@semianalysis.com"&gt;&lt;span&gt;SemiAnalysis Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At GTC 2026, Jensen presented this graph comparing Rubin to Blackwell on a large 2T MoE model, showing that VR NVL72 achieved 3x performance per MW on a trillion parameter model around 200 TPS. But when compared to the real world performance of Rubin already on prelease software, we are already seeing up to 7x better token throughput per megawatt. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Jensen needs to stop sandbagging his performance claims at GTC&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. H&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/inferencex-v2-nvidia-blackwell-vs?open=false#%C2%A7jensen-under-promising-and-overdelivering-hopper-vs-blackwell-vs-rack-scale-nvl72"&gt;&lt;span&gt;e did last time at GTC 2024 at the announcement of GB200 NVL72 when he claimed it will be 30x faster than Hopper but when we tested, it was 98x better performance than Hopper.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DFuy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffca74ac6-8331-4bd3-abb8-7058f4141ec8_2048x1131.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="804" src="https://substackcdn.com/image/fetch/$s_!DFuy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffca74ac6-8331-4bd3-abb8-7058f4141ec8_2048x1131.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NVIDIA&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;P90 interactivity describes the streaming speed of an individual response, using the reciprocal of P90 full-response inter-token latency. At a fixed interactivity target, a higher curve means the deployment can serve more total traffic within the same power budget. The initial wait for the first token and overall response time remain separate considerations in the preceding latency analysis.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jmPd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F424235b9-f3a9-4875-8b91-d0875b715e7f_2048x1279.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="909" src="https://substackcdn.com/image/fetch/$s_!jmPd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F424235b9-f3a9-4875-8b91-d0875b715e7f_2048x1279.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the DeepSeek V4 Pro agentic workload, Vera Rubin delivers substantially more total token throughput per megawatt than GB300 and MI355X at the matched targets compared below. The size of that advantage depends on the interactivity target and the serving engine used for comparison.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At 100 TPS, Rubin delivers approximately 59.4 million total tok/s/MW, compared with 28.5 million for GB300 Dynamo SGLang and 21.1 million for GB300 Dynamo TRTLLM. That is a 2.09x advantage over the stronger GB300 engine at this target. MI355X SGLang reaches 2.01 million tok/s/MW, giving Rubin a 29.5x lead on this particular workload and snapshot. SGLang is the strongest of the measured MI355X engines at this target.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The wider hardware comparison at 100 TPS puts B200 SGLang at 6.95 million, B300 vLLM at 5.56 million, and H200 Dynamo SGLang at 2.26 million tok/s/MW. H200 uses FP8. The other configurations in this comparison use FP4. These are comparisons of the measured hardware-and-software configurations, including their caching and parallelism choices.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The table shows how the advantage changes across the curve, with throughput in million total tok/s per utility MW. The values are interpolated, meaning they are estimated between measured benchmark points to compare engines at the same speed target. N/A means the target falls outside that engine&amp;#8217;s measured range.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aPaK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13c07f83-d722-466e-bf23-49788022a6d3_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!aPaK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13c07f83-d722-466e-bf23-49788022a6d3_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At 150 TPS, Rubin retains nearly 37 million tok/s/MW, approximately 7.2x GB300 SGLang. The advantage then narrows as the speed requirement rises further, reaching 2.72x at 200. The strongest GB300 engine also changes with the target. TRTLLM leads at 75, while SGLang leads at the higher targets shown here.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This distinction is especially relevant near the operating point discussed earlier. At exactly 170 TPS, Rubin delivers 62.9x the total throughput per MW of GB300 TRTLLM, whose curve is near its fastest measured endpoint. Against GB300 SGLang at the same target, the multiplier is 5.56x. The engine label is therefore essential when quoting the high-interactivity gain.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other feature of Rubin is the first class integration of dynamic power shifting called &amp;#8220;&lt;/span&gt;&lt;a href="https://docs.nvidia.com/dsx/maxlps/overview"&gt;&lt;span&gt;DSX MaxLPS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; which means instead of provisioning for max all in TDP plus 10-20% oversubscription factor, gpu cluster operators will power profile their inference workloads and proxies for future workloads and based on the actual power, they will be able to fit more GPUs into the same datacenter power footprint. This is as during inference workloads especially at medium to fast speed, GPUs do not consume their power more envelope thus when smartly steering power across the datacenter, you will be able to fit more GPUs. Our upcoming integration PowerX into InferenceX will allow us to have even finer grain measurements of throughput per GigaWatt.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Annual Revenue and Profit per Gigawatt - The More you Buy, The More you Earn&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At the time of writing, DeepSeek V4 Pro 1.6T was replaced in favor of DeepSeek V4.1 Flash. However, its size allows it to be a proxy for O(1-3T) parameter LLMs. As DeepSeek V4 Pro was released under the MIT license, there is no license fee.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At a fixed power budget, Rubin&amp;#8217;s advantage is not simply that it can process more tokens. It gives an operator more capacity to monetize demand without securing additional utility power. At 75 TPS interactivity, 60% utilization and no model-license fee, Vera Rubin generates $159.5 billion in annual revenue and $149.9 billion in modeled profit per all-in utility GW. The strongest GB300 configuration in this annual revenue comparison, Dynamo SGLang, generates $114.9 billion and $105.3 billion respectively. Rubin therefore delivers approximately 39% more revenue and 42% more modeled profit from the same power allocation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lAYo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f44b34-7b40-409d-ad6a-015be7cdadbe_2048x1336.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="950" src="https://substackcdn.com/image/fetch/$s_!lAYo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f44b34-7b40-409d-ad6a-015be7cdadbe_2048x1336.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The absolute difference is approximately $44.6 billion in additional annual modeled profit per GW, or roughly $446 million at a 10 MW scale under linear scaling. Because the displayed annual cost per GW is similar for these two configurations, most of the incremental revenue flows through to the model&amp;#8217;s profit measure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The same advantage also creates pricing headroom. Holding workload mix, throughput and billable utilization constant, Rubin could charge approximately 28% less across cached-input, uncached-input and output tokens while matching the revenue per GW of GB300 Dynamo SGLang at the displayed prices. An operator could therefore retain the efficiency gain as additional profit or use it to compete on price, depending on the demand elasticity of the models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Below we will talk about the total revenue over the entire lifecycle of the fleet for each NVIDIA chip.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-agentic-inference"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-agentic-inference"/>
    <summary type="html">&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;Rubin is the first platform co-designed across six products for the agentic era: Rubin GPU, Vera CPU, NVLink 6 Switch, ConnectX-9, BlueField-4, and Spectrum-6.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Today we are publishing the first verified agentic inference results for Rubin, measured on our agentic inference benchmark, AgentX. Even on early pre-release software, the results already show why extreme co-design was necessary.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At GTC 2026, Jensen presented this graph that VR NVL72 achieved 3x performance per MW compared to Blackwell on O(1-3 Trillion) parameter model around 200 TPS. But when compared to the real world performance of Rubin already on prelease software, we are already seeing up to 7x better token throughput per megawatt. &lt;/span&gt;&lt;strong&gt;Jensen needs to stop sandbagging his performance claims at GTC&lt;/strong&gt;. &lt;a href="https://newsletter.semianalysis.com/p/inferencex-v2-nvidia-blackwell-vs?open=false#%C2%A7jensen-under-promising-and-overdelivering-hopper-vs-blackwell-vs-rack-scale-nvl72"&gt;&lt;span&gt;The last time he did this at GTC 2024, when he claimed GB200 NVL72 would deliver 30x Hoppers performance, but when we tested, it was 98x better performance than Hopper.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our estimates on the performance results show that even on early software builds, Rubin can earn over 2x more profit per gigawatt than the Blackwell platform. As the Rubin software stack and kernel libraries mature, and as the developer community builds experience optimizing for Rubin, we expect that gap to widen further.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5DEG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af2573-7cff-4c99-beab-d0040b3a38ab_2048x1131.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="804" src="https://substackcdn.com/image/fetch/$s_!5DEG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1af2573-7cff-4c99-beab-d0040b3a38ab_2048x1131.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NVIDIA GTC 2026 SandBagging Rubin Performance&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We evaluate the performance using &lt;/span&gt;&lt;a href="https://vllm.ai/blog/2026-09-08-vllm-agentx"&gt;&lt;span&gt;the industry standard agentic inference benchmark scenario&lt;/span&gt;&lt;/a&gt;&lt;span&gt; called AgentX. This replays real world agentic traffic across our fleet of thousands of chips. The results can thus be holistically referenced by actual inference providers and hyperscale AI labs to decide which chips are most efficient in what scenarios.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Our benchmark has been widely reproduced, validated and/or supported by almost every major buyer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; of compute from &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/compute/scaling-moe-inference-with-nvidia-dynamo-on-google-cloud-a4x"&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://blog.aks.azure.com/2025/10/24/dynamo-on-aks#enterprise-scale-inference-experiments--dynamo-with-gb200-running-on-aks"&gt;&lt;span&gt;Microsoft Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Oracle,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and many more. Furthermore, it has the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;support of the ML community including from vLLM, LMCache, SGLang, PyTorch, Huggingface&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the support of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;major labs like OpenAI, MiniMax, ZAI, Qwen, Moonshot Kimi, etc.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pxCX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2695f94b-f1f1-4dcb-b05c-d9ebff07a610_1964x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="504" src="https://substackcdn.com/image/fetch/$s_!pxCX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2695f94b-f1f1-4dcb-b05c-d9ebff07a610_1964x680.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Thank you to Jensen Huang, Ian Buck, Nick Comly, Kedar Potdar, Rohit Nagraj, and the Mainland China TensorRTLLM Team for helping on doing next gen Rubin software bring up and helping verify our agentic benchmark results.&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;Star the InferenceX GitHub repository if you find the open-source benchmark and data useful!&lt;/a&gt;&lt;span&gt;. InferenceX is the only inference benchmark in the world to have TPUv7, NVIDIA, &amp;amp; AMD and soon SambaNova &amp;amp; Trainium. Due to how realistic AgentX scenario is to real world agentic inference workloads, AMD has committed to collaborating on MI455X UALoE72 too.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9dNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff583ee2a-b5a3-47d4-b3d4-3fc68181f3e0_2142x1232.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!9dNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff583ee2a-b5a3-47d4-b3d4-3fc68181f3e0_2142x1232.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Agentic Workload Primer&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At a high level, an agentic workload is characterized by four elements:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-turn: a session includes tens or hundreds of interactions between the user and assistant, compared with a handful in a chatbot scenario. These workloads combine long contexts and high prefill reuse with sub-agent bursts and numerous tool calls.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Long context: system prompts, tool definitions, and the large number of turns make context accumulate quickly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High prefix reuse: since the conversation progresses linearly, where output from turn n-1 is concatenated to turn n (typically), most context can be served from KV cache rather than recomputed (this depends on the amount of storage available to store KV tensors). As n grows, the ratio of cached input relative to uncached typically tends towards 1.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Sub-agent bursts: a session launches multiple short-lived sub-agents with fresh context, which create bursty KV-cache patterns.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qQ6y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a6ce1d1-5754-4021-88ca-812789d36bd9_2048x909.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!qQ6y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a6ce1d1-5754-4021-88ca-812789d36bd9_2048x909.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, DeepSeek&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Read more about the methodology in our AgentX article.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Rubin Amazing Performance per TCO&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Performance per total cost of ownership (TCO) is one of the most important angles in which to evaluate AI accelerator performance. In the charts below, the Y-axis is total tokens per $1 TCO. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Practically speaking, this tells an inference provider how many tokens they can generate for every dollar they spend on compute.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; This is calculated by normalizing the total throughput for a scenario by the all-in serving costs ($/chip/hr times number of chips utilized to serve).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On InferenceX, we provide a few different TCO figures for each SKU which come from the &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;SemiAnalysis AI Cloud TCO Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The scenarios offered by default are as follows:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Owning at Large Hyperscaler Volume&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: the modeled cost per GPU-hour to own and operate the hardware, including server and networking capex spread over the assumed useful life, colocation, power, and cost of capital. This assumes hyperscaler purchasing and financing terms, including volume discounts and custom server builds.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Rent - 3 Year Commit&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: the market price per GPU-hour paid to a cloud provider for a three-year committed reservation, based on SemiAnalysis rental pricing surveys.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Users may also edit the compute costs in our calculator to match the cost they are paying. For m&lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;ore figures such as on-demand market rental rate and shorter term rental commitments can be found in the AI Cloud TCO model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which comes from our monthly market survey of 100+ GPU customers, GPU neoclouds, and hyperscalers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Vera Rubin is a substantial improvement over GB300 in terms of performance per dollar.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; At 170 TPS, On Apples to Apples TRTLLM NVFP4 Dense, Vera Rubin NVL72 delivers ~67x the total throughput per TCO of GB300 Dynamo TRTLLM under the owning cost assumptions. Furthermore, at the part of the frontier where most providers would actually serve this model (60-100 TPS), Vera Rubin achieves between 1.4x and 3x the throughput per TCO compared to the latest and greatest GB300 TRTLLM configuration.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our rack uses the production SKU of 2300W TDP &amp;amp; 1.5TB of CPU LPDDR5X per compute tray. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;We chat more about why NVIDIA had to cut their Vera memory in half in our accelerator and memory model.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; For this article, we will be talking about the TRTLLM Rubin performance but we expect later articles to also include vLLM Rubin &amp;amp; SGLang Rubin performance on agentic inference workloads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zMPG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac2da106-c1f2-4c85-ab6c-858908f06c05_2048x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="940" src="https://substackcdn.com/image/fetch/$s_!zMPG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac2da106-c1f2-4c85-ab6c-858908f06c05_2048x1322.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Vera Rubin achieves approximately 61% higher maximum P90 interactivity than GB300 Dynamo TRTLLM, reaching 276.24 versus 171.53 P90 TPS However, when using the open-source SGLang stack, GB300 can achieve similar interactivity as Vera Rubin.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TOW-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0a77f0-77a8-4240-885d-6fd85b30f2b5_2048x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="940" src="https://substackcdn.com/image/fetch/$s_!TOW-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0a77f0-77a8-4240-885d-6fd85b30f2b5_2048x1322.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We recognize that this is an early pre-release TRTLLM software release and that performance will only get better, especially at the &amp;#8220;ends&amp;#8221; of the frontier (ultra-high throughput/ultra-low latency). Driving the frontier forward and highlighting improvements &lt;em&gt;over time &lt;/em&gt;is the ultimate goal of InferenceX. Read more about this in our previous articles on InferenceX:&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Also note that Vera Rubin achieves significantly better P90 E2E latency in higher throughput scenarios. While interactivity (TPS) is often the headline for performance benchmarks, latency metrics like TTFT (time-to-first-token) and E2E latency are also important and one of the de-factor SLA standards in production serving.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bQ0v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5eb5ea2-fc05-4978-a15a-1a9882d1ba30_2048x1320.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!bQ0v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5eb5ea2-fc05-4978-a15a-1a9882d1ba30_2048x1320.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When we consider the 3 year rental cost which in July 2026 was over $8.5/hr/chip for Rubin and $5/hr/chip for Blackwell Ultra NVL72, the upgrade is still more than justified. At 80 TPS P90 interactivity, Vera Rubin can produce 62% more total tokens for the same rental TCO. Across the higher interactivity portions of the frontier, Vera Rubin realizes up to 16x more tokens per 3 year rental TCO.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Jj6x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F850c28c6-035d-45cb-821c-27991c92ac36_2048x1331.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="946" src="https://substackcdn.com/image/fetch/$s_!Jj6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F850c28c6-035d-45cb-821c-27991c92ac36_2048x1331.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The lesson here is quite simple: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;if you have the money to buy or rent a VR NVL72, you should &amp;#8211; it will generate significantly cheaper tokens than the next leading accelerator and thus make you significantly more money. As Jensen infamously said &amp;#8220;the more you buy, the more you earn&amp;#8221;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When compared to single-node Blackwell and MI355X, the performance per TCO gap becomes even wider across the entire curve.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; At an 80 TPS P90 SLA (which again, is quite realistic for this model), an inference provider can serve 10x more tokens per USD than with B300 &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;when using the owning TCO figure&lt;/span&gt;&lt;strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dcXL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b1f8c1b-fc2b-4d2f-8cf8-6c1527e5dd43_2048x1312.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="933" src="https://substackcdn.com/image/fetch/$s_!dcXL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b1f8c1b-fc2b-4d2f-8cf8-6c1527e5dd43_2048x1312.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The advantage also extends to P90 end-to-end latency. As shown below, at 60 million tokens per dollar of TCO under the owning assumptions, Vera Rubin achieves a P90 end-to-end latency of approximately 20 seconds, compared with 60 seconds for B200/B300 running the latest vLLM serving stack. At 160 million tokens per dollar, the P90 end-to-end latency gap widens to approximately sixfold: 20 seconds for Vera Rubin versus 120 seconds.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-Tct!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe968ae77-746d-4a8a-9642-b3e25b255896_2048x1325.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="942" src="https://substackcdn.com/image/fetch/$s_!-Tct!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe968ae77-746d-4a8a-9642-b3e25b255896_2048x1325.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On agentic workloads, Vera Rubin makes H200 look about as competitive as a TI-84 calculator. At a P90 interactivity target of 80 TPS, Rubin delivers 18x as many tokens per dollar. At 120 P90 TPS, that advantage widens to 39x.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The advantages of Rubin are less at offline batch inference and more for training as this is where we see what big labs are slowly migrating hopper towards.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NSQ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d8a330-0716-4e39-85a5-d74ab3f273ad_2048x1317.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="936" src="https://substackcdn.com/image/fetch/$s_!NSQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d8a330-0716-4e39-85a5-d74ab3f273ad_2048x1317.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IDZJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2c6be2-d0ea-4e25-a145-3df3b49c2faa_2000x2000.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Texas Instruments TI-84 Plus Graphing Calculator Teacher's Pack of 10 &amp;#8211;  Underwood Distributing Co." class="sizing-normal" height="1456" src="https://substackcdn.com/image/fetch/$s_!IDZJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2c6be2-d0ea-4e25-a145-3df3b49c2faa_2000x2000.png" title="Texas Instruments TI-84 Plus Graphing Calculator Teacher's Pack of 10 &amp;#8211;  Underwood Distributing Co." width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Texas Instruments&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Rubin Performance per Watt -  Jensen Sandbagging Performance Again&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Availability of powered datacenters is often a limiting factor to deploying more chips so when power efficiency is ultra important. If you are able to generate more tokens per GigaWatt, &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;then you are able to generate more revenue and more profit per GigaWatt&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="mailto:sales@semianalysis.com"&gt;&lt;span&gt;SemiAnalysis Datacenter Industry Model&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At GTC 2026, Jensen presented this graph comparing Rubin to Blackwell on a large 2T MoE model, showing that VR NVL72 achieved 3x performance per MW on a trillion parameter model around 200 TPS. But when compared to the real world performance of Rubin already on prelease software, we are already seeing up to 7x better token throughput per megawatt. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Jensen needs to stop sandbagging his performance claims at GTC&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. H&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/inferencex-v2-nvidia-blackwell-vs?open=false#%C2%A7jensen-under-promising-and-overdelivering-hopper-vs-blackwell-vs-rack-scale-nvl72"&gt;&lt;span&gt;e did last time at GTC 2024 at the announcement of GB200 NVL72 when he claimed it will be 30x faster than Hopper but when we tested, it was 98x better performance than Hopper.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DFuy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffca74ac6-8331-4bd3-abb8-7058f4141ec8_2048x1131.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="804" src="https://substackcdn.com/image/fetch/$s_!DFuy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffca74ac6-8331-4bd3-abb8-7058f4141ec8_2048x1131.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NVIDIA&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;P90 interactivity describes the streaming speed of an individual response, using the reciprocal of P90 full-response inter-token latency. At a fixed interactivity target, a higher curve means the deployment can serve more total traffic within the same power budget. The initial wait for the first token and overall response time remain separate considerations in the preceding latency analysis.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jmPd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F424235b9-f3a9-4875-8b91-d0875b715e7f_2048x1279.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="909" src="https://substackcdn.com/image/fetch/$s_!jmPd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F424235b9-f3a9-4875-8b91-d0875b715e7f_2048x1279.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the DeepSeek V4 Pro agentic workload, Vera Rubin delivers substantially more total token throughput per megawatt than GB300 and MI355X at the matched targets compared below. The size of that advantage depends on the interactivity target and the serving engine used for comparison.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At 100 TPS, Rubin delivers approximately 59.4 million total tok/s/MW, compared with 28.5 million for GB300 Dynamo SGLang and 21.1 million for GB300 Dynamo TRTLLM. That is a 2.09x advantage over the stronger GB300 engine at this target. MI355X SGLang reaches 2.01 million tok/s/MW, giving Rubin a 29.5x lead on this particular workload and snapshot. SGLang is the strongest of the measured MI355X engines at this target.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The wider hardware comparison at 100 TPS puts B200 SGLang at 6.95 million, B300 vLLM at 5.56 million, and H200 Dynamo SGLang at 2.26 million tok/s/MW. H200 uses FP8. The other configurations in this comparison use FP4. These are comparisons of the measured hardware-and-software configurations, including their caching and parallelism choices.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The table shows how the advantage changes across the curve, with throughput in million total tok/s per utility MW. The values are interpolated, meaning they are estimated between measured benchmark points to compare engines at the same speed target. N/A means the target falls outside that engine&amp;#8217;s measured range.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aPaK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13c07f83-d722-466e-bf23-49788022a6d3_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!aPaK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13c07f83-d722-466e-bf23-49788022a6d3_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At 150 TPS, Rubin retains nearly 37 million tok/s/MW, approximately 7.2x GB300 SGLang. The advantage then narrows as the speed requirement rises further, reaching 2.72x at 200. The strongest GB300 engine also changes with the target. TRTLLM leads at 75, while SGLang leads at the higher targets shown here.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This distinction is especially relevant near the operating point discussed earlier. At exactly 170 TPS, Rubin delivers 62.9x the total throughput per MW of GB300 TRTLLM, whose curve is near its fastest measured endpoint. Against GB300 SGLang at the same target, the multiplier is 5.56x. The engine label is therefore essential when quoting the high-interactivity gain.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other feature of Rubin is the first class integration of dynamic power shifting called &amp;#8220;&lt;/span&gt;&lt;a href="https://docs.nvidia.com/dsx/maxlps/overview"&gt;&lt;span&gt;DSX MaxLPS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; which means instead of provisioning for max all in TDP plus 10-20% oversubscription factor, gpu cluster operators will power profile their inference workloads and proxies for future workloads and based on the actual power, they will be able to fit more GPUs into the same datacenter power footprint. This is as during inference workloads especially at medium to fast speed, GPUs do not consume their power more envelope thus when smartly steering power across the datacenter, you will be able to fit more GPUs. Our upcoming integration PowerX into InferenceX will allow us to have even finer grain measurements of throughput per GigaWatt.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Annual Revenue and Profit per Gigawatt - The More you Buy, The More you Earn&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At the time of writing, DeepSeek V4 Pro 1.6T was replaced in favor of DeepSeek V4.1 Flash. However, its size allows it to be a proxy for O(1-3T) parameter LLMs. As DeepSeek V4 Pro was released under the MIT license, there is no license fee.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At a fixed power budget, Rubin&amp;#8217;s advantage is not simply that it can process more tokens. It gives an operator more capacity to monetize demand without securing additional utility power. At 75 TPS interactivity, 60% utilization and no model-license fee, Vera Rubin generates $159.5 billion in annual revenue and $149.9 billion in modeled profit per all-in utility GW. The strongest GB300 configuration in this annual revenue comparison, Dynamo SGLang, generates $114.9 billion and $105.3 billion respectively. Rubin therefore delivers approximately 39% more revenue and 42% more modeled profit from the same power allocation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lAYo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f44b34-7b40-409d-ad6a-015be7cdadbe_2048x1336.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="950" src="https://substackcdn.com/image/fetch/$s_!lAYo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f44b34-7b40-409d-ad6a-015be7cdadbe_2048x1336.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The absolute difference is approximately $44.6 billion in additional annual modeled profit per GW, or roughly $446 million at a 10 MW scale under linear scaling. Because the displayed annual cost per GW is similar for these two configurations, most of the incremental revenue flows through to the model&amp;#8217;s profit measure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The same advantage also creates pricing headroom. Holding workload mix, throughput and billable utilization constant, Rubin could charge approximately 28% less across cached-input, uncached-input and output tokens while matching the revenue per GW of GB300 Dynamo SGLang at the displayed prices. An operator could therefore retain the efficiency gain as additional profit or use it to compete on price, depending on the demand elasticity of the models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Below we will talk about the total revenue over the entire lifecycle of the fleet for each NVIDIA chip.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-agentic-inference"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-14T14:08:56+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/a-brain-too-big-to-carry-on-device</id>
    <title>A Brain Too Big to Carry — On-Device vs Datacenter Inference</title>
    <updated>2026-09-14T08:37:25+00:00</updated>
    <author>
      <name>Ivan Chiam</name>
    </author>
    <content type="html">&lt;h1&gt;&lt;span&gt;Where should the brain of the robot go?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;So far, AI has mostly lived behind a screen. Chatbots answered questions. Then agents started driving software and finishing multi-step tasks on their own. The next step is AI that acts in the physical world, and the biggest piece of that is robots. It&amp;#8217;s early. Nobody has settled the hardware, the models, or the economics.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Embodiment Problem&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With LLMs, the hardware bends to the model. Pour in as much data and compute as possible at training, then figure out how to serve the model that comes out. The model comes first; the hardware second. Robotics inverts this due to two constraints.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first is time. A robot runs real-time control loops and can&amp;#8217;t miss a deadline. An LLM can be slow without affecting the final output. If a robot is slow, the world changes around it, and then the action is obsolete by the time it needs to enact it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The second is cost. When you use an LLM, it lives behind a screen provided by the user. In robotics, the manufacturer has to build both the compute and the robot itself and pay for it upfront, on every unit, and the capital expenditure can be immense. At scale, this upfront cost can be billions, even in the trillions if we do eventually get to a billion robots.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Because of these two constraints, in robotics the on-robot hardware is fixed, and the model is designed to fit what we can reasonably manufacture. Model capabilities at the frontier will be capped by what we can run on affordable, real-time hardware, and intelligence becomes something you ration against latency and unit economics.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Robot models are still small&amp;#8230;&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;This is why frontier robot models remain far smaller than frontier LLMs, which have already pushed into the trillions of parameters. Today&amp;#8217;s generalist robot models are in the billions of parameters: Physical Intelligence&amp;#8217;s &amp;#960;0 class at ~3 billion, &amp;#960;0.7 at 5 billion, ByteDance&amp;#8217;s GR-3 at 4 billion, Generalist&amp;#8217;s models around 10 billion, and NVIDIA&amp;#8217;s DreamZero at 14 billion. However, these parameter counts carry less meaning than their LLM equivalents. LLM labs pick model size by optimizing quality against a training budget and inference cost; robotics labs pick size by what their data can support and what fits on a Jetson or an H100 within a latency budget. Robot model sizes tell you where the constraints sit, not where sizes will settle.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GcBX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff71549d3-3441-4f43-bc7a-0f750caf6a58_2048x1110.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!GcBX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff71549d3-3441-4f43-bc7a-0f750caf6a58_2048x1110.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In LLMs, scaling laws have held, scaling has consistently broadened the range of problems a single model can solve.  Early results from companies such as &lt;/span&gt;&lt;a href="https://generalistai.com/blog/gen-1"&gt;&lt;span&gt;Generalist&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.dyna.co/dyna-2"&gt;&lt;span&gt;Dyna&lt;/span&gt;&lt;/a&gt;&lt;span&gt; suggest robotics scales the same way. The question isn&amp;#8217;t whether scaling works, it&amp;#8217;s whether the inputs can keep up. Data is the first constraint, there is no internet-scale corpus of robot experience, and real-world interaction data is slow and expensive to generate hence the rise of embodied human data collection and world models. The network is the second constraint. Frontier models already outgrow the robot (&amp;#960;0.7 runs on an off-robot H100; DreamZero needs two GB200s), and once the model lives in the datacenter, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;latency and jitter pose problems&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s unclear where robot model sizes will land. The trend line points up, but efficiency gains keep pulling in the other direction, and the field has yet to converge. NVIDIA&amp;#8217;s DreamZero, a 14-billion-parameter &amp;#8220;world action model&amp;#8221; built on a video-diffusion backbone, needs two GB200 GPUs off-robot just to run in real time. But compute requirements change rapidly: months after DreamZero, NVIDIA&amp;#8217;s RoboTTT made the opposite bet, using a 3-billion-parameter policy that continually updates its own weights with test time training instead of generating videos of the future. The result is a model with minutes of usable context that is small enough to run onboard.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Wherever model sizes land, our view is that a cascade of approaches is inevitable. Some robots will run cognition fully onboard, while others will offload some part of it to GPUs sitting in a datacenter. However, for generalist robots that require real intelligence, we think off-robot compute has many advantages, from escaping the robot&amp;#8217;s compute and power budget to pooling inference across a fleet. It comes with network challenges, which we cover in later sections, but it is an increasingly viable option.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Primer on Robot Models&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Before we explore the idea of off-robot compute, here&amp;#8217;s a quick primer on how robot models work, and which ones we&amp;#8217;re talking about.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Classical robot control, kinematics plus planned trajectories plus feedback controllers, has run factories for decades on small embedded chips. Plenty of narrow learned policies fit onboard too. Neither is what this piece is about. We care about generalist robots: ones that can follow open-ended instructions, handle scenes they&amp;#8217;ve never seen, and do many different jobs.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Layers of a robot model&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At the top is the planning layer. It interprets the instruction and the scene, decides what the robot should do next, and may produce a subtask, destination, grasp pose or footstep plan. Below it is the action or motion layer. It turns those outputs into short action sequences, body poses, or velocities. At the bottom are the servo and safety loops. They estimate the robot&amp;#8217;s state, react to contact and slip, maintain balance and ultimately command the actuators.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!10PZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90990b49-f892-4dfb-a4a2-1021c2d4a584_2074x1386.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="973" src="https://substackcdn.com/image/fetch/$s_!10PZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90990b49-f892-4dfb-a4a2-1021c2d4a584_2074x1386.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Frequency determines which layers need to run on the robot. The action and servo  layers runs at hundreds of Hz: a 100 Hz loop must produce its next output every 10 milliseconds. A typical wireless round trip costs 10 to 50 milliseconds on its own, and a well-engineered link takes less than 10 milliseconds, so for these loops the network does not merely add delay, it consumes almost the entire budget before the model has computed anything. This is why anything above roughly 100 Hz can never leave the robot.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below roughly 20 Hz, where the planning layer lives, the picture changes. A planner running at 5 Hz gets 200 milliseconds per decision, so even a 10 to 50 millisecond round trip fits comfortably, with margin to spare. That is enough headroom to move the planning layer off the robot entirely, and a well-tuned network stack could push the offloadable boundary above 20 Hz. The bigger problem, though, is jitter rather than latency. A fixed delay can be planned around: the system knows roughly how far the robot and everything around it will move in that window and can plan a little ahead. Jitter is harder because commands arrive at irregular intervals, so the robot never knows exactly when the next update will land. You can buffer to the worst case, which turns variable delay into predictable delay, but then every action pays the worst-case penalty. Getting jitter under control is what actually unlocks offloading the planning layer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The planning layer is also the layer with the heaviest compute requirements, and those requirements climb as generalization increases. Open-ended tasks need actual reasoning, and reasoning models are big. That is why some companies have started looking at datacenter compute instead. Jetson Thor is the best robot compute you can buy today, and it still delivers only about 1/10th the FLOPs of a GB200 and roughly 1/30th of its memory bandwidth.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U9kS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe499b86b-0b8a-4d8c-924c-d866b008cf34_2048x899.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="639" src="https://substackcdn.com/image/fetch/$s_!U9kS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe499b86b-0b8a-4d8c-924c-d866b008cf34_2048x899.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EjjN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1b186dd-a47f-45b5-be93-7663e20c9cb4_1686x1072.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!EjjN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1b186dd-a47f-45b5-be93-7663e20c9cb4_1686x1072.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;The Supply Chain Reality&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The supply chain is also geared towards datacenter silicon, not robot silicon, and ramping robot silicon will not be easy, especially with front-end capacity and DRAM already tight. Nvidia&amp;#8217;s own output makes the point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia&amp;#8217;s accelerator output is almost entirely datacenter silicon: a long Hopper ramp through 2023 and 2024 handing off to Blackwell, which scales sharply across 2025 and 2026 to dominate the mix. Jetson, the line used in robots, is the thin red sliver along the bottom, barely visible even in 2026. This is because the robotics market is nascent, real volume is years out, and there is next to nothing to build for.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OV0v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccdc33b2-3d63-467f-9f97-ad0ef2864b54_1362x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!OV0v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccdc33b2-3d63-467f-9f97-ad0ef2864b54_1362x938.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;, note Rubin withheld from chart, ramp provided to clients&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Margins tell a similar story. Demand isn&amp;#8217;t there yet, but when it arrives, pricing should go up and Jetson margins will inflect. But for now, a Blackwell datacenter GPU earns far higher gross margins than a Jetson module, on the order of mid-to-high 70s percent versus mid-60s, so NVIDIA has every incentive to point its scarce leading-edge wafer capacity at the datacenter and little reason to ramp edge silicon while the robotics market stays small.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Q1J2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd09b45ac-b7d1-4128-afef-b926cbce8a14_1212x850.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="850" src="https://substackcdn.com/image/fetch/$s_!Q1J2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd09b45ac-b7d1-4128-afef-b926cbce8a14_1212x850.png" width="1212" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Worse, robot silicon is converging onto the exact nodes the datacenter is fighting over. Nvidia&amp;#8217;s Jetson line used to be insulated: the previous generation, Orin, ran on Samsung&amp;#8217;s SF8 process. The current generation, Thor, has closed that gap onto TSMC N4, and as robots run on more capable models their silicon has to stay on the leading edge: the generation after Thor likely moves to N3 alongside Rubin, then N2 alongside Feynman, exactly the nodes the entire AI-accelerator roadmap is fighting over. So a low-volume, lower-margin Jetson will always be competing for advanced-node wafers from the back of the queue.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-XyR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d1ddaa-68aa-479c-86f9-a3354061d9fc_1362x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!-XyR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d1ddaa-68aa-479c-86f9-a3354061d9fc_1362x990.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kuNj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e474a1-a84a-4b9e-a557-5cec7022bdb5_1364x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!kuNj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e474a1-a84a-4b9e-a557-5cec7022bdb5_1364x990.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;But the wafer demand from robots is not where the strain is. A million Jetson-class chips in 2030, each around 400mm&amp;#178;, is only about ten thousand wafers for the year, a rounding error next to the datacenter GPU ramp, because Thor&amp;#8217;s die is barely half a reticle-sized chip, and there simply aren&amp;#8217;t many robots yet. Supply only tightens once robots need tens of millions of chips a year, well beyond 2030. So the real question is not whether robots can get wafers. It is silicon efficiency: for a given fleet of robots, which approach consumes less leading-edge silicon? Putting a chip in every robot, or serving their cognition from shared datacenter GPUs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Gvb2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab6ebf10-8bae-4a3b-bcda-c2bec3bb0afb_1368x992.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="992" src="https://substackcdn.com/image/fetch/$s_!Gvb2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab6ebf10-8bae-4a3b-bcda-c2bec3bb0afb_1368x992.png" width="1368" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If you look at silicon efficiency as wafers per robot, the onboard chip and the shared datacenter GPU cross over at around 7 robots per GPU. Beyond that, serving cognition from a shared GPU takes less silicon per robot than putting a chip in every machine. And that&amp;#8217;s what really matters here, because when fab supply is scarce, the approach that uses less silicon per robot is the one that scales.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kz1z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d0fc12e-bbab-482f-bba6-a3acc3b350b0_1356x982.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="982" src="https://substackcdn.com/image/fetch/$s_!Kz1z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d0fc12e-bbab-482f-bba6-a3acc3b350b0_1356x982.png" width="1356" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Another major bottleneck is memory. Each Jetson generation has carried more DRAM than the last: Jetson Xavier used 32GB, AGX Orin 64GB, and Jetson Thor now uses 128GB of LPDDR5X, with future generations set to keep climbing. Although total DRAM wafer capacity continues to grow, most of the incremental capacity is being absorbed by HBM for AI accelerators. That leaves the commodity and LPDDR supply that robot brains depend on competing for a shrinking pool of non-HBM wafers. Similarly, when DRAM is the scarce resource, the approach that uses less DRAM per robot is the one that scales.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BzqH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c683d9f-cb07-4c4f-9601-4c9f29605679_1270x896.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!BzqH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c683d9f-cb07-4c4f-9601-4c9f29605679_1270x896.png" width="1270" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/memory-model/"&gt;SemiAnalysis Memory Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Memory tells a similar story, the onboard chip and the shared datacenter GPU cross over at around 5 robots per GPU. Beyond that, serving cognition from a shared GPU takes less DRAM per robot than putting a chip in every machine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pIul!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb8c1a5-6631-4253-9529-e2e4e03f4869_1168x854.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="854" src="https://substackcdn.com/image/fetch/$s_!pIul!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb8c1a5-6631-4253-9529-e2e4e03f4869_1168x854.png" width="1168" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;The TCO Verdict: B300 vs. RTX 6000 PRO vs. Jetson Thor&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Wafers and DRAM tell us which approach can scale, but they say nothing about which one is cheaper to run. So the next question is cost. If you had to serve the same robot fleet, what would it take with B300 servers in a datacenter, RTX 6000 Pro servers in a datacenter, or a Jetson Thor in every robot?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We use &lt;/span&gt;&lt;a href="https://research.nvidia.com/labs/gear/robottt/"&gt;&lt;span&gt;NVIDIA&amp;#8217;s RoboTTT&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It has no public code or weights, so we benchmark a timing-representative reconstruction: real GR00T N1.7 checkpoints with test-time-training (TTT) blocks inserted into the action head, built to match the paper&amp;#8217;s compute and memory profile rather than its accuracy.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three details for faithfulness. GR00T&amp;#8217;s DiT interleaves cross-attention and self-attention blocks by index, so a naive fixed stride would place every TTT module on the same block type; we insert 16 modules as (even, odd) pairs, 8 following cross-attention and 8 following self-attention across the 32 blocks. We prepend 16 learnable register tokens, giving the paper&amp;#8217;s 57-token sequence (16 registers + 1 state + 40 actions) that every attention and TTT module then runs on. Each block takes one inner gradient step per denoising pass, and each robot carries 151 MB of fast-weight state, gathered before every batched call and scattered back after, which is the multi-robot serving cost that a shared-weight VLA does not pay.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RlZE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f575dd-3c20-4441-b5c2-155fea93a71b_1478x470.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="463" src="https://substackcdn.com/image/fetch/$s_!RlZE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f575dd-3c20-4441-b5c2-155fea93a71b_1478x470.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Thus, the TTT path costs full FLOPs, memory traffic, and state swapping while leaving the emitted actions untouched. Untrained fast weights diverge and produce garbage, and we are measuring serving cost instead of task success. These numbers say how expensive RoboTTT-shaped inference is to serve.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On that basis, one B300 sustains 12 robots within the 500 ms chunk deadline, against 4 on an RTX PRO 6000.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9vnb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ae251d0-0772-47cf-ae56-cc31e49590e6_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="863" src="https://substackcdn.com/image/fetch/$s_!9vnb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ae251d0-0772-47cf-ae56-cc31e49590e6_2048x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yqRr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9726be9f-039f-4064-a2f4-2d5e3bc050e2_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="863" src="https://substackcdn.com/image/fetch/$s_!yqRr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9726be9f-039f-4064-a2f4-2d5e3bc050e2_2048x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With this, we build up three scenarios. For the offload scenarios, we assume one Blackwell-class B300 server which can serve up to 12 robots per GPU, as well as an RTX 6000 Pro Server Edition which can serve up to 4 robots per GPU. For the on-device scenario, each robot carries its own Jetson Thor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In all three scenarios, common parts across both scenarios (i.e. mechanical components, robot shells) are not included in the BOM cost calculation.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;B300 offload scenario&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The first offload scenario is one B300 server, plus 96 wireless boards to connect the robot to the GPU server wirelessly (one per robot, twelve robots per GPU at the benchmarked p99 criterion). That brings all-in capex to ~$554K, which, including operating costs like colocation and power, leads us to an aggregate all-in TCO of $18.63/hr in the offload scenario. This assumes owner/operator economics, not a cloud rental quote.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1KFK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F960e58c6-3810-4b4f-9cf9-b778372a5241_1362x971.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!1KFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F960e58c6-3810-4b4f-9cf9-b778372a5241_1362x971.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;RTX 6000 Pro offload scenario&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The second offload scenario is to an RTX 6000 Pro Server Edition. For an apples-to-apples comparison, 96 robots require three 8-GPU servers, since the RTX 6000 Pro can serve four robots per GPU at the benchmarked p99 criterion. Together, these cost $436K in all-in capex, which accumulates to an all-in aggregate TCO of $15.61/hr.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yMBU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd50587e5-5492-47d7-b66e-751825475f20_1364x980.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="980" src="https://substackcdn.com/image/fetch/$s_!yMBU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd50587e5-5492-47d7-b66e-751825475f20_1364x980.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Jetson Thor on-device&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The on-robot scenario is 96 Jetson Thor modules at $3,500 per unit, each with its own baseboard, storage, cooling, incremental battery, and onboard radio connectivity, landing at ~$394K. Accounting for the above, along with power costs for the Thor modules, leads us to a TCO of $14.97/hr for the 96-chip deployment.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We assume a four-year useful life for an on-device Jetson Thor, shorter than a datacenter GPU, because of the environment it lives in. A GPU in a rack never moves. A Jetson on a robot rides on a chassis that vibrates constantly, takes the occasional hard knock, and, depending on the job, gets dropped, splashed, or run through unstructured work all day. That mechanical stress wears hardware out faster. Some operators we spoke to put the figure below four years, but we think four is a fair assumption.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Arguably, the cost of capital (WACC) of an on-device deployment could also be higher, especially for equity-funded emerging robotics companies, as compared to highly debt-funded neoclouds or well-capitalized enterprises running their own servers. However, since we have already accounted for a shorter economic useful life for on-device compute as our base case, we have conservatively decided to keep a constant WACC across all three scenarios.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CoxY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50389167-342b-4074-a0db-f8c5b60e5875_1274x904.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="904" src="https://substackcdn.com/image/fetch/$s_!CoxY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50389167-342b-4074-a0db-f8c5b60e5875_1274x904.png" width="1274" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;TCO Comparison&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Before accounting for utilization, the three cases present differing TCOs per FP4 dense FLOPs: $0.15/hr/PFLOP for the B300, $0.16/hr/PFLOP for the Jetson Thor, and $0.39/hr/PFLOP for the RTX 6000 Pro.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The immediate conclusion that this might provide us is that the RTX 6000 Pro is not particularly performant on a FLOPs-per-TCO or a FLOPs-per-capex-dollar basis - we focus on the B300 offload scenario and the Jetson Thor on-device scenario from here.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oXwr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3ab5d5-ee1c-4a17-a40d-211bb8f80fee_1876x542.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="421" src="https://substackcdn.com/image/fetch/$s_!oXwr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3ab5d5-ee1c-4a17-a40d-211bb8f80fee_1876x542.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Utilization is the swing factor in TCO. A robot and the GPU behind it are almost entirely fixed capital, so the bill is the same whether the asset runs or sits idle, and cost per productive hour scales inversely with how much it works.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On-robot chip utilization today is highly deployment-dependent. In the home, one company that has deployed robots in volume told us its robots run just 1-2 hours a day, only 4-8% of the clock, because chores are bursty and current models still cap what can run unsupervised. That figure is trending up, toward 4-5 hours (17-21%), as capability improves and new features drive engagement. But the home has a hard ceiling: eventually the chores run out. Industrial demand is continuous and should clear a higher bar. Figure&amp;#8217;s BMW deployment is an anchor we have: roughly 1,250 operational hours over about 11 months of weekday shifts, working around 10 hours a day at 40% utilization. As model capability improves, industrial utilization should climb well beyond that.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YfFp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c53ff57-ccda-4d61-b432-69664d85bdea_1864x781.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="610" src="https://substackcdn.com/image/fetch/$s_!YfFp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c53ff57-ccda-4d61-b432-69664d85bdea_1864x781.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The shared GPU server often runs the other way, as its compute resources are pooled across the fleet and busy around the clock. Given that the scenario above wherein one B300 GPU can serve 12 robots within the p99 latency budget, we model this as a ~90% utilization of the GPU server.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For on-robot chip utilization, we model ~40% utilization as our base case, which is factored into the table below. Net of utilization, the offload scenario for the B300 reaches a TCO per FP4 dense FLOPs of $0.17/hr/PFLOP, while the on-robot scenario for the Jetson Thor reaches a TCO per FP4 dense FLOPs of $0.37/hr/PFLOP. Here, the offload scenario reaches a mere ~46% of the on-robot scenario.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1whk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac1e94-8d4c-4802-a23e-396c3a215b68_1906x975.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="745" src="https://substackcdn.com/image/fetch/$s_!1whk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac1e94-8d4c-4802-a23e-396c3a215b68_1906x975.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Towards the top right corner of the sensitivity analysis below, high GPU server utilization and low chip on-device utilization swings the TCO per PFLOP massively in favor of the offloaded scenario. The offload scenario for current industrial deployments reaches ~46% the TCO per PFLOP of the on-robot scenario, reaching an even lower ~12% for home deployments.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is only in several cases towards the bottom right corner wherein chronically low B300 cloud server utilization and chronically high on-device utilization swings the TCO per PFLOP in favor of on-device inference.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9vfI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e03df46-1aa1-4d48-8f56-c3f3889112fc_1785x929.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="758" src="https://substackcdn.com/image/fetch/$s_!9vfI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e03df46-1aa1-4d48-8f56-c3f3889112fc_1785x929.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The question arises naturally: How many robots have to be batched in order for such TCO per PFLOP savings to come through in favor of the offload scenario? Varying our batching assumptions below, for a standard industrial deployment, we see that anywhere from 5 robots per B300 GPU and upwards, the TCO per PFLOP shifts in favor of the offloaded scenario.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the whole, we find that offloading inference to a B300 server in the cloud is a compelling case, except for cases with very small robot deployments with one on-site server sitting mostly idle - though even then, one could make the argument for renting compute as needed rather than owning an entire server to serve a few robots.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HbL_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4749cd1b-2254-4624-817e-49dc59651bdd_1224x939.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="939" src="https://substackcdn.com/image/fetch/$s_!HbL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4749cd1b-2254-4624-817e-49dc59651bdd_1224x939.png" width="1224" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;The Deployment Battleground&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;On paper, off-robot compute wins on TCO. In practice, nobody is at mass production yet, so TCO is not what decides the question today. The companies actually shipping have split into two camps, those that keep compute on the robot and those that keep parts of it off, and what puts them in one or the other is how much generality the robot needs, how bad the wireless is, and how much of the customer&amp;#8217;s site they are allowed to change. TCO will matter once fleets get larger. For now, here is where each company stands today, and why.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Boston Dynamics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Boston Dynamics builds three robots: Spot walks inspection routes, Stretch unloads trailers and containers, and Atlas, the humanoid, entered production this year. Production here means development units built in volume for large-scale data collection and application pilots, not mass production. For Boston Dynamics, what matters most is capability, meaning whether the robot can solve a real problem for a customer and generate economic value and savings.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Generalist vs Specialist&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Most of those problems demand generality. A car plant is full of tasks that resist automation, from sequencing, kitting, and moving parts to line side, to assembly work like bolting a wheel onto the car. A single vehicle has tens of thousands of parts, one line can run 5 to 10 models at once in a dozen or more colors, and the mix turns over every model year. Commissioning a purpose-built solution for each step is neither fast nor economical at that scale. That variability is what caps traditional automation, and why factory work needs a generalist robot rather than thousands of specialist machines.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!y550!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f43bcb-0d89-400c-a872-b1c5c8680135_1204x606.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="606" src="https://substackcdn.com/image/fetch/$s_!y550!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f43bcb-0d89-400c-a872-b1c5c8680135_1204x606.png" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Boston Dynamics. Hyundai Plant&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The kind of general work Boston Dynamics is targeting, a robot dropped into a car plant or warehouse, needs a frontier model, for the simple reason that generality is intelligence. Multimodality compounds the problem: because these machines operate in the physical world, System 2 has to consume images and reason over them, and models that do that well are inherently large. Boston Dynamics would not give an exact parameter count, pointing instead to Gemini Robotics ER, DeepMind&amp;#8217;s embodied reasoning model built on Gemini 3.5 Flash, as the right mental picture. Google publishes no parameter counts, but we estimate that System 2 could be somewhere in the hundreds of billions of parameters if not 1T.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;A Brain Too Big to Carry&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A model that size will not fit on a robot, which is why Boston Dynamics splits the stack across the network. System 1, the visuomotor policy that drives the machine, runs onboard, which on Atlas means an NVIDIA Jetson Thor. System 2, the reasoning layer, runs off the robot, reached through Orbit, the company&amp;#8217;s fleet software, and served on Google TPUs today through the DeepMind partnership. Of the companies we spoke to, Boston Dynamics is one of the few that deliberately puts high-level reasoning on the far side of a wireless link.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a perfect world there would be no split at all. Ideally System 2 would sit on the robot with no wireless link in the loop, but no model small enough to carry can yet reason well enough for factory work, and the company would rather ship something intelligent now than wait. The gap may close in the future from stronger embedded silicon or from small models learning to reason well. For now, off-device is what works.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;How Boston Dynamics defines System 1 and System 2 matters, so it is worth being clear. System 2 is the planner. It takes a work order from the manufacturing execution system, something like execute job 345 and put the result in inventory bin 5, and breaks it into steps simple enough to act on. System 1 is the VLA, the model that actually moves the robot: it takes a camera view plus one of those short instructions, pick up the can and put it into the bin with the green dot on it, and turns it into motor actions. It runs onboard because motion has hard latency and determinism requirements. Notice what happened between the two.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The factory&amp;#8217;s inventory bin 5 means nothing to a VLA, so System 2 marked the right bin with a green dot in the robot&amp;#8217;s view. That translation from the messy real world into terms System 1 understands is a core part of System 2&amp;#8217;s job, and the green dot is one technique from a fairly deep toolbox for steering what System 1 acts on. System 2 also supervises: it watches the work as it happens, catches System 1 misbehaving, and tracks progress through the task. That supervision is why System 2 gets called far more often than people expect: the working assumption is a query every few seconds to every ten seconds, and in some cases once or twice a second&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another reason why System 2 cannot be on the robot is that the hardware it needs is datacenter hardware. A model that size wants a rack-mounted, liquid-cooled Blackwell-class GPU drawing 1.2 to 1.4 kW per chip. A humanoid carries roughly 2 kWh of battery and draws a few hundred watts in normal motion, a kilowatt or two at peak with everything included, which is why its onboard GPU is often a 40 to 130 W Jetson Thor. Bolt a datacenter GPU onto the robot and the chip alone would out-draw the entire machine, demand cooling the robot cannot carry, and flatten the battery in minutes.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Tail-Latency Problem&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Offloading System 2 allows you to use a frontier model, but the tradeoff is in networking, chiefly reliability and jitter. Average latency is less of an issue, the problem is the tail: the occasional one-second spike that freezes a robot mid-task. Once reasoning sits on the far side of a wireless link, networking becomes the single biggest problem in robotics, and Boston Dynamics has multiple teams dedicated to nothing else, covering the radio stack on the robot, the customer&amp;#8217;s infrastructure, spectrum, and protocol design. We go into that networking portion in detail in the next section.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Whose Data Is It&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The other consideration of offloading System 2 over a wireless link is data security. Every robot is effectively exporting a video feed of someone&amp;#8217;s factory floor, and customers rightfully attach conditions: no training on their data, no mixing it with other customers&amp;#8217;, deletion on demand. Compliance is fragmented as well, with each jurisdiction bringing its own quirks in data protection law. And some customers, like nuclear plants or military operators, will never let data offsite under any guarantee.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Boston Dynamics&amp;#8217; answer is layered, following the data up the pipeline. It starts on the robot, where customers get granular control over what is shared at all. What does leave lands in Orbit, the cloud platform the robots report to, which carries SOC 2 Type 2 certification and sits under an internal data committee that governs handling. The last hop is Google: System 2 runs on Google infrastructure through the DeepMind partnership, so every image a robot sends up for reasoning passes through their side as well. That half is served through the Gemini Enterprise Agent Platform, Google Cloud&amp;#8217;s enterprise-grade agent infrastructure, already accepted by customers with very demanding data standards. The company&amp;#8217;s bet is that customers will accept offsite data once you can solidly prove it&amp;#8217;s treated correctly, the same logic that lets sensitive enterprises send queries to Anthropic under no-training guarantees.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Agility Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Agility Robotics builds for the warehouse and the factory floor. Digit, its bipedal humanoid, moves totes, tends machines, and palletizes. Its customers include GXO, Schaeffler, Amazon, Toyota Motor Manufacturing Canada, and Mercado Libre. Agility does not train base models from scratch. Instead, it takes a performant third-party base, and post-trains on top of it. Since the language and action conditioning comes from Agility&amp;#8217;s own corpus, there is no reason to train a vision model from zero. All of this fits onboard the robot on an NVIDIA Jetson-class accelerator.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yRxi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb290f3-7133-487b-85a6-b996ffdf40f3_1203x802.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="802" src="https://substackcdn.com/image/fetch/$s_!yRxi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb290f3-7133-487b-85a6-b996ffdf40f3_1203x802.png" width="1203" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: Agility Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even with inference happening onboard, Agility still offloads some functions to the cloud. Fleet orchestration, workflow assignment, site mapping, and over-the-air updates all live in Agility Arc, and teleoperation and training data uploads ride the same link. This split works because orchestration tolerates latency variability in a way that control does not. A robot can go ten seconds without receiving its next workflow chunk because it already has thirty to sixty seconds of queued work in front of it, so it makes sense for that layer to sit in the cloud.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For everything else, Agility is firmly in the GPU-on-robot camp. Network reliability and latency are real concerns, and factories are especially tough environments for wireless connections: moving metal, heavy machinery, multipath interference, and a robot that drops line of sight every time it passes a shelf, roaming between access points as it crosses the floor. It is possible to engineer around all of this and get a network reliable enough to offload compute. But that means reworking a customer&amp;#8217;s network and edge infrastructure, and Agility wants Digit to slot into existing sites with as few changes as possible.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Networking is not the only thing keeping compute on the robot. Safety pushes in the same direction, and it is an area where Agility has built an industrial-grade stack that many humanoid competitors lack. Today, Digit operates exclusively inside physically barricaded work cells, as no dynamically stable robot is yet safety-certified to work in close proximity to people. A balancing biped requires active control to stay upright and could topple if power is lost, so OSHA-regulated environments mandate physical separation between Digit and human workers. Digit&amp;#8217;s sensor suite provides 360-degree awareness through cameras and LiDAR, letting it detect people and halt or adjust its path in real time. The next generation goes a step further, adding a dedicated human detection system meant to recognize an approaching person, stop, and lower itself to the ground before contact is possible, clearing the bar for Digit to eventually work outside the barriers. Digit also carries other industrial safety features, such as a stop function that maintains power to the actuators during deceleration, so the machine slows smoothly and safely before power is cut.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XTT3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec88cfc-3729-43d9-927a-38f96706907f_1204x677.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Agility Robotics GXO" class="sizing-normal" height="677" src="https://substackcdn.com/image/fetch/$s_!XTT3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec88cfc-3729-43d9-927a-38f96706907f_1204x677.png" title="Agility Robotics GXO" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: Agility Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;All of these precautions exist with compute fully onboard. Moving safety decisions off the robot would create a more fundamental problem: the network link itself becomes a failure mode. If the robot loses connection to an offboard safety model, it cannot tell whether anything is wrong, so its only option is a blind, worst-case fail-safe. That is why complex safety decisions must always stay on the robot.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Verne Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Verne Robotics is deploying its robots primarily in warehouses and light manufacturing environments. Its robot, Nemo, is a dual-arm mobile manipulator consisting of a bimanual upper body mounted on a wheeled base, available with either 700 mm or 1,000 mm reach arms. Nemo has been deployed at logistics companies in Massachusetts and California, including AbClonal, a life-science reagents company, where it automates cold-chain workflows such as retrieving, packaging, and transporting chemical reagents and ice packs. Verne is also expanding deployments into light manufacturing, where utilization rates can be even higher.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OLzK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaef6321-f3a0-4fe9-8e7b-600f4c723a3e_1204x677.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="677" src="https://substackcdn.com/image/fetch/$s_!OLzK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaef6321-f3a0-4fe9-8e7b-600f4c723a3e_1204x677.png" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt; Source: Verne Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Notably, rather than relying solely on teleoperation, Verne uses proprietary camera-equipped data collection suits worn by employees and contractors to capture embodied data directly at customer sites. The company develops its own end-to-end policy models, likely in the few-billion-parameter range, that run entirely on Jetson-class or RTX 50-series GPUs. Because warehouse manipulation and light manufacturing tasks such as picking, packing, and assembly do not require broad open-world reasoning, Verne achieves high task success without relying on large cloud-hosted foundation models. The entire perception-to-action stack runs locally on the robot, eliminating the need for offboard inference or datacenter connectivity during execution.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WpZS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee0ae32a-5596-4378-bfcb-7d3a1aa93a53_2048x1536.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1092" src="https://substackcdn.com/image/fetch/$s_!WpZS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee0ae32a-5596-4378-bfcb-7d3a1aa93a53_2048x1536.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt; Source: Verne Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Sunday Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Sunday Robotics builds for the home. Memo is a wheeled machine whose torso rises and lowers to reach from the floor to high cabinets, with three-fingered grippers instead of humanoid hands. Sunday also trains their own foundation models. Instead of teleoperation, Sunday collects training data through its Skill Capture Glove, a wearable that matches the geometry of Memo&amp;#8217;s gripper, worn by people simply doing their chores at home. That glove data, combined with other commodity data such as videos,  pretrains one end-to-end policy, and post-training polishes it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TyP4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F240be3d8-d0b3-4719-afdc-7e8c675acb31_1576x882.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!TyP4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F240be3d8-d0b3-4719-afdc-7e8c675acb31_1576x882.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Sunday Robotics&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Over the past 12 months, Sunday has released two models, each bringing Sunday closer to a system that can perform any task in any home. Released in November 2025, ACT-1 focused on breadth of capability. It enabled Memo to complete a 15-minute, long-horizon task of clearing a dining table and loading everything into the dishwasher, while also demonstrating high-dexterity skills such as folding socks and making espresso, as well as generalizing to previously unseen homes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;ACT-2, previewed in July, turns that breadth into reliability: 99.1% zero-shot success folding laundry across nine garment types in homes the robot had never seen. The finding Sunday cares most about is that scaling pretraining is what makes post-training generalize, so much so that one demonstration can teach a new behavior that transfers. The chart shows how stark this is. In-domain means Sunday&amp;#8217;s own lab, where the post-training data came from; out-of-domain means held-out homes and objects. Without pretraining, the model hits 96% in the lab and just 14% in unseen homes, textbook overfitting. With the full pretraining corpus, the gap disappears: 100% in both.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PaLg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce927f91-7aa8-452e-9fbf-f170185030e7_1518x1032.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!PaLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce927f91-7aa8-452e-9fbf-f170185030e7_1518x1032.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Sunday Robotics&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Generality comes from pretraining scale, and pretraining scale needs a model large enough to absorb it. The policy that works in a stranger&amp;#8217;s laundry room is not a small one. So Sunday started out assuming cloud inference, and in the lab that made sense: more compute, easier debugging, and the same setup the researchers already worked with. Two days into testing ACT-2 in real homes, they reversed course. Home WiFi turned out to be a mess of dead zones, neighbor interference, badly configured mesh routers, and asymmetric links. Latency was mostly fine. Jitter was the problem. A robot trying to hold 99% success over hours can&amp;#8217;t shrug off the occasional hiccup the way a video call can. The alternatives didn&amp;#8217;t help. Starlink&amp;#8217;s satellites cross the sky in minutes, so any tree or roofline inside the dish&amp;#8217;s 100-degree view knocks the link out on every pass, and a 5G router dropped out the same way.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eZAK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb6c9e8-503c-4326-88b1-8450f202888c_603x827.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="827" src="https://substackcdn.com/image/fetch/$s_!eZAK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb6c9e8-503c-4326-88b1-8450f202888c_603x827.jpeg" width="603" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: X, Sunday Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Sunday faced a fundamental tradeoff: larger models generalize better, but relying on the cloud makes the robot dependent on network connectivity. Sunday chose to resolve that tradeoff by moving inference fully onboard. The model now runs directly on the GPU inside the robot, removing the cloud from the critical path and allowing Memo to operate independently of the network.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Weave Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Weave Robotics also builds for the home. Isaac 0, its first deployed robot, sits at a desk and folds laundry you bring to it. Isaac 1, due this fall, keeps all of that and adds a wheeled base and a telescoping torso, so it can go find the dirty clothes itself, put the folded ones away, make beds, and get toys and shoes back where they belong. Weave trains its own VLA and also runs models from Physical Intelligence. They build their own model to stay as close to the frontier as possible, but will use whatever gives the customer the better experience, so this is not a Pi wrapper and it is not a closed shop either. Both are likely in the few billion parameter range, small enough to sit on the robot, and we would expect inference to run locally.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_zQs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c4e28f9-62a4-486b-b764-1aaf6ce860ed_1204x802.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="this soft robot wants to fold laundry without pretending to be human" class="sizing-normal" height="802" src="https://substackcdn.com/image/fetch/$s_!_zQs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c4e28f9-62a4-486b-b764-1aaf6ce860ed_1204x802.png" title="this soft robot wants to fold laundry without pretending to be human" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: Weave Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even if inference runs on the robot, this does not make Weave free of the network. The WiFi link carries proprioceptive and visual data goes up as training data, and when the robot encounters difficulties a teleoperator steps in and takes control. Both degrade with the link, and a bad enough connection kills traffic in both directions. In homes, walls and other obstacles create weak spots and dead zones, and the typical router is not built for handoffs. Conditions are often good, but congestion is a factor: homes usually run on shared fiber, so neighboring houses and apartments drag on the link, and they do it at exactly the hours a home robot is most likely to be working.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To deal with these conditions, Weave does not require any changes to the home environment: no new router, or no extra access points are required. That pushes all of the adaptation onto the robot.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Climbing the Networking Wall&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Many of today&amp;#8217;s deployments keep inference on the robot, and nearly every company gives the same reason: the network. For the companies that deploy off-device, they got there by staffing multiple teams that work on nothing else. We think the networking problems are solvable, and that as they get solved, more deployments will move off the robot.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;What is the Network Wall?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Running a robot model off-device is extremely difficult (see image below). Three high-level issues make off-device policies challenging.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Embodiment.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; At the physical layer, you are asking for good network conditions from a machine that is made of metal, that moves, and whose motors and electronics emit noise on the same frequencies you&amp;#8217;re trying to transmit on. The chassis blocks and reflects its own signal, orientation changes antenna positions, and RF conditions are dynamic between transmissions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Network. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The infrastructure around WiFi and 5G was not designed with robotics in mind. It works well at home, with one or a few devices, streaming Netflix while you sit on the couch. But robotics is the opposite. You still have a Netflix-sized video feed, but you&amp;#8217;re streaming it to the datacenter, and you&amp;#8217;re moving while you do it. This is the uplink problem: all of the existing infrastructure was built with the downlink in mind.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The occasional dropped packet or latency spike is fine for Netflix, but an accident waiting to happen in robotics. Existing access points, chipsets, and algorithms simply weren&amp;#8217;t built for it: prioritization is inverted, uplink MIMO is rarely supported, no redundancy to make UDP streams reliable, no low-latency handoff between access points, uplink scheduling is an afterthought, and everything is statistical when it needs to be deterministic. Add shared fiber to the picture, and your neighbor turning on Netflix while your humanoid is working can, quite literally, kill you.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Environment. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;This is the core challenge, and it dictates where off-device can and can&amp;#8217;t run. Autonomous driving is the exemplar of where on-device is strictly required. The coverage area is enormous, the operator has almost no control over RF conditions, and the vehicle moves fast, which leaves near-zero latency budget and forces frequent access point handoffs. Add that driving is a simpler learning problem than humanoid labor, so the models fit on-device, and the conclusion follows: compute goes on-device, and the off-device stack shrinks to fleet management, a slow, low-frequency loop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The environmental prerequisite for off-device compute is a small-to-medium sized space that is structured enough for RF control. Autonomous driving lacks this; homes and factories have it. That doesn&amp;#8217;t make it easy &amp;#8211; the environmental problem is still huge. Walls, metal, and other electronics all affect RF conditions. Turn on the dishwasher at home and the RF environment changes. Start heavy machinery in a factory and you may create a dead zone beside it. Access point placement matters a lot, and it has to anticipate how the environment will change over time. Moving between access points means handoffs, and a typical router goes silent for anywhere from 100 ms to several seconds during one. That can happen mid-manipulation, killing a policy or lagging a teleoperator. Recovery can take several more seconds, and by then the humanoid may be on the floor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Placement of signal blockers and reflectors in the home is unpredictable; every house is a different RF puzzle. A factory has more structure but far more working against you: dense metal racking that reflects and blocks signal, motors and machines spraying interference across the spectrum, inventory and equipment that move daily so the dead and weak zones move with them, and dozens of robots contending for the same uplink airtime.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VJdy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dec7d04-90d5-4e6e-ba0a-5c0de9e68d0d_1290x1676.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1676" src="https://substackcdn.com/image/fetch/$s_!VJdy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dec7d04-90d5-4e6e-ba0a-5c0de9e68d0d_1290x1676.png" width="1290" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: X&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;How do we climb it?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Preparing a model for off-device inference is a nuanced problem. It depends on whether the model is hierarchical or monolithic, how much compute it requires, the tasks it has to perform, its action space, and the embodiment it drives. Some of what breaks today is fixable with ordinary engineering. The transport layer, for one, is often a modified WebRTC: UDP with no retransmission, reliability through repetition over multiple antennas, application-layer awareness of packet importance, and freshness above all. Teams already build this and the know-how is a commodity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But the network wall is not the transport layer or a series of ordinary engineering challenges. The network wall is based on the issues with existing hardware, and we believe there are four problems that are hard and high-leverage that together can make off-device models reliable beyond the existing infrastructure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Start by fixing the environment, not the robot. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The highest-leverage fix is the access point. Access points in robotics need to do the opposite of what consumer and enterprise access points do for downlink-heavy stationary clients. This includes:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Robot-aware uplink scheduling. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Robot uplink is scheduled ahead of household or plant traffic rather than queued behind it, which is admission control that WiFi does not natively have and the access point must impose. Each robot gets a reserved slot at a fixed cadence instead of a chance at the channel, and the schedule accounts for the other robots competing for the same airtime. The model determines the traffic, the traffic determines the schedule, so the scheduler has to know what the robots are running. When a robot is not phoning home, the same scheduler still has to manage everything else on the network well.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Location-aware beamforming.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Robots move. The access point has to know where each robot is and where it is going, then steer, schedule, and hand off ahead of that movement rather than reacting to it or assuming a client that stays where it is associated.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Centralized timing.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; One timing authority per site, distributed over the air to every robot with a guarantee, so observations across the fleet share a clock. Off-the-shelf access points cannot provide this.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Multi-link operation.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Running several links at once, across bands and across WiFi and 5G, with the same observation duplicated or split across them, improves reliability and cuts latency in a way no single link can.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Clean spectrum.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 6 GHz where available, since it is uncongested and its channel widths give the throughput margin that makes retransmission-free delivery realistic.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Fast multi-access point handoffs.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Any real building needs more than one radio, and the roam between them has to be completed inside the observation cadence. A 200 ms handoff is multiple dropped frames.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Placement is just as important as the hardware. It needs to be measured and optimized, not guessed: RF survey along the robot&amp;#8217;s task paths, dead-zone mapping, antenna orientation chosen for the robot&amp;#8217;s typical height and heading.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;WiFi will dominate the home and most of the factory floor because it is fast and can carry the load. It will not cover everything. 5G, private or public, fills outdoor paths, larger sites, and locations where WiFi congestion cannot be controlled. The two should coexist under one scheduler, with the robot able to fail over fast between them. Where a site depends on a carrier, the last step is to work with the network provider on uplink prioritization and dedicated fiber to the GPU cluster, so that the scheduled path does not end at the access point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Shrink the load.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Networks are bandwidth-limited. The other half of climbing the wall is reducing what has to cross it. Image sensors are nearly all of a robot&amp;#8217;s uplink, so this is a perception problem before it is a networking problem.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Maximize the uplink. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Robotics inverts the traffic pattern every wireless chipset was designed for. The mainboard has to be built for this. 4x4 uplink MIMO rather than the one or two streams consumer modules ship, chipsets chosen for uplink throughput rather than downlink, an operating system built for wireless communication, and a radio that participates in the access point&amp;#8217;s schedule instead of contending with it: it knows its slot, fills it at cadence, and stays quiet outside it. Holding that beat is what makes scheduling deterministic, and it only works if the mainboard and the access point are co-designed. Neither side can impose order on the link alone.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Everything on one clock.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Datacenter GPUs beat on-device compute on cost as batch efficiency grows, and batching requires that observations from many robots arrive time-aligned in order to hit a reasonable latency budget. Everything has to run on the same clock. Sub-millisecond synchronization is achievable with good crystal oscillators on the mainboard and wireless time sync across the fleet, so every robot on a site captures, encodes, and transmits on the same beat. GPU orchestration is then built around that beat: the scheduler knows when the next frame of observations lands, reserves compute for it, and runs the moment the frame is complete. Late observations go to the next batch, not to a queue, and the latency budget is spent on inference rather than waiting. Put this together with a mainboard that holds the schedule, access points that enforce it, and a perception stack that shrinks the load, and you have a system that batches at scale without inflating latency, which is the whole economic case for running models off-device.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Who will climb the wall?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/a-brain-too-big-to-carry-on-device"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/a-brain-too-big-to-carry-on-device"/>
    <summary type="html">&lt;h1&gt;&lt;span&gt;Where should the brain of the robot go?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;So far, AI has mostly lived behind a screen. Chatbots answered questions. Then agents started driving software and finishing multi-step tasks on their own. The next step is AI that acts in the physical world, and the biggest piece of that is robots. It&amp;#8217;s early. Nobody has settled the hardware, the models, or the economics.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Embodiment Problem&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With LLMs, the hardware bends to the model. Pour in as much data and compute as possible at training, then figure out how to serve the model that comes out. The model comes first; the hardware second. Robotics inverts this due to two constraints.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first is time. A robot runs real-time control loops and can&amp;#8217;t miss a deadline. An LLM can be slow without affecting the final output. If a robot is slow, the world changes around it, and then the action is obsolete by the time it needs to enact it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The second is cost. When you use an LLM, it lives behind a screen provided by the user. In robotics, the manufacturer has to build both the compute and the robot itself and pay for it upfront, on every unit, and the capital expenditure can be immense. At scale, this upfront cost can be billions, even in the trillions if we do eventually get to a billion robots.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Because of these two constraints, in robotics the on-robot hardware is fixed, and the model is designed to fit what we can reasonably manufacture. Model capabilities at the frontier will be capped by what we can run on affordable, real-time hardware, and intelligence becomes something you ration against latency and unit economics.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Robot models are still small&amp;#8230;&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;This is why frontier robot models remain far smaller than frontier LLMs, which have already pushed into the trillions of parameters. Today&amp;#8217;s generalist robot models are in the billions of parameters: Physical Intelligence&amp;#8217;s &amp;#960;0 class at ~3 billion, &amp;#960;0.7 at 5 billion, ByteDance&amp;#8217;s GR-3 at 4 billion, Generalist&amp;#8217;s models around 10 billion, and NVIDIA&amp;#8217;s DreamZero at 14 billion. However, these parameter counts carry less meaning than their LLM equivalents. LLM labs pick model size by optimizing quality against a training budget and inference cost; robotics labs pick size by what their data can support and what fits on a Jetson or an H100 within a latency budget. Robot model sizes tell you where the constraints sit, not where sizes will settle.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GcBX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff71549d3-3441-4f43-bc7a-0f750caf6a58_2048x1110.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!GcBX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff71549d3-3441-4f43-bc7a-0f750caf6a58_2048x1110.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In LLMs, scaling laws have held, scaling has consistently broadened the range of problems a single model can solve.  Early results from companies such as &lt;/span&gt;&lt;a href="https://generalistai.com/blog/gen-1"&gt;&lt;span&gt;Generalist&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.dyna.co/dyna-2"&gt;&lt;span&gt;Dyna&lt;/span&gt;&lt;/a&gt;&lt;span&gt; suggest robotics scales the same way. The question isn&amp;#8217;t whether scaling works, it&amp;#8217;s whether the inputs can keep up. Data is the first constraint, there is no internet-scale corpus of robot experience, and real-world interaction data is slow and expensive to generate hence the rise of embodied human data collection and world models. The network is the second constraint. Frontier models already outgrow the robot (&amp;#960;0.7 runs on an off-robot H100; DreamZero needs two GB200s), and once the model lives in the datacenter, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;latency and jitter pose problems&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s unclear where robot model sizes will land. The trend line points up, but efficiency gains keep pulling in the other direction, and the field has yet to converge. NVIDIA&amp;#8217;s DreamZero, a 14-billion-parameter &amp;#8220;world action model&amp;#8221; built on a video-diffusion backbone, needs two GB200 GPUs off-robot just to run in real time. But compute requirements change rapidly: months after DreamZero, NVIDIA&amp;#8217;s RoboTTT made the opposite bet, using a 3-billion-parameter policy that continually updates its own weights with test time training instead of generating videos of the future. The result is a model with minutes of usable context that is small enough to run onboard.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Wherever model sizes land, our view is that a cascade of approaches is inevitable. Some robots will run cognition fully onboard, while others will offload some part of it to GPUs sitting in a datacenter. However, for generalist robots that require real intelligence, we think off-robot compute has many advantages, from escaping the robot&amp;#8217;s compute and power budget to pooling inference across a fleet. It comes with network challenges, which we cover in later sections, but it is an increasingly viable option.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Primer on Robot Models&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Before we explore the idea of off-robot compute, here&amp;#8217;s a quick primer on how robot models work, and which ones we&amp;#8217;re talking about.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Classical robot control, kinematics plus planned trajectories plus feedback controllers, has run factories for decades on small embedded chips. Plenty of narrow learned policies fit onboard too. Neither is what this piece is about. We care about generalist robots: ones that can follow open-ended instructions, handle scenes they&amp;#8217;ve never seen, and do many different jobs.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Layers of a robot model&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At the top is the planning layer. It interprets the instruction and the scene, decides what the robot should do next, and may produce a subtask, destination, grasp pose or footstep plan. Below it is the action or motion layer. It turns those outputs into short action sequences, body poses, or velocities. At the bottom are the servo and safety loops. They estimate the robot&amp;#8217;s state, react to contact and slip, maintain balance and ultimately command the actuators.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!10PZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90990b49-f892-4dfb-a4a2-1021c2d4a584_2074x1386.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="973" src="https://substackcdn.com/image/fetch/$s_!10PZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90990b49-f892-4dfb-a4a2-1021c2d4a584_2074x1386.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Frequency determines which layers need to run on the robot. The action and servo  layers runs at hundreds of Hz: a 100 Hz loop must produce its next output every 10 milliseconds. A typical wireless round trip costs 10 to 50 milliseconds on its own, and a well-engineered link takes less than 10 milliseconds, so for these loops the network does not merely add delay, it consumes almost the entire budget before the model has computed anything. This is why anything above roughly 100 Hz can never leave the robot.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below roughly 20 Hz, where the planning layer lives, the picture changes. A planner running at 5 Hz gets 200 milliseconds per decision, so even a 10 to 50 millisecond round trip fits comfortably, with margin to spare. That is enough headroom to move the planning layer off the robot entirely, and a well-tuned network stack could push the offloadable boundary above 20 Hz. The bigger problem, though, is jitter rather than latency. A fixed delay can be planned around: the system knows roughly how far the robot and everything around it will move in that window and can plan a little ahead. Jitter is harder because commands arrive at irregular intervals, so the robot never knows exactly when the next update will land. You can buffer to the worst case, which turns variable delay into predictable delay, but then every action pays the worst-case penalty. Getting jitter under control is what actually unlocks offloading the planning layer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The planning layer is also the layer with the heaviest compute requirements, and those requirements climb as generalization increases. Open-ended tasks need actual reasoning, and reasoning models are big. That is why some companies have started looking at datacenter compute instead. Jetson Thor is the best robot compute you can buy today, and it still delivers only about 1/10th the FLOPs of a GB200 and roughly 1/30th of its memory bandwidth.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U9kS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe499b86b-0b8a-4d8c-924c-d866b008cf34_2048x899.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="639" src="https://substackcdn.com/image/fetch/$s_!U9kS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe499b86b-0b8a-4d8c-924c-d866b008cf34_2048x899.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EjjN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1b186dd-a47f-45b5-be93-7663e20c9cb4_1686x1072.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!EjjN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1b186dd-a47f-45b5-be93-7663e20c9cb4_1686x1072.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;The Supply Chain Reality&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The supply chain is also geared towards datacenter silicon, not robot silicon, and ramping robot silicon will not be easy, especially with front-end capacity and DRAM already tight. Nvidia&amp;#8217;s own output makes the point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia&amp;#8217;s accelerator output is almost entirely datacenter silicon: a long Hopper ramp through 2023 and 2024 handing off to Blackwell, which scales sharply across 2025 and 2026 to dominate the mix. Jetson, the line used in robots, is the thin red sliver along the bottom, barely visible even in 2026. This is because the robotics market is nascent, real volume is years out, and there is next to nothing to build for.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OV0v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccdc33b2-3d63-467f-9f97-ad0ef2864b54_1362x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!OV0v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccdc33b2-3d63-467f-9f97-ad0ef2864b54_1362x938.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;, note Rubin withheld from chart, ramp provided to clients&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Margins tell a similar story. Demand isn&amp;#8217;t there yet, but when it arrives, pricing should go up and Jetson margins will inflect. But for now, a Blackwell datacenter GPU earns far higher gross margins than a Jetson module, on the order of mid-to-high 70s percent versus mid-60s, so NVIDIA has every incentive to point its scarce leading-edge wafer capacity at the datacenter and little reason to ramp edge silicon while the robotics market stays small.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Q1J2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd09b45ac-b7d1-4128-afef-b926cbce8a14_1212x850.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="850" src="https://substackcdn.com/image/fetch/$s_!Q1J2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd09b45ac-b7d1-4128-afef-b926cbce8a14_1212x850.png" width="1212" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Worse, robot silicon is converging onto the exact nodes the datacenter is fighting over. Nvidia&amp;#8217;s Jetson line used to be insulated: the previous generation, Orin, ran on Samsung&amp;#8217;s SF8 process. The current generation, Thor, has closed that gap onto TSMC N4, and as robots run on more capable models their silicon has to stay on the leading edge: the generation after Thor likely moves to N3 alongside Rubin, then N2 alongside Feynman, exactly the nodes the entire AI-accelerator roadmap is fighting over. So a low-volume, lower-margin Jetson will always be competing for advanced-node wafers from the back of the queue.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-XyR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d1ddaa-68aa-479c-86f9-a3354061d9fc_1362x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!-XyR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79d1ddaa-68aa-479c-86f9-a3354061d9fc_1362x990.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kuNj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e474a1-a84a-4b9e-a557-5cec7022bdb5_1364x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!kuNj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e474a1-a84a-4b9e-a557-5cec7022bdb5_1364x990.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;But the wafer demand from robots is not where the strain is. A million Jetson-class chips in 2030, each around 400mm&amp;#178;, is only about ten thousand wafers for the year, a rounding error next to the datacenter GPU ramp, because Thor&amp;#8217;s die is barely half a reticle-sized chip, and there simply aren&amp;#8217;t many robots yet. Supply only tightens once robots need tens of millions of chips a year, well beyond 2030. So the real question is not whether robots can get wafers. It is silicon efficiency: for a given fleet of robots, which approach consumes less leading-edge silicon? Putting a chip in every robot, or serving their cognition from shared datacenter GPUs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Gvb2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab6ebf10-8bae-4a3b-bcda-c2bec3bb0afb_1368x992.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="992" src="https://substackcdn.com/image/fetch/$s_!Gvb2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab6ebf10-8bae-4a3b-bcda-c2bec3bb0afb_1368x992.png" width="1368" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If you look at silicon efficiency as wafers per robot, the onboard chip and the shared datacenter GPU cross over at around 7 robots per GPU. Beyond that, serving cognition from a shared GPU takes less silicon per robot than putting a chip in every machine. And that&amp;#8217;s what really matters here, because when fab supply is scarce, the approach that uses less silicon per robot is the one that scales.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kz1z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d0fc12e-bbab-482f-bba6-a3acc3b350b0_1356x982.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="982" src="https://substackcdn.com/image/fetch/$s_!Kz1z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d0fc12e-bbab-482f-bba6-a3acc3b350b0_1356x982.png" width="1356" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Another major bottleneck is memory. Each Jetson generation has carried more DRAM than the last: Jetson Xavier used 32GB, AGX Orin 64GB, and Jetson Thor now uses 128GB of LPDDR5X, with future generations set to keep climbing. Although total DRAM wafer capacity continues to grow, most of the incremental capacity is being absorbed by HBM for AI accelerators. That leaves the commodity and LPDDR supply that robot brains depend on competing for a shrinking pool of non-HBM wafers. Similarly, when DRAM is the scarce resource, the approach that uses less DRAM per robot is the one that scales.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BzqH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c683d9f-cb07-4c4f-9601-4c9f29605679_1270x896.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!BzqH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c683d9f-cb07-4c4f-9601-4c9f29605679_1270x896.png" width="1270" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/memory-model/"&gt;SemiAnalysis Memory Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Memory tells a similar story, the onboard chip and the shared datacenter GPU cross over at around 5 robots per GPU. Beyond that, serving cognition from a shared GPU takes less DRAM per robot than putting a chip in every machine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pIul!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb8c1a5-6631-4253-9529-e2e4e03f4869_1168x854.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="854" src="https://substackcdn.com/image/fetch/$s_!pIul!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb8c1a5-6631-4253-9529-e2e4e03f4869_1168x854.png" width="1168" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;The TCO Verdict: B300 vs. RTX 6000 PRO vs. Jetson Thor&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Wafers and DRAM tell us which approach can scale, but they say nothing about which one is cheaper to run. So the next question is cost. If you had to serve the same robot fleet, what would it take with B300 servers in a datacenter, RTX 6000 Pro servers in a datacenter, or a Jetson Thor in every robot?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We use &lt;/span&gt;&lt;a href="https://research.nvidia.com/labs/gear/robottt/"&gt;&lt;span&gt;NVIDIA&amp;#8217;s RoboTTT&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It has no public code or weights, so we benchmark a timing-representative reconstruction: real GR00T N1.7 checkpoints with test-time-training (TTT) blocks inserted into the action head, built to match the paper&amp;#8217;s compute and memory profile rather than its accuracy.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three details for faithfulness. GR00T&amp;#8217;s DiT interleaves cross-attention and self-attention blocks by index, so a naive fixed stride would place every TTT module on the same block type; we insert 16 modules as (even, odd) pairs, 8 following cross-attention and 8 following self-attention across the 32 blocks. We prepend 16 learnable register tokens, giving the paper&amp;#8217;s 57-token sequence (16 registers + 1 state + 40 actions) that every attention and TTT module then runs on. Each block takes one inner gradient step per denoising pass, and each robot carries 151 MB of fast-weight state, gathered before every batched call and scattered back after, which is the multi-robot serving cost that a shared-weight VLA does not pay.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RlZE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f575dd-3c20-4441-b5c2-155fea93a71b_1478x470.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="463" src="https://substackcdn.com/image/fetch/$s_!RlZE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f575dd-3c20-4441-b5c2-155fea93a71b_1478x470.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Thus, the TTT path costs full FLOPs, memory traffic, and state swapping while leaving the emitted actions untouched. Untrained fast weights diverge and produce garbage, and we are measuring serving cost instead of task success. These numbers say how expensive RoboTTT-shaped inference is to serve.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On that basis, one B300 sustains 12 robots within the 500 ms chunk deadline, against 4 on an RTX PRO 6000.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9vnb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ae251d0-0772-47cf-ae56-cc31e49590e6_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="863" src="https://substackcdn.com/image/fetch/$s_!9vnb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ae251d0-0772-47cf-ae56-cc31e49590e6_2048x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yqRr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9726be9f-039f-4064-a2f4-2d5e3bc050e2_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="863" src="https://substackcdn.com/image/fetch/$s_!yqRr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9726be9f-039f-4064-a2f4-2d5e3bc050e2_2048x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With this, we build up three scenarios. For the offload scenarios, we assume one Blackwell-class B300 server which can serve up to 12 robots per GPU, as well as an RTX 6000 Pro Server Edition which can serve up to 4 robots per GPU. For the on-device scenario, each robot carries its own Jetson Thor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In all three scenarios, common parts across both scenarios (i.e. mechanical components, robot shells) are not included in the BOM cost calculation.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;B300 offload scenario&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The first offload scenario is one B300 server, plus 96 wireless boards to connect the robot to the GPU server wirelessly (one per robot, twelve robots per GPU at the benchmarked p99 criterion). That brings all-in capex to ~$554K, which, including operating costs like colocation and power, leads us to an aggregate all-in TCO of $18.63/hr in the offload scenario. This assumes owner/operator economics, not a cloud rental quote.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1KFK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F960e58c6-3810-4b4f-9cf9-b778372a5241_1362x971.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!1KFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F960e58c6-3810-4b4f-9cf9-b778372a5241_1362x971.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;RTX 6000 Pro offload scenario&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The second offload scenario is to an RTX 6000 Pro Server Edition. For an apples-to-apples comparison, 96 robots require three 8-GPU servers, since the RTX 6000 Pro can serve four robots per GPU at the benchmarked p99 criterion. Together, these cost $436K in all-in capex, which accumulates to an all-in aggregate TCO of $15.61/hr.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yMBU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd50587e5-5492-47d7-b66e-751825475f20_1364x980.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="980" src="https://substackcdn.com/image/fetch/$s_!yMBU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd50587e5-5492-47d7-b66e-751825475f20_1364x980.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Jetson Thor on-device&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The on-robot scenario is 96 Jetson Thor modules at $3,500 per unit, each with its own baseboard, storage, cooling, incremental battery, and onboard radio connectivity, landing at ~$394K. Accounting for the above, along with power costs for the Thor modules, leads us to a TCO of $14.97/hr for the 96-chip deployment.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We assume a four-year useful life for an on-device Jetson Thor, shorter than a datacenter GPU, because of the environment it lives in. A GPU in a rack never moves. A Jetson on a robot rides on a chassis that vibrates constantly, takes the occasional hard knock, and, depending on the job, gets dropped, splashed, or run through unstructured work all day. That mechanical stress wears hardware out faster. Some operators we spoke to put the figure below four years, but we think four is a fair assumption.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Arguably, the cost of capital (WACC) of an on-device deployment could also be higher, especially for equity-funded emerging robotics companies, as compared to highly debt-funded neoclouds or well-capitalized enterprises running their own servers. However, since we have already accounted for a shorter economic useful life for on-device compute as our base case, we have conservatively decided to keep a constant WACC across all three scenarios.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CoxY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50389167-342b-4074-a0db-f8c5b60e5875_1274x904.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="904" src="https://substackcdn.com/image/fetch/$s_!CoxY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50389167-342b-4074-a0db-f8c5b60e5875_1274x904.png" width="1274" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;TCO Comparison&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Before accounting for utilization, the three cases present differing TCOs per FP4 dense FLOPs: $0.15/hr/PFLOP for the B300, $0.16/hr/PFLOP for the Jetson Thor, and $0.39/hr/PFLOP for the RTX 6000 Pro.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The immediate conclusion that this might provide us is that the RTX 6000 Pro is not particularly performant on a FLOPs-per-TCO or a FLOPs-per-capex-dollar basis - we focus on the B300 offload scenario and the Jetson Thor on-device scenario from here.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oXwr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3ab5d5-ee1c-4a17-a40d-211bb8f80fee_1876x542.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="421" src="https://substackcdn.com/image/fetch/$s_!oXwr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e3ab5d5-ee1c-4a17-a40d-211bb8f80fee_1876x542.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Utilization is the swing factor in TCO. A robot and the GPU behind it are almost entirely fixed capital, so the bill is the same whether the asset runs or sits idle, and cost per productive hour scales inversely with how much it works.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On-robot chip utilization today is highly deployment-dependent. In the home, one company that has deployed robots in volume told us its robots run just 1-2 hours a day, only 4-8% of the clock, because chores are bursty and current models still cap what can run unsupervised. That figure is trending up, toward 4-5 hours (17-21%), as capability improves and new features drive engagement. But the home has a hard ceiling: eventually the chores run out. Industrial demand is continuous and should clear a higher bar. Figure&amp;#8217;s BMW deployment is an anchor we have: roughly 1,250 operational hours over about 11 months of weekday shifts, working around 10 hours a day at 40% utilization. As model capability improves, industrial utilization should climb well beyond that.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YfFp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c53ff57-ccda-4d61-b432-69664d85bdea_1864x781.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="610" src="https://substackcdn.com/image/fetch/$s_!YfFp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c53ff57-ccda-4d61-b432-69664d85bdea_1864x781.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The shared GPU server often runs the other way, as its compute resources are pooled across the fleet and busy around the clock. Given that the scenario above wherein one B300 GPU can serve 12 robots within the p99 latency budget, we model this as a ~90% utilization of the GPU server.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For on-robot chip utilization, we model ~40% utilization as our base case, which is factored into the table below. Net of utilization, the offload scenario for the B300 reaches a TCO per FP4 dense FLOPs of $0.17/hr/PFLOP, while the on-robot scenario for the Jetson Thor reaches a TCO per FP4 dense FLOPs of $0.37/hr/PFLOP. Here, the offload scenario reaches a mere ~46% of the on-robot scenario.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1whk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac1e94-8d4c-4802-a23e-396c3a215b68_1906x975.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="745" src="https://substackcdn.com/image/fetch/$s_!1whk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac1e94-8d4c-4802-a23e-396c3a215b68_1906x975.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Towards the top right corner of the sensitivity analysis below, high GPU server utilization and low chip on-device utilization swings the TCO per PFLOP massively in favor of the offloaded scenario. The offload scenario for current industrial deployments reaches ~46% the TCO per PFLOP of the on-robot scenario, reaching an even lower ~12% for home deployments.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is only in several cases towards the bottom right corner wherein chronically low B300 cloud server utilization and chronically high on-device utilization swings the TCO per PFLOP in favor of on-device inference.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9vfI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e03df46-1aa1-4d48-8f56-c3f3889112fc_1785x929.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="758" src="https://substackcdn.com/image/fetch/$s_!9vfI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e03df46-1aa1-4d48-8f56-c3f3889112fc_1785x929.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The question arises naturally: How many robots have to be batched in order for such TCO per PFLOP savings to come through in favor of the offload scenario? Varying our batching assumptions below, for a standard industrial deployment, we see that anywhere from 5 robots per B300 GPU and upwards, the TCO per PFLOP shifts in favor of the offloaded scenario.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the whole, we find that offloading inference to a B300 server in the cloud is a compelling case, except for cases with very small robot deployments with one on-site server sitting mostly idle - though even then, one could make the argument for renting compute as needed rather than owning an entire server to serve a few robots.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HbL_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4749cd1b-2254-4624-817e-49dc59651bdd_1224x939.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="939" src="https://substackcdn.com/image/fetch/$s_!HbL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4749cd1b-2254-4624-817e-49dc59651bdd_1224x939.png" width="1224" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt; SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;The Deployment Battleground&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;On paper, off-robot compute wins on TCO. In practice, nobody is at mass production yet, so TCO is not what decides the question today. The companies actually shipping have split into two camps, those that keep compute on the robot and those that keep parts of it off, and what puts them in one or the other is how much generality the robot needs, how bad the wireless is, and how much of the customer&amp;#8217;s site they are allowed to change. TCO will matter once fleets get larger. For now, here is where each company stands today, and why.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Boston Dynamics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Boston Dynamics builds three robots: Spot walks inspection routes, Stretch unloads trailers and containers, and Atlas, the humanoid, entered production this year. Production here means development units built in volume for large-scale data collection and application pilots, not mass production. For Boston Dynamics, what matters most is capability, meaning whether the robot can solve a real problem for a customer and generate economic value and savings.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Generalist vs Specialist&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Most of those problems demand generality. A car plant is full of tasks that resist automation, from sequencing, kitting, and moving parts to line side, to assembly work like bolting a wheel onto the car. A single vehicle has tens of thousands of parts, one line can run 5 to 10 models at once in a dozen or more colors, and the mix turns over every model year. Commissioning a purpose-built solution for each step is neither fast nor economical at that scale. That variability is what caps traditional automation, and why factory work needs a generalist robot rather than thousands of specialist machines.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!y550!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f43bcb-0d89-400c-a872-b1c5c8680135_1204x606.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="606" src="https://substackcdn.com/image/fetch/$s_!y550!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f43bcb-0d89-400c-a872-b1c5c8680135_1204x606.png" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Boston Dynamics. Hyundai Plant&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The kind of general work Boston Dynamics is targeting, a robot dropped into a car plant or warehouse, needs a frontier model, for the simple reason that generality is intelligence. Multimodality compounds the problem: because these machines operate in the physical world, System 2 has to consume images and reason over them, and models that do that well are inherently large. Boston Dynamics would not give an exact parameter count, pointing instead to Gemini Robotics ER, DeepMind&amp;#8217;s embodied reasoning model built on Gemini 3.5 Flash, as the right mental picture. Google publishes no parameter counts, but we estimate that System 2 could be somewhere in the hundreds of billions of parameters if not 1T.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;A Brain Too Big to Carry&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A model that size will not fit on a robot, which is why Boston Dynamics splits the stack across the network. System 1, the visuomotor policy that drives the machine, runs onboard, which on Atlas means an NVIDIA Jetson Thor. System 2, the reasoning layer, runs off the robot, reached through Orbit, the company&amp;#8217;s fleet software, and served on Google TPUs today through the DeepMind partnership. Of the companies we spoke to, Boston Dynamics is one of the few that deliberately puts high-level reasoning on the far side of a wireless link.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a perfect world there would be no split at all. Ideally System 2 would sit on the robot with no wireless link in the loop, but no model small enough to carry can yet reason well enough for factory work, and the company would rather ship something intelligent now than wait. The gap may close in the future from stronger embedded silicon or from small models learning to reason well. For now, off-device is what works.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;How Boston Dynamics defines System 1 and System 2 matters, so it is worth being clear. System 2 is the planner. It takes a work order from the manufacturing execution system, something like execute job 345 and put the result in inventory bin 5, and breaks it into steps simple enough to act on. System 1 is the VLA, the model that actually moves the robot: it takes a camera view plus one of those short instructions, pick up the can and put it into the bin with the green dot on it, and turns it into motor actions. It runs onboard because motion has hard latency and determinism requirements. Notice what happened between the two.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The factory&amp;#8217;s inventory bin 5 means nothing to a VLA, so System 2 marked the right bin with a green dot in the robot&amp;#8217;s view. That translation from the messy real world into terms System 1 understands is a core part of System 2&amp;#8217;s job, and the green dot is one technique from a fairly deep toolbox for steering what System 1 acts on. System 2 also supervises: it watches the work as it happens, catches System 1 misbehaving, and tracks progress through the task. That supervision is why System 2 gets called far more often than people expect: the working assumption is a query every few seconds to every ten seconds, and in some cases once or twice a second&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another reason why System 2 cannot be on the robot is that the hardware it needs is datacenter hardware. A model that size wants a rack-mounted, liquid-cooled Blackwell-class GPU drawing 1.2 to 1.4 kW per chip. A humanoid carries roughly 2 kWh of battery and draws a few hundred watts in normal motion, a kilowatt or two at peak with everything included, which is why its onboard GPU is often a 40 to 130 W Jetson Thor. Bolt a datacenter GPU onto the robot and the chip alone would out-draw the entire machine, demand cooling the robot cannot carry, and flatten the battery in minutes.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Tail-Latency Problem&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Offloading System 2 allows you to use a frontier model, but the tradeoff is in networking, chiefly reliability and jitter. Average latency is less of an issue, the problem is the tail: the occasional one-second spike that freezes a robot mid-task. Once reasoning sits on the far side of a wireless link, networking becomes the single biggest problem in robotics, and Boston Dynamics has multiple teams dedicated to nothing else, covering the radio stack on the robot, the customer&amp;#8217;s infrastructure, spectrum, and protocol design. We go into that networking portion in detail in the next section.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Whose Data Is It&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The other consideration of offloading System 2 over a wireless link is data security. Every robot is effectively exporting a video feed of someone&amp;#8217;s factory floor, and customers rightfully attach conditions: no training on their data, no mixing it with other customers&amp;#8217;, deletion on demand. Compliance is fragmented as well, with each jurisdiction bringing its own quirks in data protection law. And some customers, like nuclear plants or military operators, will never let data offsite under any guarantee.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Boston Dynamics&amp;#8217; answer is layered, following the data up the pipeline. It starts on the robot, where customers get granular control over what is shared at all. What does leave lands in Orbit, the cloud platform the robots report to, which carries SOC 2 Type 2 certification and sits under an internal data committee that governs handling. The last hop is Google: System 2 runs on Google infrastructure through the DeepMind partnership, so every image a robot sends up for reasoning passes through their side as well. That half is served through the Gemini Enterprise Agent Platform, Google Cloud&amp;#8217;s enterprise-grade agent infrastructure, already accepted by customers with very demanding data standards. The company&amp;#8217;s bet is that customers will accept offsite data once you can solidly prove it&amp;#8217;s treated correctly, the same logic that lets sensitive enterprises send queries to Anthropic under no-training guarantees.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Agility Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Agility Robotics builds for the warehouse and the factory floor. Digit, its bipedal humanoid, moves totes, tends machines, and palletizes. Its customers include GXO, Schaeffler, Amazon, Toyota Motor Manufacturing Canada, and Mercado Libre. Agility does not train base models from scratch. Instead, it takes a performant third-party base, and post-trains on top of it. Since the language and action conditioning comes from Agility&amp;#8217;s own corpus, there is no reason to train a vision model from zero. All of this fits onboard the robot on an NVIDIA Jetson-class accelerator.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yRxi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb290f3-7133-487b-85a6-b996ffdf40f3_1203x802.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="802" src="https://substackcdn.com/image/fetch/$s_!yRxi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb290f3-7133-487b-85a6-b996ffdf40f3_1203x802.png" width="1203" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: Agility Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even with inference happening onboard, Agility still offloads some functions to the cloud. Fleet orchestration, workflow assignment, site mapping, and over-the-air updates all live in Agility Arc, and teleoperation and training data uploads ride the same link. This split works because orchestration tolerates latency variability in a way that control does not. A robot can go ten seconds without receiving its next workflow chunk because it already has thirty to sixty seconds of queued work in front of it, so it makes sense for that layer to sit in the cloud.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For everything else, Agility is firmly in the GPU-on-robot camp. Network reliability and latency are real concerns, and factories are especially tough environments for wireless connections: moving metal, heavy machinery, multipath interference, and a robot that drops line of sight every time it passes a shelf, roaming between access points as it crosses the floor. It is possible to engineer around all of this and get a network reliable enough to offload compute. But that means reworking a customer&amp;#8217;s network and edge infrastructure, and Agility wants Digit to slot into existing sites with as few changes as possible.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Networking is not the only thing keeping compute on the robot. Safety pushes in the same direction, and it is an area where Agility has built an industrial-grade stack that many humanoid competitors lack. Today, Digit operates exclusively inside physically barricaded work cells, as no dynamically stable robot is yet safety-certified to work in close proximity to people. A balancing biped requires active control to stay upright and could topple if power is lost, so OSHA-regulated environments mandate physical separation between Digit and human workers. Digit&amp;#8217;s sensor suite provides 360-degree awareness through cameras and LiDAR, letting it detect people and halt or adjust its path in real time. The next generation goes a step further, adding a dedicated human detection system meant to recognize an approaching person, stop, and lower itself to the ground before contact is possible, clearing the bar for Digit to eventually work outside the barriers. Digit also carries other industrial safety features, such as a stop function that maintains power to the actuators during deceleration, so the machine slows smoothly and safely before power is cut.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XTT3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec88cfc-3729-43d9-927a-38f96706907f_1204x677.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Agility Robotics GXO" class="sizing-normal" height="677" src="https://substackcdn.com/image/fetch/$s_!XTT3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ec88cfc-3729-43d9-927a-38f96706907f_1204x677.png" title="Agility Robotics GXO" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: Agility Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;All of these precautions exist with compute fully onboard. Moving safety decisions off the robot would create a more fundamental problem: the network link itself becomes a failure mode. If the robot loses connection to an offboard safety model, it cannot tell whether anything is wrong, so its only option is a blind, worst-case fail-safe. That is why complex safety decisions must always stay on the robot.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Verne Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Verne Robotics is deploying its robots primarily in warehouses and light manufacturing environments. Its robot, Nemo, is a dual-arm mobile manipulator consisting of a bimanual upper body mounted on a wheeled base, available with either 700 mm or 1,000 mm reach arms. Nemo has been deployed at logistics companies in Massachusetts and California, including AbClonal, a life-science reagents company, where it automates cold-chain workflows such as retrieving, packaging, and transporting chemical reagents and ice packs. Verne is also expanding deployments into light manufacturing, where utilization rates can be even higher.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OLzK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaef6321-f3a0-4fe9-8e7b-600f4c723a3e_1204x677.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="677" src="https://substackcdn.com/image/fetch/$s_!OLzK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaef6321-f3a0-4fe9-8e7b-600f4c723a3e_1204x677.png" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt; Source: Verne Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Notably, rather than relying solely on teleoperation, Verne uses proprietary camera-equipped data collection suits worn by employees and contractors to capture embodied data directly at customer sites. The company develops its own end-to-end policy models, likely in the few-billion-parameter range, that run entirely on Jetson-class or RTX 50-series GPUs. Because warehouse manipulation and light manufacturing tasks such as picking, packing, and assembly do not require broad open-world reasoning, Verne achieves high task success without relying on large cloud-hosted foundation models. The entire perception-to-action stack runs locally on the robot, eliminating the need for offboard inference or datacenter connectivity during execution.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WpZS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee0ae32a-5596-4378-bfcb-7d3a1aa93a53_2048x1536.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1092" src="https://substackcdn.com/image/fetch/$s_!WpZS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee0ae32a-5596-4378-bfcb-7d3a1aa93a53_2048x1536.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt; Source: Verne Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Sunday Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Sunday Robotics builds for the home. Memo is a wheeled machine whose torso rises and lowers to reach from the floor to high cabinets, with three-fingered grippers instead of humanoid hands. Sunday also trains their own foundation models. Instead of teleoperation, Sunday collects training data through its Skill Capture Glove, a wearable that matches the geometry of Memo&amp;#8217;s gripper, worn by people simply doing their chores at home. That glove data, combined with other commodity data such as videos,  pretrains one end-to-end policy, and post-training polishes it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TyP4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F240be3d8-d0b3-4719-afdc-7e8c675acb31_1576x882.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!TyP4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F240be3d8-d0b3-4719-afdc-7e8c675acb31_1576x882.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Sunday Robotics&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Over the past 12 months, Sunday has released two models, each bringing Sunday closer to a system that can perform any task in any home. Released in November 2025, ACT-1 focused on breadth of capability. It enabled Memo to complete a 15-minute, long-horizon task of clearing a dining table and loading everything into the dishwasher, while also demonstrating high-dexterity skills such as folding socks and making espresso, as well as generalizing to previously unseen homes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;ACT-2, previewed in July, turns that breadth into reliability: 99.1% zero-shot success folding laundry across nine garment types in homes the robot had never seen. The finding Sunday cares most about is that scaling pretraining is what makes post-training generalize, so much so that one demonstration can teach a new behavior that transfers. The chart shows how stark this is. In-domain means Sunday&amp;#8217;s own lab, where the post-training data came from; out-of-domain means held-out homes and objects. Without pretraining, the model hits 96% in the lab and just 14% in unseen homes, textbook overfitting. With the full pretraining corpus, the gap disappears: 100% in both.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PaLg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce927f91-7aa8-452e-9fbf-f170185030e7_1518x1032.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!PaLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce927f91-7aa8-452e-9fbf-f170185030e7_1518x1032.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Sunday Robotics&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Generality comes from pretraining scale, and pretraining scale needs a model large enough to absorb it. The policy that works in a stranger&amp;#8217;s laundry room is not a small one. So Sunday started out assuming cloud inference, and in the lab that made sense: more compute, easier debugging, and the same setup the researchers already worked with. Two days into testing ACT-2 in real homes, they reversed course. Home WiFi turned out to be a mess of dead zones, neighbor interference, badly configured mesh routers, and asymmetric links. Latency was mostly fine. Jitter was the problem. A robot trying to hold 99% success over hours can&amp;#8217;t shrug off the occasional hiccup the way a video call can. The alternatives didn&amp;#8217;t help. Starlink&amp;#8217;s satellites cross the sky in minutes, so any tree or roofline inside the dish&amp;#8217;s 100-degree view knocks the link out on every pass, and a 5G router dropped out the same way.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eZAK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb6c9e8-503c-4326-88b1-8450f202888c_603x827.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="827" src="https://substackcdn.com/image/fetch/$s_!eZAK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb6c9e8-503c-4326-88b1-8450f202888c_603x827.jpeg" width="603" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: X, Sunday Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Sunday faced a fundamental tradeoff: larger models generalize better, but relying on the cloud makes the robot dependent on network connectivity. Sunday chose to resolve that tradeoff by moving inference fully onboard. The model now runs directly on the GPU inside the robot, removing the cloud from the critical path and allowing Memo to operate independently of the network.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Weave Robotics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Weave Robotics also builds for the home. Isaac 0, its first deployed robot, sits at a desk and folds laundry you bring to it. Isaac 1, due this fall, keeps all of that and adds a wheeled base and a telescoping torso, so it can go find the dirty clothes itself, put the folded ones away, make beds, and get toys and shoes back where they belong. Weave trains its own VLA and also runs models from Physical Intelligence. They build their own model to stay as close to the frontier as possible, but will use whatever gives the customer the better experience, so this is not a Pi wrapper and it is not a closed shop either. Both are likely in the few billion parameter range, small enough to sit on the robot, and we would expect inference to run locally.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_zQs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c4e28f9-62a4-486b-b764-1aaf6ce860ed_1204x802.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="this soft robot wants to fold laundry without pretending to be human" class="sizing-normal" height="802" src="https://substackcdn.com/image/fetch/$s_!_zQs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c4e28f9-62a4-486b-b764-1aaf6ce860ed_1204x802.png" title="this soft robot wants to fold laundry without pretending to be human" width="1204" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: Weave Robotics&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even if inference runs on the robot, this does not make Weave free of the network. The WiFi link carries proprioceptive and visual data goes up as training data, and when the robot encounters difficulties a teleoperator steps in and takes control. Both degrade with the link, and a bad enough connection kills traffic in both directions. In homes, walls and other obstacles create weak spots and dead zones, and the typical router is not built for handoffs. Conditions are often good, but congestion is a factor: homes usually run on shared fiber, so neighboring houses and apartments drag on the link, and they do it at exactly the hours a home robot is most likely to be working.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To deal with these conditions, Weave does not require any changes to the home environment: no new router, or no extra access points are required. That pushes all of the adaptation onto the robot.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Climbing the Networking Wall&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Many of today&amp;#8217;s deployments keep inference on the robot, and nearly every company gives the same reason: the network. For the companies that deploy off-device, they got there by staffing multiple teams that work on nothing else. We think the networking problems are solvable, and that as they get solved, more deployments will move off the robot.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;What is the Network Wall?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Running a robot model off-device is extremely difficult (see image below). Three high-level issues make off-device policies challenging.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Embodiment.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; At the physical layer, you are asking for good network conditions from a machine that is made of metal, that moves, and whose motors and electronics emit noise on the same frequencies you&amp;#8217;re trying to transmit on. The chassis blocks and reflects its own signal, orientation changes antenna positions, and RF conditions are dynamic between transmissions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Network. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The infrastructure around WiFi and 5G was not designed with robotics in mind. It works well at home, with one or a few devices, streaming Netflix while you sit on the couch. But robotics is the opposite. You still have a Netflix-sized video feed, but you&amp;#8217;re streaming it to the datacenter, and you&amp;#8217;re moving while you do it. This is the uplink problem: all of the existing infrastructure was built with the downlink in mind.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The occasional dropped packet or latency spike is fine for Netflix, but an accident waiting to happen in robotics. Existing access points, chipsets, and algorithms simply weren&amp;#8217;t built for it: prioritization is inverted, uplink MIMO is rarely supported, no redundancy to make UDP streams reliable, no low-latency handoff between access points, uplink scheduling is an afterthought, and everything is statistical when it needs to be deterministic. Add shared fiber to the picture, and your neighbor turning on Netflix while your humanoid is working can, quite literally, kill you.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Environment. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;This is the core challenge, and it dictates where off-device can and can&amp;#8217;t run. Autonomous driving is the exemplar of where on-device is strictly required. The coverage area is enormous, the operator has almost no control over RF conditions, and the vehicle moves fast, which leaves near-zero latency budget and forces frequent access point handoffs. Add that driving is a simpler learning problem than humanoid labor, so the models fit on-device, and the conclusion follows: compute goes on-device, and the off-device stack shrinks to fleet management, a slow, low-frequency loop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The environmental prerequisite for off-device compute is a small-to-medium sized space that is structured enough for RF control. Autonomous driving lacks this; homes and factories have it. That doesn&amp;#8217;t make it easy &amp;#8211; the environmental problem is still huge. Walls, metal, and other electronics all affect RF conditions. Turn on the dishwasher at home and the RF environment changes. Start heavy machinery in a factory and you may create a dead zone beside it. Access point placement matters a lot, and it has to anticipate how the environment will change over time. Moving between access points means handoffs, and a typical router goes silent for anywhere from 100 ms to several seconds during one. That can happen mid-manipulation, killing a policy or lagging a teleoperator. Recovery can take several more seconds, and by then the humanoid may be on the floor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Placement of signal blockers and reflectors in the home is unpredictable; every house is a different RF puzzle. A factory has more structure but far more working against you: dense metal racking that reflects and blocks signal, motors and machines spraying interference across the spectrum, inventory and equipment that move daily so the dead and weak zones move with them, and dozens of robots contending for the same uplink airtime.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VJdy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dec7d04-90d5-4e6e-ba0a-5c0de9e68d0d_1290x1676.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1676" src="https://substackcdn.com/image/fetch/$s_!VJdy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dec7d04-90d5-4e6e-ba0a-5c0de9e68d0d_1290x1676.png" width="1290" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: X&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;How do we climb it?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Preparing a model for off-device inference is a nuanced problem. It depends on whether the model is hierarchical or monolithic, how much compute it requires, the tasks it has to perform, its action space, and the embodiment it drives. Some of what breaks today is fixable with ordinary engineering. The transport layer, for one, is often a modified WebRTC: UDP with no retransmission, reliability through repetition over multiple antennas, application-layer awareness of packet importance, and freshness above all. Teams already build this and the know-how is a commodity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But the network wall is not the transport layer or a series of ordinary engineering challenges. The network wall is based on the issues with existing hardware, and we believe there are four problems that are hard and high-leverage that together can make off-device models reliable beyond the existing infrastructure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Start by fixing the environment, not the robot. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The highest-leverage fix is the access point. Access points in robotics need to do the opposite of what consumer and enterprise access points do for downlink-heavy stationary clients. This includes:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Robot-aware uplink scheduling. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Robot uplink is scheduled ahead of household or plant traffic rather than queued behind it, which is admission control that WiFi does not natively have and the access point must impose. Each robot gets a reserved slot at a fixed cadence instead of a chance at the channel, and the schedule accounts for the other robots competing for the same airtime. The model determines the traffic, the traffic determines the schedule, so the scheduler has to know what the robots are running. When a robot is not phoning home, the same scheduler still has to manage everything else on the network well.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Location-aware beamforming.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Robots move. The access point has to know where each robot is and where it is going, then steer, schedule, and hand off ahead of that movement rather than reacting to it or assuming a client that stays where it is associated.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Centralized timing.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; One timing authority per site, distributed over the air to every robot with a guarantee, so observations across the fleet share a clock. Off-the-shelf access points cannot provide this.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Multi-link operation.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Running several links at once, across bands and across WiFi and 5G, with the same observation duplicated or split across them, improves reliability and cuts latency in a way no single link can.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Clean spectrum.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 6 GHz where available, since it is uncongested and its channel widths give the throughput margin that makes retransmission-free delivery realistic.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Fast multi-access point handoffs.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Any real building needs more than one radio, and the roam between them has to be completed inside the observation cadence. A 200 ms handoff is multiple dropped frames.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Placement is just as important as the hardware. It needs to be measured and optimized, not guessed: RF survey along the robot&amp;#8217;s task paths, dead-zone mapping, antenna orientation chosen for the robot&amp;#8217;s typical height and heading.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;WiFi will dominate the home and most of the factory floor because it is fast and can carry the load. It will not cover everything. 5G, private or public, fills outdoor paths, larger sites, and locations where WiFi congestion cannot be controlled. The two should coexist under one scheduler, with the robot able to fail over fast between them. Where a site depends on a carrier, the last step is to work with the network provider on uplink prioritization and dedicated fiber to the GPU cluster, so that the scheduled path does not end at the access point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Shrink the load.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Networks are bandwidth-limited. The other half of climbing the wall is reducing what has to cross it. Image sensors are nearly all of a robot&amp;#8217;s uplink, so this is a perception problem before it is a networking problem.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Maximize the uplink. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Robotics inverts the traffic pattern every wireless chipset was designed for. The mainboard has to be built for this. 4x4 uplink MIMO rather than the one or two streams consumer modules ship, chipsets chosen for uplink throughput rather than downlink, an operating system built for wireless communication, and a radio that participates in the access point&amp;#8217;s schedule instead of contending with it: it knows its slot, fills it at cadence, and stays quiet outside it. Holding that beat is what makes scheduling deterministic, and it only works if the mainboard and the access point are co-designed. Neither side can impose order on the link alone.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Everything on one clock.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Datacenter GPUs beat on-device compute on cost as batch efficiency grows, and batching requires that observations from many robots arrive time-aligned in order to hit a reasonable latency budget. Everything has to run on the same clock. Sub-millisecond synchronization is achievable with good crystal oscillators on the mainboard and wireless time sync across the fleet, so every robot on a site captures, encodes, and transmits on the same beat. GPU orchestration is then built around that beat: the scheduler knows when the next frame of observations lands, reserves compute for it, and runs the moment the frame is complete. Late observations go to the next batch, not to a queue, and the latency budget is spent on inference rather than waiting. Put this together with a mainboard that holds the schedule, access points that enforce it, and a perception stack that shrinks the load, and you have a system that batches at scale without inflating latency, which is the whole economic case for running models off-device.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Who will climb the wall?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/a-brain-too-big-to-carry-on-device"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-14T08:37:25+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/long-live-the-short-king-why-4-hi</id>
    <title>Long Live the Short King: Why 4-hi HBM Wins</title>
    <updated>2026-09-13T10:19:39+00:00</updated>
    <author>
      <name>Myron Xie</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;High Bandwidth Memory has been a key technology enabling the AI revolution. Despite HBM&amp;#8217;s high costs relative to other forms of memory, chip designers have packaged more and more HBM into AI accelerators. Customers push to design in newer generation HBM whilst also increasing capacity per XPU by adding more cubes, and with denser and higher stacks. This has led to HBM consuming an increasing share of total DRAM wafer capacity, resulting in the extreme DRAM shortage we see ourselves in today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are now on the cusp of this trend breaking, due to a host of reasons that are both technical and supply chain driven. Next generation accelerators are moving to 8-hi stacks as standard compared to 12-hi being the standard today. Nvidia has decided to do this with Rubin Ultra which is a downgrade to 192GB from 288GB per GPU compared to standard Rubin and B300, which &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;SemiAnalysis was the first to cover this change&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The supply chain is now preparing 8-hi to become the new standard, and it was not even a year ago that the industry was anticipating going to 16-hi and beyond.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, we see this trend going further as we covered in our &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Memory Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. For inference workloads where memory bandwidth matters the most, 4-hi HBM provides the best $/bandwidth and therefore lowest cost per token. Capacity is important up until a certain threshold, beyond that point more HBM capacity offers diminishing benefits while those incremental bits carry the same BOM penalty. This is what hardware teams at the major labs want to implement in their ASIC programs from next generation HBM4 onwards. On the same way that hardware designers are focussed on maximizing tokens/Watt in a world of DC power constraints, 4-hi is how to maximize tokens per HBM wafer, which is another scarce resource.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This report will go through the reasoning behind what&amp;#8217;s changed in the capacity equation, demonstrate that often HBM capacity is stranded, and show how this can be a win-win for both labs&amp;#8217; TCO and memory supplier profitability.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The HBM Content Trend is Broken&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;HBM has been the major form of working memory for AI workloads as it provides a good balance of capacity and bandwidth which can be utilized for general purpose chips for both training and inference. SRAM, while very fast, suffers from low capacity, making it premium and limited on certain tasks. Conventional DDR DRAM provides much more capacity per dollar but the bandwidth is too poor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With AI being such a memory intensive workload, it is no wonder that per accelerator HBM content has continued to increase generation upon generation: more cubes per accelerator, denser cubes, and taller stacks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ueEA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf2cf49-36cb-4efc-815d-e6357e31380f_2048x1241.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="882" src="https://substackcdn.com/image/fetch/$s_!ueEA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf2cf49-36cb-4efc-815d-e6357e31380f_2048x1241.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The increasing amount of HBM being shipped per chip was also a big contributor to costs increasing. However, over the last few months this trend has now broken. The next generation Rubin Ultra will only feature 192GB of HBM per accelerator compared to 288GB with conventional Rubin and even Blackwell Ultra! This is a huge regression from expectations from not even a year ago that Rubin Ultra would feature 1TB of HBM per GPU! In fairness, that was when Rubin Ultra was expected to have 4 compute dies vs only 2 now. Even normalizing for this, this is a decrease from 256GB per GPU die to only 96GB.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GEyT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c4f19-2116-4b81-821d-eb0f1b054624_1929x538.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="406" src="https://substackcdn.com/image/fetch/$s_!GEyT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c4f19-2116-4b81-821d-eb0f1b054624_1929x538.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This decision to reduce HBM density is in large part motivated by supply. HBM wafers are scarce. There are simply not enough wafers to supply the number of 12-hi cubes needed to support the N3 logic and CoWoS Nvidia has secured next year. Moving to 8-hi means much more cubes from the limited number of wafers and helps close the gap.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The big increase in HBM costs next year doesn&amp;#8217;t help either,&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/213613469/expanding-beyond-memory-across-the-ai-infrastructure-stack-comes-at-a-cost"&gt;&lt;span&gt; even though Nvidia is getting a better deal than other major customers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Even in a time where GPU demand is well above supply, Nvidia has to give up some margin as its component costs increase, with memory being the largest.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The trend of ever increasing HBM density is now breaking and it is not only because of supply, but also architectural reasons and changing workload requirements. While supply and cost are very important factors, Nvidia wouldn&amp;#8217;t make this decision if this additional capacity is necessary for customers and clearly delivers better performance/TCO. The focus of this article is to demonstrate that in many cases additional HBM capacity per GPU is not worth the cost and that HBM 4-hi in the future is often the optimal configuration.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Shorter Stacks, Same Bandwidth&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;An important dynamic we want to remind readers of is that the reduction in per GPU capacity by lowering stack height doesn&amp;#8217;t come at the expense of bandwidth at all. Bandwidth available per cube of HBM is the same regardless of stack height. Of the 2048 data I/Os per cube of HBM4 or HBM4e, these data paths are split evenly among the total number core DRAM dies in the stack. The maximum per die is 512 I/Os, which means that 4-hi is the lowest stack height that can get access to all of the 2048 I/Os and maximize bandwidth. However, cost to the supplier and end customer is driven primarily by the amount of DRAM content per cube. HBM pricing is primarily driven by GB per stack. While the value customers derive from HBM is often the bandwidth. Therefore lower stack heights mean a much lower $/bandwidth proposition to end customers, meaning opting for lower stack heights is almost a free lunch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ObOo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60418044-6f62-4f41-a607-7c5ee52c61ea_1588x946.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="867" src="https://substackcdn.com/image/fetch/$s_!ObOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60418044-6f62-4f41-a607-7c5ee52c61ea_1588x946.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Bandwidth vs Capacity? Bandwidth is King&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;While different AI workloads require both capacity and bandwidth, there are tilts towards whether bandwidth or capacity matter more depending on workload. We can divide AI compute into 3 major buckets: pre-training compute, post-training/reinforcement learning compute, inference compute. Reinforcement learning is very similar to inference therefore requires similar architectures. Among these 3 buckets, inference decode is primarily bandwidth constrained: each token generated requires a read of all the active model parameters as well as the user&amp;#8217;s KVCache that is stored in memory. Reinforcement Learning (which is inference-like) is still tilted towards being bandwidth constrained but requires more capacity than inference due to the focus on large batches. Meanwhile pre-training is much more sensitive to capacity as HBM is used to store weights, gradients and activations during a training run, rather than just weights and user KV for an inference forward pass.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A big change has been the share of compute allocated to pre-training has shrunk significantly as end token demand has increased and post-training techniques became a major vector for model scaling. The result is that the majority of allocated compute has now become bandwidth sensitive rather than capacity sensitive.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U8e4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0327e1f0-2057-4961-b0ba-d7eb63abac64_1935x1212.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="912" src="https://substackcdn.com/image/fetch/$s_!U8e4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0327e1f0-2057-4961-b0ba-d7eb63abac64_1935x1212.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Source: SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This is not to say that capacity is irrelevant for inference, capacity is important up to a point. One of the big weaknesses of the Cerebras and Groq SRAM machines is their lack of capacity despite abundant SRAM bandwidth allowing very fast token serving. In short, there is a threshold level of capacity required: an inference system needs to have enough high bandwidth memory capacity to hold model weights as well as users&amp;#8217; KVCache. Beyond that threshold there are diminishing returns to having more capacity as we will show.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other important point is that this is not memory per chip, but rather aggregate memory per system. Frontier model sizes have long stopped being able to fit on the memory of a single chip, and need to be sharded across the memory of multiple chips. This is why networking is such an integral part of AI system design. For the MoE architecture that all frontier models of today adopt, the optimal system is often a single scale up world with fast and low-latency communications (such as NVLink within a whole rack) that can support wide expert parallelism, where only a few experts are loaded onto each GPU. This set up allows each expert to process larger token batches and improves compute and memory bandwidth utilization, at the expense of far more all-to-all communication costs between GPUs&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!P7Es!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73333702-e5df-41c1-9333-a24a9b51b6cf_2048x1503.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1069" src="https://substackcdn.com/image/fetch/$s_!P7Es!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73333702-e5df-41c1-9333-a24a9b51b6cf_2048x1503.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Nvidia, Hugging Face&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While both model weights and user KVCache capacity requirements have grown, the huge increase in scale up world sizes have allowed aggregate memory per node to more than keep up. In the Hopper-era, one H100 HGX system provided 640GB of aggregate HBM. The weights from Llama 3.1 405B (the best open source model at that time) would consume 63% of that capacity, leaving some (but not a lot of) headroom for KVCache. This was why the additional 61GB per GPU that the H200 provided was so important. With 1,128GB of memory per server, this provided a lot of incremental headroom to fit more  KVCache and serve more concurrent users.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With GB300 NVL72 rack scale solutions, Nvidia delivered 9x the scale up world size in addition to doubling HBM per GPU by using 12-hi HBM and increasing the number of HBM cubes per GPU. This resulted in an 18x increase in aggregate HBM capacity compared to the H200 HGX. This has significantly outpaced the almost 7x growth in parameters of the largest open source model available today: Kimi K3 2.8T. The capacity burden is also reduced significantly by quantizing down to 4 bit quarter precision from 16/8 bit. One replica of Kimi K3 at 2.8T stored in MXFP4 only takes up 1,561GB, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;less than 8%&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; of the almost 21TB of HBM available on GB300 NVL72. The increase in scale up world size is also not slowing down. The big upgrade with Rubin Ultra is moving to NVL576, another 8x increase from NVL72, which more than offsets the one third reduction in HBM capacity per GPU.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!ahjd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8d0072e-9856-4d4d-96d7-f05cff1662cc_2048x438.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="311" src="https://substackcdn.com/image/fetch/$s_!ahjd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8d0072e-9856-4d4d-96d7-f05cff1662cc_2048x438.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Moonshot, Nvidia, AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the rack-scale server era and beyond, memory capacity available is well above what is necessary for model weights, providing a very comfortable amount of headroom for user KVCache. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/spacex-10gw-in-2027-why-its-real"&gt;&lt;span&gt;Systems can now comfortably support inference requests with very large context lengths and at good enough concurrency to support very high inference margins&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This eases a lot of the HBM capacity pressures and allows HBM density per chip to relax. This is a different paradigm from the previous era of smaller serving deployments where model weights consumed a substantial portion of total memory. Back then increasing HBM density per GPU was a critical way to get valuable capacity headroom.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While the lower stacks, cheaper bandwidth argument has been a valid one, we are only now seeing this trend of taller stacks reverse as the minimum HBM capacity per chip threshold has only recently moved much lower. We think this trend goes even further. Silicon and hardware teams at frontier labs see 4-hi HBM as the optimal SKU for many inference workloads as it delivers the best performance/TCO and now we will dive deeper into why.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The Optimal Mix of Bandwidth and Capacity&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;There is an optimal ratio of bandwidth and capacity, and often this capacity ends up being over-provisioned or stranded where the bandwidth per token is not enough to read all the available capacity in HBM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s start with a simple example. Each HBM4E stack provides 3,328 GB/s of nominal peak bandwidth ( assuming 2048 pins at 13 Gbps each). For HBM4E each core die is 32-Gb which results in 16 GB, 32 GB, and 48 GB for 4-hi, 8-hi, and 12-hi stacks, respectively. An illustrative single sequence of 100 tokens/s, 3,328/100=33.28GB of memory bandwidth is available per token. We then divide this bandwidth available per token by cube capacity to get to the number of reads of the total stack capacity each token is able to perform. At 1 stack read per token this means capacity and bandwidth are matched perfectly: one token has the available bandwidth to read all the working data stored in HBM and no more and no less.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A number above 1 means bandwidth is &amp;#8220;overprovisioned&amp;#8221; relative to capacity, as a token only needs one read of the working set (i.e. one forward pass). However, the bandwidth is rarely &amp;#8220;excess&amp;#8221; as the additional bandwidth budget can be used up by increasing tokens per second. A number below 1 means that a token doesn&amp;#8217;t have available bandwidth to read all the available HBM capacity. To serve tokens at that given throughput the working set can be no larger than available bandwidth per token, so it must be lower than total memory capacity. This results in excess memory capacity that is overprovisioned.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!4Nor!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2a7ce09-dd9a-4188-ad74-e17e28206704_2048x403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="287" src="https://substackcdn.com/image/fetch/$s_!4Nor!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2a7ce09-dd9a-4188-ad74-e17e28206704_2048x403.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As we can see in the illustrative table above, an increase in tokens/s lowers bandwidth available per token, pushes the stack reads/token ratio lower, therefore increasing the likelihood that capacity is overprovisioned. This creates the asymmetry where it is preferable to have a lot of bandwidth compared to a lot of capacity. Bandwidth can normally be used up in its entirety, while spare capacity can not always be used up whilst also carrying a cost that is only getting higher.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, this is a simple analysis that ignores batching requests to serve multiple concurrent users. Batching plays a key role in inference economics as batching can maximize total token throughput at given levels of interactivity. The big saving from batching comes from amortizing one read of weights across multiple users&amp;#8217; requests. Higher concurrency also consumes memory capacity as each individual user&amp;#8217;s KVcache needs to be loaded into memory. Increasing batch size is often how inference workloads become memory capacity bounded rather than bandwidth bounded. When HBM capacity is easily enough to hold model weights, the benefit of additional HBM capacity is that it can deliver higher token throughput, and why the additional bits can be worth the BOM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gXkH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93801de-a193-483d-b6ec-26807a208797_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!gXkH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93801de-a193-483d-b6ec-26807a208797_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When factoring in batching, the result is this generalized curve above. All else equal, having taller stacks of HBM delivers higher throughput up until a certain per-user latency SLA, whereby the extra capacity becomes redundant. These are represented by the points where different curves overlap with each other.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The &amp;#8220;per-user latency SLA&amp;#8221; is a minimum interactivity assumption. This is a minimum rather than actual interactivity. In cases when concurrency is capped by capacity that means that there is additional bandwidth available to support higher tokens/s/user. So even though 4-hi can deliver lower concurrency, the faster token/s/user wholly or partially offsets the impact of lower batch size to increase total token throughput.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Concurrency is based on the lower of maximum concurrency when capacity-bound: the number of sets of individual users&amp;#8217; KVCache that can fit into memory; and when bandwidth-bound: maximum number of users that can be served at our minimum interactivity, which takes into account the bandwidth available per token calculation above. Multiplying users by tokens/s/user gets to total tokens generated per second which is throughput.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;These curves can tell us the value of that additional capacity provides in terms of inference performance by showing just how much greater token throughput can be achieved with more capacity (which comes through more batching), while also showing at which points on minimum interactivity the additional capacity doesn&amp;#8217;t add value.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is heavily dependent on model size or said another way the % of HBM capacity that needs to be dedicated to model weights. In general, the larger the model size, the curves will shift to the right so that taller stacks deliver more throughput at higher interactivity points. In addition, taller stacks will also deliver a greater increase in peak throughput. This goes back to batching economics. Every step reads the weights once regardless of batch size, so the larger the weight footprint, the more throughput each additional concurrent user unlocks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s put actual numbers to this to see what this looks like for the largest open source model today: Kimi K3. This is a roofline analysis, in reality, real achieved memory bandwidth is significantly lower than peak bandwidth. Real results will see the minimum interactivity thresholds shifted to the left, so the general conclusions will be the same. Also this exercise is focussed on just the decode pool in a disaggregated PD set up. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;For real delivered results see our InferenceX and AgentX benchmarks.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We use a Rubin Ultra NVL576 system as this will be a more representative scale up world size in the HBM4E era. We assume the HBM is HBM4E with 13Gbps speeds. 4-hi, 8-hi, and 12-hi means 128GB, 256GB, and 384GB per GPU respectively. For Kimi K3 on this NVL576 system, each GPU holds 16.8GB of weights which is 2.1GB per HBM stack. We can see that at a minimum SLA of 105 tok/s/user, 12-hi HBM doesn&amp;#8217;t deliver more throughput than 8-hi HBM. Then when the interactivity is doubled further to 213 tok/s/user, there is no benefit to having taller than 4-hi stacks. In terms of maximum throughput benefits, 8-hi provides an 8% increase in maximum total tokens/s vs 4-hi while 12-hi provides a 10% improvement. However, again stepping down to the maximum throughput that 4-hi can deliver allows for more than double the interactivity. We also reiterate that in reality, as not all of the raw memory bandwidth can be utilized, actual results will shift these curves to the left, meaning that the higher capacity breakeven interactivity points are lower and could push into the speeds that users find unacceptably low.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pidP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7608023b-e2a4-4c9e-bf39-b5273dda376c_2037x1261.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="901" src="https://substackcdn.com/image/fetch/$s_!pidP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7608023b-e2a4-4c9e-bf39-b5273dda376c_2037x1261.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Moonshot&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We can see that while more capacity can deliver marginally more token throughput for these models (putting aside the benefit of faster tokens). The question then becomes, is that additional throughput worth the additional BOM cost associated with more memory. HBM is a significant part of accelerator BOM cost, and with HBM so tight, the cost per GB will rise dramatically next year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When taking into account costs, we model the BOM cost increase the end owner pays relative to a baseline HBM4E 4-hi based Rubin Ultra for the Rubin Ultra NVL576 system. The all-in system cost increase (which we proxy as TCO as all-in system cost makes up the vast majority of TCO) of 8-Hi is 12.1% relative to a base 4-hi system and for 12-hi it becomes a 26.3% premium. We can then compare the increase in token throughput relative to the cost increase at different points on minimum interactivity to show whether more memory can deliver lower cost per token at any of those points.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Fgxg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34b7a95f-f8af-4fa6-9b4c-d1de65036ce6_2001x1204.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="876" src="https://substackcdn.com/image/fetch/$s_!Fgxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34b7a95f-f8af-4fa6-9b4c-d1de65036ce6_2001x1204.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall we see that the increase in throughput provided by 12-hi or 8-hi HBM comes in below the increased system cost associated with more memory, meaning at these memory prices (along with Nvidia&amp;#8217;s margin stack), 12-Hi and 8-Hi HBM result in higher cost per token than 4-hi HBM. This comes before we even take into account more HBM conserving techniques, namely KVCache offloading to lower tiers of memory. This next section will show an actual production run we performed to show how lower memory impacts actual throughput.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;A Real Experiment: KVCache Offloading Relieves Capacity Pressure&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;While reducing HBM capacity cuts into the amount of KVCache that is stored as long as model weights are able to be fit, second tier DRAM can be used to store KVCache that is less &amp;#8220;hot&amp;#8221; and requires instant retrieval. This is becoming more common in agentic workloads that have very high context lengths that place pressure on HBM capacity but also have long pauses between turns, making it worthwhile to expel KVCache into DRAM or even storage rather than recomputing it altogether. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;In our recent AgentX benchmarking, many workloads&amp;#8217; pareto optimal results were obtained with KVCache offloading above certain concurrencies&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To test the impact of reduced HBM in a real workload, we ran InferenceX benchmarks on Kimi K3 with reduced HBM. The system was with 16 GB300 GPUs, with a disaggregated setup of 8 GPUs for the prefill pool and 8 GPUs for the decode pool. The restricted memory workload was run with 85% HBM utilization compared to 92% HBM utilization normally. Yes, this is only an 8% reduction in HBM, which is very far from a 50% reduction when going from 8-hi to 4-hi, however this is with Kimi K3 being served on only 8 GPUs so weights take up a significant portion of memory. This ends up being a 20GB reduction per GPU of KVCache storage. Specifically, for aggregate serving it brings down the GPU KV budget from 53GB to 34GB which is a 36% reduction. For disaggregated pairs it is 44GB to 24GB, which is a 44% reduction. Overall, this is a sizeable reduction in the HBM budget for KVCache.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of results, we see that up to most points on the curve the HBM restricted run delivered very similar throughput (denoted by the dotted red curve). However once concurrency hit above 70 is when throughput dropped dramatically by almost 30% compared to the higher HBM run. This is the point when peak GPU KV occupancy hit 100% for the restricted memory version. At that point preemption, repeated loading, and queueing affect that throughput. Note that this also hits at a point of the curve that is high concurrency but very low interactivity. We know that DRAM offloading was used much more as the lower HBM-restricted profile had over 10x the amount of reads to DRAM KVCache compared to the higher HBM profile at the same concurrency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rLFg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb82a986-d735-4e0f-bc62-4288f520bea1_2048x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="924" src="https://substackcdn.com/image/fetch/$s_!rLFg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb82a986-d735-4e0f-bc62-4288f520bea1_2048x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We can see in a real workload that KVCache offload to DDR DRAM can help relieve HBM capacity pressures very effectively. This is for Kimi K3, which doesn&amp;#8217;t take into account some of the even more extreme cache reduction techniques introduced in the latest DeepSeek v4.1 Flash model, which reduce active KVCache sizes by around 75% compared to v4 Flash. At these reduced KVCache levels, increasing concurrency to utilize all the HBM capacity is likely to mean that the workload becomes compute and network bound rather than capacity bound, therefore also diminishing the value of a taller HBM stack.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Does 4-hi Give Up Future Proofing Optionality?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In our K3 roofline analysis using HBM4E on NVL576, the obvious flaw is that we are using a present workload on a future system to show that 4-hi is sufficient. It will only be a year later when these larger scale up domains are available along with HBM4E and frontier models will only have scaled more. In addition, AI servers are deployed for over 5-year lifespans, and will need to be able to continue serving tokens through that period.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The capacity being sacrificed could underestimate optimal capacity needs for future workloads significantly if model sizes for future workloads become much larger. For instance, assuming a future model that is 3x the size of Kimi K3 (along with per user KVCache also tripling in size), the throughput increase from taller stacks of HBM is much better. 12-hi can deliver 47% more total tokens than 4-hi, and 8-hi delivers 36% more tokens, though at half the speed. In this scenario, the additional capacity starts to become more justified and the decision comes down to how valuable the faster tokens are.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yUdX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d9df92-0ad7-4cc2-b4b1-427ff3fcc49e_2038x1240.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!yUdX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d9df92-0ad7-4cc2-b4b1-427ff3fcc49e_2038x1240.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When taking into account costs into this analysis, in this case 8-hi delivers more throughput than the TCO increase at below 180 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hLoz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5447656a-15b3-45b9-8b96-2c17b1cb5812_2023x1287.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!hLoz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5447656a-15b3-45b9-8b96-2c17b1cb5812_2023x1287.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, going to 12-hi vs 8-hi isn&amp;#8217;t worth it, nowhere on the curve is 12-hi&amp;#8217;s increase in token throughput greater than the BOM cost increase.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UTEN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd232f683-16e8-46ea-a275-86ec7f6a7e2a_2048x1247.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="887" src="https://substackcdn.com/image/fetch/$s_!UTEN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd232f683-16e8-46ea-a275-86ec7f6a7e2a_2048x1247.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;There are several counter-arguments to this. First, scaling parameters and therefore model weights is no longer as important for model capability. The use of significantly more reinforcement learning as well as more reasoning/thinking time have been key developments that have resulted in more efficient model architecture. Also, &lt;/span&gt;&lt;a href="https://x.com/merettm/status/2095023204993490967"&gt;&lt;span&gt;it is effectively confirmed that GPT-6 Astra uses looped transformers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and there is a lot of speculation that this is the case for Anthropi&amp;#8217;s largest models as well. Looped transformers effectively run the input through transformer layers multiple times. This scales the model through depth rather than by adding weights.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, if 4-hi accelerators become a significant part of the AI server accelerator installed base, researchers will adapt their models so that they can be effectively served with this hardware. Additionally, we understand that it is the Frontier Labs&amp;#8217; hardware teams who are the most in favour of 4-hi HBM. These teams are obsessed with hardware/software co-design, and their calling for 4-hi reflects that future models are heading in a direction that don&amp;#8217;t require that capacity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Lastly, the big picture is that everyone building and serving models has the goal of serving maximum tokens. Going to 4-hi stacks is what will ensure this&amp;#8230;&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Maximizing &lt;/span&gt;&lt;s&gt;&lt;span&gt;Tokens/Watt&lt;/span&gt;&lt;/s&gt;&lt;span&gt; Tokens/HBM Wafer&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The optimal hardware architecture is what maximizes output per scarce resource. We are in a world of many shortages when it relates to building out AI infrastructure. Power is one of the key ones, which is why &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/212647373/performance-analysis"&gt;&lt;span&gt;optimizing for tokens/W is so important and a key metric that inference providers and hardware architects are trying to optimize for&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Of course, money is a finite resource and why performance/TCO has been an evergreen figure of merit driving hardware decisions.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As we mentioned above, one of the other major constraints is the supply of HBM wafers. While not talked about, optimizing for tokens/HBM wafer can be thought of in the same vein as tokens/w and tokens/TCO. The way to do that is simple: use 4-hi HBM. As you can get the same bandwidth from a 4-hi stack as an 8-hi or 12-hi stack, in simple terms the 4-hi means triple the memory bandwidth that can be harvested from each HBM wafer if that wafer was used for 12-hi HBM, or double the bandwidth of an 8-hi wafer. The numbers are even better than that when factoring in the higher packaging yields from 4-hi. As memory bandwidth generally equates to token throughput, this means 4-hi is the way to go in terms of getting the most out of a limited supply of HBM supply.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;By going to 4-hi, the amount of HBM cubes harvestable compared to 8-hi could more than double. These cubes are only useful if they can be co-packaged with an accelerator and put into a system. This means that the bottleneck moves away from HBM wafers to other parts of the supply chain like logic wafers (both for the accelerators and the HBM base die), substrates, PCBs, downstream integration capacity as well as many other components in between. Let&amp;#8217;s not forget all the power needed to deploy more systems. Overall, though, we believe the rest of the supply chain is able to ramp capacity faster than DRAM supply over the next few years. Even if the AI server supply chain can&amp;#8217;t match the supply needed to accommodate double the HBM cubes, this also frees wafers for conventional DRAM that can serve other applications that are memory starved because of HBM&amp;#8217;s cannibalizing effect on overall DRAM supply. The first that comes to mind is server DRAM, with DRAM per socket being cut dramatically to make the most of limited server DRAM supply. This is also very much related to supporting agentic workloads, where  large amounts of time are actually spent waiting on a CPU-related execution rather than the GPU to decode tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Behind the paywall, we will discuss what the impact is on memory suppliers and how 4-hi could benefit them, as well as how they are responding. We have significantly more insights, product sku / supplier decisions, and demand / supply details in our &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Memory Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Memory Supplier Impact&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/long-live-the-short-king-why-4-hi"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/long-live-the-short-king-why-4-hi"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;High Bandwidth Memory has been a key technology enabling the AI revolution. Despite HBM&amp;#8217;s high costs relative to other forms of memory, chip designers have packaged more and more HBM into AI accelerators. Customers push to design in newer generation HBM whilst also increasing capacity per XPU by adding more cubes, and with denser and higher stacks. This has led to HBM consuming an increasing share of total DRAM wafer capacity, resulting in the extreme DRAM shortage we see ourselves in today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are now on the cusp of this trend breaking, due to a host of reasons that are both technical and supply chain driven. Next generation accelerators are moving to 8-hi stacks as standard compared to 12-hi being the standard today. Nvidia has decided to do this with Rubin Ultra which is a downgrade to 192GB from 288GB per GPU compared to standard Rubin and B300, which &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;SemiAnalysis was the first to cover this change&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The supply chain is now preparing 8-hi to become the new standard, and it was not even a year ago that the industry was anticipating going to 16-hi and beyond.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, we see this trend going further as we covered in our &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Memory Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. For inference workloads where memory bandwidth matters the most, 4-hi HBM provides the best $/bandwidth and therefore lowest cost per token. Capacity is important up until a certain threshold, beyond that point more HBM capacity offers diminishing benefits while those incremental bits carry the same BOM penalty. This is what hardware teams at the major labs want to implement in their ASIC programs from next generation HBM4 onwards. On the same way that hardware designers are focussed on maximizing tokens/Watt in a world of DC power constraints, 4-hi is how to maximize tokens per HBM wafer, which is another scarce resource.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This report will go through the reasoning behind what&amp;#8217;s changed in the capacity equation, demonstrate that often HBM capacity is stranded, and show how this can be a win-win for both labs&amp;#8217; TCO and memory supplier profitability.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The HBM Content Trend is Broken&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;HBM has been the major form of working memory for AI workloads as it provides a good balance of capacity and bandwidth which can be utilized for general purpose chips for both training and inference. SRAM, while very fast, suffers from low capacity, making it premium and limited on certain tasks. Conventional DDR DRAM provides much more capacity per dollar but the bandwidth is too poor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With AI being such a memory intensive workload, it is no wonder that per accelerator HBM content has continued to increase generation upon generation: more cubes per accelerator, denser cubes, and taller stacks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ueEA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf2cf49-36cb-4efc-815d-e6357e31380f_2048x1241.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="882" src="https://substackcdn.com/image/fetch/$s_!ueEA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdf2cf49-36cb-4efc-815d-e6357e31380f_2048x1241.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The increasing amount of HBM being shipped per chip was also a big contributor to costs increasing. However, over the last few months this trend has now broken. The next generation Rubin Ultra will only feature 192GB of HBM per accelerator compared to 288GB with conventional Rubin and even Blackwell Ultra! This is a huge regression from expectations from not even a year ago that Rubin Ultra would feature 1TB of HBM per GPU! In fairness, that was when Rubin Ultra was expected to have 4 compute dies vs only 2 now. Even normalizing for this, this is a decrease from 256GB per GPU die to only 96GB.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GEyT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c4f19-2116-4b81-821d-eb0f1b054624_1929x538.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="406" src="https://substackcdn.com/image/fetch/$s_!GEyT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c4f19-2116-4b81-821d-eb0f1b054624_1929x538.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This decision to reduce HBM density is in large part motivated by supply. HBM wafers are scarce. There are simply not enough wafers to supply the number of 12-hi cubes needed to support the N3 logic and CoWoS Nvidia has secured next year. Moving to 8-hi means much more cubes from the limited number of wafers and helps close the gap.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The big increase in HBM costs next year doesn&amp;#8217;t help either,&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/213613469/expanding-beyond-memory-across-the-ai-infrastructure-stack-comes-at-a-cost"&gt;&lt;span&gt; even though Nvidia is getting a better deal than other major customers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Even in a time where GPU demand is well above supply, Nvidia has to give up some margin as its component costs increase, with memory being the largest.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The trend of ever increasing HBM density is now breaking and it is not only because of supply, but also architectural reasons and changing workload requirements. While supply and cost are very important factors, Nvidia wouldn&amp;#8217;t make this decision if this additional capacity is necessary for customers and clearly delivers better performance/TCO. The focus of this article is to demonstrate that in many cases additional HBM capacity per GPU is not worth the cost and that HBM 4-hi in the future is often the optimal configuration.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Shorter Stacks, Same Bandwidth&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;An important dynamic we want to remind readers of is that the reduction in per GPU capacity by lowering stack height doesn&amp;#8217;t come at the expense of bandwidth at all. Bandwidth available per cube of HBM is the same regardless of stack height. Of the 2048 data I/Os per cube of HBM4 or HBM4e, these data paths are split evenly among the total number core DRAM dies in the stack. The maximum per die is 512 I/Os, which means that 4-hi is the lowest stack height that can get access to all of the 2048 I/Os and maximize bandwidth. However, cost to the supplier and end customer is driven primarily by the amount of DRAM content per cube. HBM pricing is primarily driven by GB per stack. While the value customers derive from HBM is often the bandwidth. Therefore lower stack heights mean a much lower $/bandwidth proposition to end customers, meaning opting for lower stack heights is almost a free lunch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ObOo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60418044-6f62-4f41-a607-7c5ee52c61ea_1588x946.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="867" src="https://substackcdn.com/image/fetch/$s_!ObOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60418044-6f62-4f41-a607-7c5ee52c61ea_1588x946.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Bandwidth vs Capacity? Bandwidth is King&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;While different AI workloads require both capacity and bandwidth, there are tilts towards whether bandwidth or capacity matter more depending on workload. We can divide AI compute into 3 major buckets: pre-training compute, post-training/reinforcement learning compute, inference compute. Reinforcement learning is very similar to inference therefore requires similar architectures. Among these 3 buckets, inference decode is primarily bandwidth constrained: each token generated requires a read of all the active model parameters as well as the user&amp;#8217;s KVCache that is stored in memory. Reinforcement Learning (which is inference-like) is still tilted towards being bandwidth constrained but requires more capacity than inference due to the focus on large batches. Meanwhile pre-training is much more sensitive to capacity as HBM is used to store weights, gradients and activations during a training run, rather than just weights and user KV for an inference forward pass.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A big change has been the share of compute allocated to pre-training has shrunk significantly as end token demand has increased and post-training techniques became a major vector for model scaling. The result is that the majority of allocated compute has now become bandwidth sensitive rather than capacity sensitive.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U8e4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0327e1f0-2057-4961-b0ba-d7eb63abac64_1935x1212.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="912" src="https://substackcdn.com/image/fetch/$s_!U8e4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0327e1f0-2057-4961-b0ba-d7eb63abac64_1935x1212.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Source: SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This is not to say that capacity is irrelevant for inference, capacity is important up to a point. One of the big weaknesses of the Cerebras and Groq SRAM machines is their lack of capacity despite abundant SRAM bandwidth allowing very fast token serving. In short, there is a threshold level of capacity required: an inference system needs to have enough high bandwidth memory capacity to hold model weights as well as users&amp;#8217; KVCache. Beyond that threshold there are diminishing returns to having more capacity as we will show.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other important point is that this is not memory per chip, but rather aggregate memory per system. Frontier model sizes have long stopped being able to fit on the memory of a single chip, and need to be sharded across the memory of multiple chips. This is why networking is such an integral part of AI system design. For the MoE architecture that all frontier models of today adopt, the optimal system is often a single scale up world with fast and low-latency communications (such as NVLink within a whole rack) that can support wide expert parallelism, where only a few experts are loaded onto each GPU. This set up allows each expert to process larger token batches and improves compute and memory bandwidth utilization, at the expense of far more all-to-all communication costs between GPUs&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!P7Es!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73333702-e5df-41c1-9333-a24a9b51b6cf_2048x1503.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1069" src="https://substackcdn.com/image/fetch/$s_!P7Es!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73333702-e5df-41c1-9333-a24a9b51b6cf_2048x1503.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Nvidia, Hugging Face&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While both model weights and user KVCache capacity requirements have grown, the huge increase in scale up world sizes have allowed aggregate memory per node to more than keep up. In the Hopper-era, one H100 HGX system provided 640GB of aggregate HBM. The weights from Llama 3.1 405B (the best open source model at that time) would consume 63% of that capacity, leaving some (but not a lot of) headroom for KVCache. This was why the additional 61GB per GPU that the H200 provided was so important. With 1,128GB of memory per server, this provided a lot of incremental headroom to fit more  KVCache and serve more concurrent users.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With GB300 NVL72 rack scale solutions, Nvidia delivered 9x the scale up world size in addition to doubling HBM per GPU by using 12-hi HBM and increasing the number of HBM cubes per GPU. This resulted in an 18x increase in aggregate HBM capacity compared to the H200 HGX. This has significantly outpaced the almost 7x growth in parameters of the largest open source model available today: Kimi K3 2.8T. The capacity burden is also reduced significantly by quantizing down to 4 bit quarter precision from 16/8 bit. One replica of Kimi K3 at 2.8T stored in MXFP4 only takes up 1,561GB, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;less than 8%&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; of the almost 21TB of HBM available on GB300 NVL72. The increase in scale up world size is also not slowing down. The big upgrade with Rubin Ultra is moving to NVL576, another 8x increase from NVL72, which more than offsets the one third reduction in HBM capacity per GPU.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!ahjd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8d0072e-9856-4d4d-96d7-f05cff1662cc_2048x438.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="311" src="https://substackcdn.com/image/fetch/$s_!ahjd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8d0072e-9856-4d4d-96d7-f05cff1662cc_2048x438.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Moonshot, Nvidia, AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the rack-scale server era and beyond, memory capacity available is well above what is necessary for model weights, providing a very comfortable amount of headroom for user KVCache. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/spacex-10gw-in-2027-why-its-real"&gt;&lt;span&gt;Systems can now comfortably support inference requests with very large context lengths and at good enough concurrency to support very high inference margins&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This eases a lot of the HBM capacity pressures and allows HBM density per chip to relax. This is a different paradigm from the previous era of smaller serving deployments where model weights consumed a substantial portion of total memory. Back then increasing HBM density per GPU was a critical way to get valuable capacity headroom.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While the lower stacks, cheaper bandwidth argument has been a valid one, we are only now seeing this trend of taller stacks reverse as the minimum HBM capacity per chip threshold has only recently moved much lower. We think this trend goes even further. Silicon and hardware teams at frontier labs see 4-hi HBM as the optimal SKU for many inference workloads as it delivers the best performance/TCO and now we will dive deeper into why.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The Optimal Mix of Bandwidth and Capacity&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;There is an optimal ratio of bandwidth and capacity, and often this capacity ends up being over-provisioned or stranded where the bandwidth per token is not enough to read all the available capacity in HBM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s start with a simple example. Each HBM4E stack provides 3,328 GB/s of nominal peak bandwidth ( assuming 2048 pins at 13 Gbps each). For HBM4E each core die is 32-Gb which results in 16 GB, 32 GB, and 48 GB for 4-hi, 8-hi, and 12-hi stacks, respectively. An illustrative single sequence of 100 tokens/s, 3,328/100=33.28GB of memory bandwidth is available per token. We then divide this bandwidth available per token by cube capacity to get to the number of reads of the total stack capacity each token is able to perform. At 1 stack read per token this means capacity and bandwidth are matched perfectly: one token has the available bandwidth to read all the working data stored in HBM and no more and no less.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A number above 1 means bandwidth is &amp;#8220;overprovisioned&amp;#8221; relative to capacity, as a token only needs one read of the working set (i.e. one forward pass). However, the bandwidth is rarely &amp;#8220;excess&amp;#8221; as the additional bandwidth budget can be used up by increasing tokens per second. A number below 1 means that a token doesn&amp;#8217;t have available bandwidth to read all the available HBM capacity. To serve tokens at that given throughput the working set can be no larger than available bandwidth per token, so it must be lower than total memory capacity. This results in excess memory capacity that is overprovisioned.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!4Nor!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2a7ce09-dd9a-4188-ad74-e17e28206704_2048x403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="287" src="https://substackcdn.com/image/fetch/$s_!4Nor!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2a7ce09-dd9a-4188-ad74-e17e28206704_2048x403.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As we can see in the illustrative table above, an increase in tokens/s lowers bandwidth available per token, pushes the stack reads/token ratio lower, therefore increasing the likelihood that capacity is overprovisioned. This creates the asymmetry where it is preferable to have a lot of bandwidth compared to a lot of capacity. Bandwidth can normally be used up in its entirety, while spare capacity can not always be used up whilst also carrying a cost that is only getting higher.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, this is a simple analysis that ignores batching requests to serve multiple concurrent users. Batching plays a key role in inference economics as batching can maximize total token throughput at given levels of interactivity. The big saving from batching comes from amortizing one read of weights across multiple users&amp;#8217; requests. Higher concurrency also consumes memory capacity as each individual user&amp;#8217;s KVcache needs to be loaded into memory. Increasing batch size is often how inference workloads become memory capacity bounded rather than bandwidth bounded. When HBM capacity is easily enough to hold model weights, the benefit of additional HBM capacity is that it can deliver higher token throughput, and why the additional bits can be worth the BOM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gXkH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93801de-a193-483d-b6ec-26807a208797_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!gXkH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93801de-a193-483d-b6ec-26807a208797_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When factoring in batching, the result is this generalized curve above. All else equal, having taller stacks of HBM delivers higher throughput up until a certain per-user latency SLA, whereby the extra capacity becomes redundant. These are represented by the points where different curves overlap with each other.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The &amp;#8220;per-user latency SLA&amp;#8221; is a minimum interactivity assumption. This is a minimum rather than actual interactivity. In cases when concurrency is capped by capacity that means that there is additional bandwidth available to support higher tokens/s/user. So even though 4-hi can deliver lower concurrency, the faster token/s/user wholly or partially offsets the impact of lower batch size to increase total token throughput.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Concurrency is based on the lower of maximum concurrency when capacity-bound: the number of sets of individual users&amp;#8217; KVCache that can fit into memory; and when bandwidth-bound: maximum number of users that can be served at our minimum interactivity, which takes into account the bandwidth available per token calculation above. Multiplying users by tokens/s/user gets to total tokens generated per second which is throughput.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;These curves can tell us the value of that additional capacity provides in terms of inference performance by showing just how much greater token throughput can be achieved with more capacity (which comes through more batching), while also showing at which points on minimum interactivity the additional capacity doesn&amp;#8217;t add value.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is heavily dependent on model size or said another way the % of HBM capacity that needs to be dedicated to model weights. In general, the larger the model size, the curves will shift to the right so that taller stacks deliver more throughput at higher interactivity points. In addition, taller stacks will also deliver a greater increase in peak throughput. This goes back to batching economics. Every step reads the weights once regardless of batch size, so the larger the weight footprint, the more throughput each additional concurrent user unlocks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s put actual numbers to this to see what this looks like for the largest open source model today: Kimi K3. This is a roofline analysis, in reality, real achieved memory bandwidth is significantly lower than peak bandwidth. Real results will see the minimum interactivity thresholds shifted to the left, so the general conclusions will be the same. Also this exercise is focussed on just the decode pool in a disaggregated PD set up. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;For real delivered results see our InferenceX and AgentX benchmarks.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We use a Rubin Ultra NVL576 system as this will be a more representative scale up world size in the HBM4E era. We assume the HBM is HBM4E with 13Gbps speeds. 4-hi, 8-hi, and 12-hi means 128GB, 256GB, and 384GB per GPU respectively. For Kimi K3 on this NVL576 system, each GPU holds 16.8GB of weights which is 2.1GB per HBM stack. We can see that at a minimum SLA of 105 tok/s/user, 12-hi HBM doesn&amp;#8217;t deliver more throughput than 8-hi HBM. Then when the interactivity is doubled further to 213 tok/s/user, there is no benefit to having taller than 4-hi stacks. In terms of maximum throughput benefits, 8-hi provides an 8% increase in maximum total tokens/s vs 4-hi while 12-hi provides a 10% improvement. However, again stepping down to the maximum throughput that 4-hi can deliver allows for more than double the interactivity. We also reiterate that in reality, as not all of the raw memory bandwidth can be utilized, actual results will shift these curves to the left, meaning that the higher capacity breakeven interactivity points are lower and could push into the speeds that users find unacceptably low.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pidP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7608023b-e2a4-4c9e-bf39-b5273dda376c_2037x1261.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="901" src="https://substackcdn.com/image/fetch/$s_!pidP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7608023b-e2a4-4c9e-bf39-b5273dda376c_2037x1261.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Moonshot&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We can see that while more capacity can deliver marginally more token throughput for these models (putting aside the benefit of faster tokens). The question then becomes, is that additional throughput worth the additional BOM cost associated with more memory. HBM is a significant part of accelerator BOM cost, and with HBM so tight, the cost per GB will rise dramatically next year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When taking into account costs, we model the BOM cost increase the end owner pays relative to a baseline HBM4E 4-hi based Rubin Ultra for the Rubin Ultra NVL576 system. The all-in system cost increase (which we proxy as TCO as all-in system cost makes up the vast majority of TCO) of 8-Hi is 12.1% relative to a base 4-hi system and for 12-hi it becomes a 26.3% premium. We can then compare the increase in token throughput relative to the cost increase at different points on minimum interactivity to show whether more memory can deliver lower cost per token at any of those points.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Fgxg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34b7a95f-f8af-4fa6-9b4c-d1de65036ce6_2001x1204.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="876" src="https://substackcdn.com/image/fetch/$s_!Fgxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34b7a95f-f8af-4fa6-9b4c-d1de65036ce6_2001x1204.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Overall we see that the increase in throughput provided by 12-hi or 8-hi HBM comes in below the increased system cost associated with more memory, meaning at these memory prices (along with Nvidia&amp;#8217;s margin stack), 12-Hi and 8-Hi HBM result in higher cost per token than 4-hi HBM. This comes before we even take into account more HBM conserving techniques, namely KVCache offloading to lower tiers of memory. This next section will show an actual production run we performed to show how lower memory impacts actual throughput.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;A Real Experiment: KVCache Offloading Relieves Capacity Pressure&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;While reducing HBM capacity cuts into the amount of KVCache that is stored as long as model weights are able to be fit, second tier DRAM can be used to store KVCache that is less &amp;#8220;hot&amp;#8221; and requires instant retrieval. This is becoming more common in agentic workloads that have very high context lengths that place pressure on HBM capacity but also have long pauses between turns, making it worthwhile to expel KVCache into DRAM or even storage rather than recomputing it altogether. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;In our recent AgentX benchmarking, many workloads&amp;#8217; pareto optimal results were obtained with KVCache offloading above certain concurrencies&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To test the impact of reduced HBM in a real workload, we ran InferenceX benchmarks on Kimi K3 with reduced HBM. The system was with 16 GB300 GPUs, with a disaggregated setup of 8 GPUs for the prefill pool and 8 GPUs for the decode pool. The restricted memory workload was run with 85% HBM utilization compared to 92% HBM utilization normally. Yes, this is only an 8% reduction in HBM, which is very far from a 50% reduction when going from 8-hi to 4-hi, however this is with Kimi K3 being served on only 8 GPUs so weights take up a significant portion of memory. This ends up being a 20GB reduction per GPU of KVCache storage. Specifically, for aggregate serving it brings down the GPU KV budget from 53GB to 34GB which is a 36% reduction. For disaggregated pairs it is 44GB to 24GB, which is a 44% reduction. Overall, this is a sizeable reduction in the HBM budget for KVCache.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of results, we see that up to most points on the curve the HBM restricted run delivered very similar throughput (denoted by the dotted red curve). However once concurrency hit above 70 is when throughput dropped dramatically by almost 30% compared to the higher HBM run. This is the point when peak GPU KV occupancy hit 100% for the restricted memory version. At that point preemption, repeated loading, and queueing affect that throughput. Note that this also hits at a point of the curve that is high concurrency but very low interactivity. We know that DRAM offloading was used much more as the lower HBM-restricted profile had over 10x the amount of reads to DRAM KVCache compared to the higher HBM profile at the same concurrency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rLFg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb82a986-d735-4e0f-bc62-4288f520bea1_2048x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="924" src="https://substackcdn.com/image/fetch/$s_!rLFg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb82a986-d735-4e0f-bc62-4288f520bea1_2048x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We can see in a real workload that KVCache offload to DDR DRAM can help relieve HBM capacity pressures very effectively. This is for Kimi K3, which doesn&amp;#8217;t take into account some of the even more extreme cache reduction techniques introduced in the latest DeepSeek v4.1 Flash model, which reduce active KVCache sizes by around 75% compared to v4 Flash. At these reduced KVCache levels, increasing concurrency to utilize all the HBM capacity is likely to mean that the workload becomes compute and network bound rather than capacity bound, therefore also diminishing the value of a taller HBM stack.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Does 4-hi Give Up Future Proofing Optionality?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In our K3 roofline analysis using HBM4E on NVL576, the obvious flaw is that we are using a present workload on a future system to show that 4-hi is sufficient. It will only be a year later when these larger scale up domains are available along with HBM4E and frontier models will only have scaled more. In addition, AI servers are deployed for over 5-year lifespans, and will need to be able to continue serving tokens through that period.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The capacity being sacrificed could underestimate optimal capacity needs for future workloads significantly if model sizes for future workloads become much larger. For instance, assuming a future model that is 3x the size of Kimi K3 (along with per user KVCache also tripling in size), the throughput increase from taller stacks of HBM is much better. 12-hi can deliver 47% more total tokens than 4-hi, and 8-hi delivers 36% more tokens, though at half the speed. In this scenario, the additional capacity starts to become more justified and the decision comes down to how valuable the faster tokens are.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yUdX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d9df92-0ad7-4cc2-b4b1-427ff3fcc49e_2038x1240.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!yUdX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d9df92-0ad7-4cc2-b4b1-427ff3fcc49e_2038x1240.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When taking into account costs into this analysis, in this case 8-hi delivers more throughput than the TCO increase at below 180 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hLoz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5447656a-15b3-45b9-8b96-2c17b1cb5812_2023x1287.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!hLoz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5447656a-15b3-45b9-8b96-2c17b1cb5812_2023x1287.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, going to 12-hi vs 8-hi isn&amp;#8217;t worth it, nowhere on the curve is 12-hi&amp;#8217;s increase in token throughput greater than the BOM cost increase.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UTEN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd232f683-16e8-46ea-a275-86ec7f6a7e2a_2048x1247.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="887" src="https://substackcdn.com/image/fetch/$s_!UTEN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd232f683-16e8-46ea-a275-86ec7f6a7e2a_2048x1247.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;There are several counter-arguments to this. First, scaling parameters and therefore model weights is no longer as important for model capability. The use of significantly more reinforcement learning as well as more reasoning/thinking time have been key developments that have resulted in more efficient model architecture. Also, &lt;/span&gt;&lt;a href="https://x.com/merettm/status/2095023204993490967"&gt;&lt;span&gt;it is effectively confirmed that GPT-6 Astra uses looped transformers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and there is a lot of speculation that this is the case for Anthropi&amp;#8217;s largest models as well. Looped transformers effectively run the input through transformer layers multiple times. This scales the model through depth rather than by adding weights.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, if 4-hi accelerators become a significant part of the AI server accelerator installed base, researchers will adapt their models so that they can be effectively served with this hardware. Additionally, we understand that it is the Frontier Labs&amp;#8217; hardware teams who are the most in favour of 4-hi HBM. These teams are obsessed with hardware/software co-design, and their calling for 4-hi reflects that future models are heading in a direction that don&amp;#8217;t require that capacity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Lastly, the big picture is that everyone building and serving models has the goal of serving maximum tokens. Going to 4-hi stacks is what will ensure this&amp;#8230;&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Maximizing &lt;/span&gt;&lt;s&gt;&lt;span&gt;Tokens/Watt&lt;/span&gt;&lt;/s&gt;&lt;span&gt; Tokens/HBM Wafer&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The optimal hardware architecture is what maximizes output per scarce resource. We are in a world of many shortages when it relates to building out AI infrastructure. Power is one of the key ones, which is why &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/212647373/performance-analysis"&gt;&lt;span&gt;optimizing for tokens/W is so important and a key metric that inference providers and hardware architects are trying to optimize for&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Of course, money is a finite resource and why performance/TCO has been an evergreen figure of merit driving hardware decisions.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As we mentioned above, one of the other major constraints is the supply of HBM wafers. While not talked about, optimizing for tokens/HBM wafer can be thought of in the same vein as tokens/w and tokens/TCO. The way to do that is simple: use 4-hi HBM. As you can get the same bandwidth from a 4-hi stack as an 8-hi or 12-hi stack, in simple terms the 4-hi means triple the memory bandwidth that can be harvested from each HBM wafer if that wafer was used for 12-hi HBM, or double the bandwidth of an 8-hi wafer. The numbers are even better than that when factoring in the higher packaging yields from 4-hi. As memory bandwidth generally equates to token throughput, this means 4-hi is the way to go in terms of getting the most out of a limited supply of HBM supply.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;By going to 4-hi, the amount of HBM cubes harvestable compared to 8-hi could more than double. These cubes are only useful if they can be co-packaged with an accelerator and put into a system. This means that the bottleneck moves away from HBM wafers to other parts of the supply chain like logic wafers (both for the accelerators and the HBM base die), substrates, PCBs, downstream integration capacity as well as many other components in between. Let&amp;#8217;s not forget all the power needed to deploy more systems. Overall, though, we believe the rest of the supply chain is able to ramp capacity faster than DRAM supply over the next few years. Even if the AI server supply chain can&amp;#8217;t match the supply needed to accommodate double the HBM cubes, this also frees wafers for conventional DRAM that can serve other applications that are memory starved because of HBM&amp;#8217;s cannibalizing effect on overall DRAM supply. The first that comes to mind is server DRAM, with DRAM per socket being cut dramatically to make the most of limited server DRAM supply. This is also very much related to supporting agentic workloads, where  large amounts of time are actually spent waiting on a CPU-related execution rather than the GPU to decode tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Behind the paywall, we will discuss what the impact is on memory suppliers and how 4-hi could benefit them, as well as how they are responding. We have significantly more insights, product sku / supplier decisions, and demand / supply details in our &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Memory Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Memory Supplier Impact&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/long-live-the-short-king-why-4-hi"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-13T10:19:39+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i</id>
    <title>Nvidia’s Backstop Universe – Heads I Win, Tails Who Loses?</title>
    <updated>2026-09-11T09:04:52+00:00</updated>
    <author>
      <name>Daniel Nishball</name>
    </author>
    <content type="html">&lt;p&gt;&lt;em&gt;Follow the money behind the AI buildout with our &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;AI Compute, Capital and Markets Model&lt;/a&gt; - understand who is funding the expansion, how deals are structured, and where the risks sit. Contact our team &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;here&lt;/a&gt; to find out more.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;We&amp;#8217;re also hiring for SemiAnalysis&amp;#8217;s Compute, Capital &amp;amp; Markets team. We have four openings across New York and Singapore:&lt;/em&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;Senior Credit Markets Specialist - New York: 5-7 years in credit sales, sales trading, or trading, with strong pricing knowledge and investor relationships.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;Credit Analyst - New York: 5-7 years in credit analysis, ideally covering high-yield, distressed, or complex debt.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;Two Junior Credit Analysts - New York and Singapore: 0-3 years of experience, with strong financial modeling skills. Recent graduates are welcome; prior specialization in credit, semiconductors, or AI is not required.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;If you want to combine financial analysis with a detailed understanding of the technology and economics behind AI infrastructure, we&amp;#8217;d like to hear from you - apply &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;An expanded view of Nvidia&amp;#8217;s Balance Sheet&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;As of 2Q F1/27 (second quarter of fiscal year ended Jan 2027) Nvidia in its 10-Q disclosed $530B of gross off-balance sheet guarantees across six different line items &amp;#8211; a jump from $184B of obligations disclosed in the prior quarter due mainly to moves in three items:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Supply and capacity commitments went from $119B to $279B, primarily memory as explained by the CFO, with 96% of these supply commitments due by F1/29.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Guarantees and LPS Guarantees went from $3.5B to $108.5B on SB Energy&amp;#8217;s PORTS-Pike campus in Ohio, representing 4.25 GW leased to OpenAI for twenty years with Nvidia guaranteeing the land, power and shell.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Two line items appeared for the first time: $36B of AI cloud agreements, the take-or-pay floors under Neocloud capacity, and $20B of datacenter leases Nvidia has signed as a tenant but expects to reassign to third parties.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The $530B of commitments dwarf on-balance sheet liabilities of $91B, which includes $33.4B of total debt with $25B of senior notes issued in the most recent quarter. On the asset side, Nvidia&amp;#8217;s cash balance has increased from $12B to $22B in the past few quarters, but its investment book (marketable and non-marketable securities) has leapt from $45B in 2Q F1/26 to $128B by 2Q F1/27. The $99B equity book generated $23.7B of gains in the first half, and $25B more of equity investments are committed.&lt;/p&gt;&lt;p&gt;The question on everyone&amp;#8217;s mind is this: given Nvidia&amp;#8217;s on-balance sheet and off-balance sheet obligations, what is its capacity to meet all of these commitments in the case of an industry slowdown or downturn, and how much can Nvidia grow these obligations over time while still enjoying a margin of safety? How much support does the industry need and how much support &lt;strong&gt;should&lt;/strong&gt; Nvidia offer?&lt;/p&gt;&lt;p&gt;In the chart below, we illustrate the history of these off-balance sheet items as well as our estimates of how much additional obligations Nvidia can reasonably support given its balance sheet and future cash flows. To be clear, this does not represent our base case or a definitive forecast for where we think Nvidia will go with its various backstops. Rather it focuses on the extent of Nvidia&amp;#8217;s &lt;span&gt;ability&lt;/span&gt; to support obligations given its business profile, and we argue given this considerable firepower, that it &lt;strong&gt;should&lt;/strong&gt; have the &lt;span&gt;willingness&lt;/span&gt; to continue expanding these commitments significantly.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pB4q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94950a-1e04-42e0-b237-830e196c667f_10117x5325.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="766" src="https://substackcdn.com/image/fetch/$s_!pB4q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94950a-1e04-42e0-b237-830e196c667f_10117x5325.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;What is obvious from the diagram above is that Nvidia is a true behemoth when it comes to cash generation &amp;#8211; consensus estimates have it generating ~$441B of EBITDA in F1/28, and this is why we reflect this via a growth of the cash balance to $1.4T by F1/31 &amp;#8211; though in reality Nvidia will most likely reinvest this cash into various securities. These are huge numbers, yet the scale of overall AI investment is larger &amp;#8211; we estimate ~$11T of cumulative capex from CY24 through CY29!. This note will explore how far Nvidia can take each form of support, and what impact this could make on the massive AI investment needs ahead of us.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LTkq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9456e6-b3ce-4e25-a11a-2a2fc6dc2df4_1331x907.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="907" src="https://substackcdn.com/image/fetch/$s_!LTkq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9456e6-b3ce-4e25-a11a-2a2fc6dc2df4_1331x907.png" width="1331" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Why all the Guarantees and Backstops?&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;The mechanism that gives rise to these off-balance sheet guarantees and backstops is the same one we described in &lt;a href="https://semianalysis.com/institutional/the-front-end-gets-crowded-nvidias-500b-push-broadcoms-response-and-the-next-wave-of-ai-credit/"&gt;The Front End Gets Crowded&lt;/a&gt; (institutional article). The Gigascalers (Amazon, Microsoft, Google, Meta, Oracle) have been gatekeeping the investment grade capital that the AI buildout runs on and have benefitted tremendously from the high spread between offtake price they are being charged, and spot/short-term price that they are selling at as well as services that sit on top. In response, Nvidia has been manufacturing alternative credit anchors so Neoclouds and Neolabs can raise money without the Gigascalers. In these support arrangements, Nvidia sells GPUs at full margin on day one, then floors the buyer&amp;#8217;s revenue (in the case of the AI Cloud Partner (AICP) Program), or guarantees the buyer&amp;#8217;s landlord, or signs the lease itself, all so that non IG-rated operators can effectively borrow at IG rated pricing.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Heads, demand holds and Nvidia wins twice,&lt;/strong&gt; once on the GPU sale at full margin and again on the revenue share above the floor. &lt;strong&gt;Tails, demand falls and the Neocloud makes no money but remains solvent, as the revenue floor is set high enough to repay lenders.&lt;/strong&gt; Nvidia&amp;#8217;s backstops and guarantees also act as a breakwater against further contagion as lenders have some shielding from a downturn. Yet how high and broad the breakwater that is the Nvidia backstop/guarantee depends on Nvidia&amp;#8217;s ability to meet these obligations.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Risk reward is asymmetric in Nvidia&amp;#8217;s favor as long as its balance sheet remains strong.&lt;/strong&gt; Nvidia loses only if the backstopped Neoclouds fail to meet their lease and offtake commitments at the same time that Nvidia&amp;#8217;s own business and cash generation slow, degrading its ability to make good on these obligations. The two are correlated, since a Neocloud that cannot pay its lease is a Neocloud that has stopped buying GPUs. Only if a downcycle is steep enough to overwhelm Nvidia&amp;#8217;s ability to meet its off-balance sheet obligations, then it will be tails, we all lose.&lt;/p&gt;&lt;p&gt;By our count, Nvidia today backstops ~6.5 GW of capacity, most of which is not yet built. Our datacenter model has Microsoft, Meta, AWS and Oracle leasing roughly 15 GW of third-party capacity in 2026 and we expect them to lease more than 35 GW by 2028. Each of those leases typically run fifteen to twenty years, and developers borrow against them with investment grade pricing. The Gigascalers are the implicit backstop of the buildout and are in aggregate far larger force than Nvidia&amp;#8217;s backstopped capacity, yet Nvidia&amp;#8217;s program gets the attention because it is new and because many investors have Cisco PTSD, contracted vicariously without an appreciation for the dissimilarities.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3Kwp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a7879f-403c-43dc-b849-42258bcfa2b1_2847x1099.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="562" src="https://substackcdn.com/image/fetch/$s_!3Kwp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a7879f-403c-43dc-b849-42258bcfa2b1_2847x1099.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We will now explore how this support could evolve in detail &amp;#8211; walking the six off-balance sheet obligation lines in the recent quarter&amp;#8217;s disclosure, plus a new one we have created to track residual value guarantees under the capital partnership.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;AI Cloud Agreements&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;This line item made its debut in the 2Q F1/27 earnings report released on August 26th, 2026 at $36B of aggregate obligation, spread across six years. It represents Nvidia&amp;#8217;s AI Cloud Partner (AICP) program, where Nvidia backstops GPU rental contracts for six years at a below market rate, approximately $2.35/hr/GPU on average for the GB300 vs the $4.50 to $4.60 range for 5y contracts, with the intent of making these AI clusters bankable. Neoclouds in this program would then seek to rent out compute on shorter term contracts to AI Natives and other tenants, but can always rent to Nvidia at any time should these contracts fall through or not renew. We published an &lt;a href="https://newsletter.semianalysis.com/p/nvidia-gpu-debt-backstop-unleashes"&gt;extensive analysis of this structure in a July 2026 Newsletter Article&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FpbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b902809-345f-4000-b62b-3bb2f6022a99_2592x1517.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!FpbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b902809-345f-4000-b62b-3bb2f6022a99_2592x1517.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;There are three deals announced so far under AICP: Firmus&amp;#8217;s 360MW deal in Batam corresponds to a $21.1B total obligation, the SharonAI deal means $4.2B of obligations and we estimate the GMI deal corresponds to $2.2B of obligations for Nvidia. We believe there are still a few deals that have been completed before &lt;a href="https://www.wsj.com/tech/nvidia-pauses-revenue-sharing-deals-with-ai-cloud-companies-9c71454e?mod=author_content_page_1_pos_4"&gt;Nvidia reportedly paused AICP&lt;/a&gt; two weeks ago and estimate this line item will close F1/27 at $51B.&lt;/p&gt;&lt;p&gt;We do understand that Nvidia is not advancing any further AICP deals at this time, but believe that they still wish to be supportive in one form or another. In this analysis, our forward modeling still assumes considerable growth in this line item to reflect our view that Nvidia should offer support in some form, as well as to explore how far Nvidia could go in terms of explicit support.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ouqz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f430a90-ab4c-426a-9bf0-97b999130ffc_4492x2403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="779" src="https://substackcdn.com/image/fetch/$s_!ouqz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f430a90-ab4c-426a-9bf0-97b999130ffc_4492x2403.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Residual Value Guarantees under Capital Partnerships&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Earlier in August 2026, Nvidia announced its partnership with a number of private equity funds to mobilize over $500B of third-party capital to support the buildout of AI Clusters. Under this program, institutional investors are in the driver&amp;#8217;s seat and will evaluate and price each proposed project, with the only support from Nvidia being a residual value guarantee for up to 25% of a deal. In his &lt;a href="https://x.com/JensenHuang/status/2086934705207959965"&gt;X post detailing the program&lt;/a&gt;, Jensen Huang highlighted that this support would be limited and on a project-by-project basis. Though there are few details on what such a program could look like, we drew inspiration from the Google-Broadcom-Anthropic-Apollo TPU structure to surmise how deals could be structured.&lt;/p&gt;&lt;p&gt;In the TPU backstop structure, if Anthropic is unable to continue to service lease payments to the TPU SPV, then the structure can be resolved by Broadcom assuming the lease or by the racks being sold. If the racks are sold, then the residual value guarantee takes effect, as Broadcom must then make the senior noteholders whole after such equipment sale &amp;#8211; effectively plugging the residual value gap, if any. The deal gets better &amp;#8211; Google will play its part by also backstopping rental payments to the various datacenter operators. The effect is that lenders to the TPU SPV are effectively taking Broadcom credit risk while lenders to the datacenters are taking Google credit risk.&lt;/p&gt;&lt;p&gt;Nvidia&amp;#8217;s proposed structure would appear to wean investors away from this dual backstop as it not only reduces the residual value guarantee to only up to 25%, but it also is silent on any datacenter backstop.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MNOb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f985c8-8b14-4f92-88c6-91aacc465e7f_2105x1420.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="982" src="https://substackcdn.com/image/fetch/$s_!MNOb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f985c8-8b14-4f92-88c6-91aacc465e7f_2105x1420.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We think that the funds could tranche the lending to create different pools of risk, with the first loss being taken by riskier equity/mezzanine style lending and the last loss taken by more senior creditors. Nvidia&amp;#8217;s 25% residual value guarantee would insert itself above the senior lenders but after the equity/mezzanine investors, adding a meaningful amount of crumple room to the structure, which could place the senior tranche at low enough risk of actual shortfall to attract conservative lenders like banks.&lt;/p&gt;&lt;p&gt;This structure can also provide the most bang for buck when it comes to Nvidia&amp;#8217;s off-balance sheet obligations. While the AICP creates $59B of obligations per GW of capacity enabled and the PORTS-Pike structure requires $25B of obligations per GW, the residual value structure would only require $9.4B of obligations per GW enabled, though the datacenter leg still needs to be solved for.&lt;/p&gt;&lt;p&gt;While Nvidia has said the program targets over $500B of capital, we think it will likely swell larger due to the strong compute demand. In the spirit of examining the full extent of Nvidia&amp;#8217;s maneuverability, we take an aspirational stance, assuming $2.5T of total funding under this program through F1/31, with the obligations under this line item ending F1/27 at $55B before growing to $373B by F1/31.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zvVd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ca56cf-6c00-422e-a710-59b69341667b_4493x2403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="779" src="https://substackcdn.com/image/fetch/$s_!zvVd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ca56cf-6c00-422e-a710-59b69341667b_4493x2403.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;Cloud Service Agreements&lt;/strong&gt;&lt;/h3&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i"/>
    <summary type="html">&lt;p&gt;&lt;em&gt;Follow the money behind the AI buildout with our &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;AI Compute, Capital and Markets Model&lt;/a&gt; - understand who is funding the expansion, how deals are structured, and where the risks sit. Contact our team &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;here&lt;/a&gt; to find out more.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;We&amp;#8217;re also hiring for SemiAnalysis&amp;#8217;s Compute, Capital &amp;amp; Markets team. We have four openings across New York and Singapore:&lt;/em&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;Senior Credit Markets Specialist - New York: 5-7 years in credit sales, sales trading, or trading, with strong pricing knowledge and investor relationships.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;Credit Analyst - New York: 5-7 years in credit analysis, ideally covering high-yield, distressed, or complex debt.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;Two Junior Credit Analysts - New York and Singapore: 0-3 years of experience, with strong financial modeling skills. Recent graduates are welcome; prior specialization in credit, semiconductors, or AI is not required.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;If you want to combine financial analysis with a detailed understanding of the technology and economics behind AI infrastructure, we&amp;#8217;d like to hear from you - apply &lt;a href="https://semianalysis.com/semianalysis-careers/"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;An expanded view of Nvidia&amp;#8217;s Balance Sheet&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;As of 2Q F1/27 (second quarter of fiscal year ended Jan 2027) Nvidia in its 10-Q disclosed $530B of gross off-balance sheet guarantees across six different line items &amp;#8211; a jump from $184B of obligations disclosed in the prior quarter due mainly to moves in three items:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Supply and capacity commitments went from $119B to $279B, primarily memory as explained by the CFO, with 96% of these supply commitments due by F1/29.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Guarantees and LPS Guarantees went from $3.5B to $108.5B on SB Energy&amp;#8217;s PORTS-Pike campus in Ohio, representing 4.25 GW leased to OpenAI for twenty years with Nvidia guaranteeing the land, power and shell.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Two line items appeared for the first time: $36B of AI cloud agreements, the take-or-pay floors under Neocloud capacity, and $20B of datacenter leases Nvidia has signed as a tenant but expects to reassign to third parties.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The $530B of commitments dwarf on-balance sheet liabilities of $91B, which includes $33.4B of total debt with $25B of senior notes issued in the most recent quarter. On the asset side, Nvidia&amp;#8217;s cash balance has increased from $12B to $22B in the past few quarters, but its investment book (marketable and non-marketable securities) has leapt from $45B in 2Q F1/26 to $128B by 2Q F1/27. The $99B equity book generated $23.7B of gains in the first half, and $25B more of equity investments are committed.&lt;/p&gt;&lt;p&gt;The question on everyone&amp;#8217;s mind is this: given Nvidia&amp;#8217;s on-balance sheet and off-balance sheet obligations, what is its capacity to meet all of these commitments in the case of an industry slowdown or downturn, and how much can Nvidia grow these obligations over time while still enjoying a margin of safety? How much support does the industry need and how much support &lt;strong&gt;should&lt;/strong&gt; Nvidia offer?&lt;/p&gt;&lt;p&gt;In the chart below, we illustrate the history of these off-balance sheet items as well as our estimates of how much additional obligations Nvidia can reasonably support given its balance sheet and future cash flows. To be clear, this does not represent our base case or a definitive forecast for where we think Nvidia will go with its various backstops. Rather it focuses on the extent of Nvidia&amp;#8217;s &lt;span&gt;ability&lt;/span&gt; to support obligations given its business profile, and we argue given this considerable firepower, that it &lt;strong&gt;should&lt;/strong&gt; have the &lt;span&gt;willingness&lt;/span&gt; to continue expanding these commitments significantly.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pB4q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94950a-1e04-42e0-b237-830e196c667f_10117x5325.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="766" src="https://substackcdn.com/image/fetch/$s_!pB4q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94950a-1e04-42e0-b237-830e196c667f_10117x5325.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;What is obvious from the diagram above is that Nvidia is a true behemoth when it comes to cash generation &amp;#8211; consensus estimates have it generating ~$441B of EBITDA in F1/28, and this is why we reflect this via a growth of the cash balance to $1.4T by F1/31 &amp;#8211; though in reality Nvidia will most likely reinvest this cash into various securities. These are huge numbers, yet the scale of overall AI investment is larger &amp;#8211; we estimate ~$11T of cumulative capex from CY24 through CY29!. This note will explore how far Nvidia can take each form of support, and what impact this could make on the massive AI investment needs ahead of us.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LTkq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9456e6-b3ce-4e25-a11a-2a2fc6dc2df4_1331x907.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="907" src="https://substackcdn.com/image/fetch/$s_!LTkq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9456e6-b3ce-4e25-a11a-2a2fc6dc2df4_1331x907.png" width="1331" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Why all the Guarantees and Backstops?&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;The mechanism that gives rise to these off-balance sheet guarantees and backstops is the same one we described in &lt;a href="https://semianalysis.com/institutional/the-front-end-gets-crowded-nvidias-500b-push-broadcoms-response-and-the-next-wave-of-ai-credit/"&gt;The Front End Gets Crowded&lt;/a&gt; (institutional article). The Gigascalers (Amazon, Microsoft, Google, Meta, Oracle) have been gatekeeping the investment grade capital that the AI buildout runs on and have benefitted tremendously from the high spread between offtake price they are being charged, and spot/short-term price that they are selling at as well as services that sit on top. In response, Nvidia has been manufacturing alternative credit anchors so Neoclouds and Neolabs can raise money without the Gigascalers. In these support arrangements, Nvidia sells GPUs at full margin on day one, then floors the buyer&amp;#8217;s revenue (in the case of the AI Cloud Partner (AICP) Program), or guarantees the buyer&amp;#8217;s landlord, or signs the lease itself, all so that non IG-rated operators can effectively borrow at IG rated pricing.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Heads, demand holds and Nvidia wins twice,&lt;/strong&gt; once on the GPU sale at full margin and again on the revenue share above the floor. &lt;strong&gt;Tails, demand falls and the Neocloud makes no money but remains solvent, as the revenue floor is set high enough to repay lenders.&lt;/strong&gt; Nvidia&amp;#8217;s backstops and guarantees also act as a breakwater against further contagion as lenders have some shielding from a downturn. Yet how high and broad the breakwater that is the Nvidia backstop/guarantee depends on Nvidia&amp;#8217;s ability to meet these obligations.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Risk reward is asymmetric in Nvidia&amp;#8217;s favor as long as its balance sheet remains strong.&lt;/strong&gt; Nvidia loses only if the backstopped Neoclouds fail to meet their lease and offtake commitments at the same time that Nvidia&amp;#8217;s own business and cash generation slow, degrading its ability to make good on these obligations. The two are correlated, since a Neocloud that cannot pay its lease is a Neocloud that has stopped buying GPUs. Only if a downcycle is steep enough to overwhelm Nvidia&amp;#8217;s ability to meet its off-balance sheet obligations, then it will be tails, we all lose.&lt;/p&gt;&lt;p&gt;By our count, Nvidia today backstops ~6.5 GW of capacity, most of which is not yet built. Our datacenter model has Microsoft, Meta, AWS and Oracle leasing roughly 15 GW of third-party capacity in 2026 and we expect them to lease more than 35 GW by 2028. Each of those leases typically run fifteen to twenty years, and developers borrow against them with investment grade pricing. The Gigascalers are the implicit backstop of the buildout and are in aggregate far larger force than Nvidia&amp;#8217;s backstopped capacity, yet Nvidia&amp;#8217;s program gets the attention because it is new and because many investors have Cisco PTSD, contracted vicariously without an appreciation for the dissimilarities.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3Kwp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a7879f-403c-43dc-b849-42258bcfa2b1_2847x1099.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="562" src="https://substackcdn.com/image/fetch/$s_!3Kwp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a7879f-403c-43dc-b849-42258bcfa2b1_2847x1099.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We will now explore how this support could evolve in detail &amp;#8211; walking the six off-balance sheet obligation lines in the recent quarter&amp;#8217;s disclosure, plus a new one we have created to track residual value guarantees under the capital partnership.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;AI Cloud Agreements&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;This line item made its debut in the 2Q F1/27 earnings report released on August 26th, 2026 at $36B of aggregate obligation, spread across six years. It represents Nvidia&amp;#8217;s AI Cloud Partner (AICP) program, where Nvidia backstops GPU rental contracts for six years at a below market rate, approximately $2.35/hr/GPU on average for the GB300 vs the $4.50 to $4.60 range for 5y contracts, with the intent of making these AI clusters bankable. Neoclouds in this program would then seek to rent out compute on shorter term contracts to AI Natives and other tenants, but can always rent to Nvidia at any time should these contracts fall through or not renew. We published an &lt;a href="https://newsletter.semianalysis.com/p/nvidia-gpu-debt-backstop-unleashes"&gt;extensive analysis of this structure in a July 2026 Newsletter Article&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FpbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b902809-345f-4000-b62b-3bb2f6022a99_2592x1517.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!FpbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b902809-345f-4000-b62b-3bb2f6022a99_2592x1517.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;There are three deals announced so far under AICP: Firmus&amp;#8217;s 360MW deal in Batam corresponds to a $21.1B total obligation, the SharonAI deal means $4.2B of obligations and we estimate the GMI deal corresponds to $2.2B of obligations for Nvidia. We believe there are still a few deals that have been completed before &lt;a href="https://www.wsj.com/tech/nvidia-pauses-revenue-sharing-deals-with-ai-cloud-companies-9c71454e?mod=author_content_page_1_pos_4"&gt;Nvidia reportedly paused AICP&lt;/a&gt; two weeks ago and estimate this line item will close F1/27 at $51B.&lt;/p&gt;&lt;p&gt;We do understand that Nvidia is not advancing any further AICP deals at this time, but believe that they still wish to be supportive in one form or another. In this analysis, our forward modeling still assumes considerable growth in this line item to reflect our view that Nvidia should offer support in some form, as well as to explore how far Nvidia could go in terms of explicit support.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ouqz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f430a90-ab4c-426a-9bf0-97b999130ffc_4492x2403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="779" src="https://substackcdn.com/image/fetch/$s_!ouqz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f430a90-ab4c-426a-9bf0-97b999130ffc_4492x2403.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Residual Value Guarantees under Capital Partnerships&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Earlier in August 2026, Nvidia announced its partnership with a number of private equity funds to mobilize over $500B of third-party capital to support the buildout of AI Clusters. Under this program, institutional investors are in the driver&amp;#8217;s seat and will evaluate and price each proposed project, with the only support from Nvidia being a residual value guarantee for up to 25% of a deal. In his &lt;a href="https://x.com/JensenHuang/status/2086934705207959965"&gt;X post detailing the program&lt;/a&gt;, Jensen Huang highlighted that this support would be limited and on a project-by-project basis. Though there are few details on what such a program could look like, we drew inspiration from the Google-Broadcom-Anthropic-Apollo TPU structure to surmise how deals could be structured.&lt;/p&gt;&lt;p&gt;In the TPU backstop structure, if Anthropic is unable to continue to service lease payments to the TPU SPV, then the structure can be resolved by Broadcom assuming the lease or by the racks being sold. If the racks are sold, then the residual value guarantee takes effect, as Broadcom must then make the senior noteholders whole after such equipment sale &amp;#8211; effectively plugging the residual value gap, if any. The deal gets better &amp;#8211; Google will play its part by also backstopping rental payments to the various datacenter operators. The effect is that lenders to the TPU SPV are effectively taking Broadcom credit risk while lenders to the datacenters are taking Google credit risk.&lt;/p&gt;&lt;p&gt;Nvidia&amp;#8217;s proposed structure would appear to wean investors away from this dual backstop as it not only reduces the residual value guarantee to only up to 25%, but it also is silent on any datacenter backstop.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MNOb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f985c8-8b14-4f92-88c6-91aacc465e7f_2105x1420.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="982" src="https://substackcdn.com/image/fetch/$s_!MNOb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f985c8-8b14-4f92-88c6-91aacc465e7f_2105x1420.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We think that the funds could tranche the lending to create different pools of risk, with the first loss being taken by riskier equity/mezzanine style lending and the last loss taken by more senior creditors. Nvidia&amp;#8217;s 25% residual value guarantee would insert itself above the senior lenders but after the equity/mezzanine investors, adding a meaningful amount of crumple room to the structure, which could place the senior tranche at low enough risk of actual shortfall to attract conservative lenders like banks.&lt;/p&gt;&lt;p&gt;This structure can also provide the most bang for buck when it comes to Nvidia&amp;#8217;s off-balance sheet obligations. While the AICP creates $59B of obligations per GW of capacity enabled and the PORTS-Pike structure requires $25B of obligations per GW, the residual value structure would only require $9.4B of obligations per GW enabled, though the datacenter leg still needs to be solved for.&lt;/p&gt;&lt;p&gt;While Nvidia has said the program targets over $500B of capital, we think it will likely swell larger due to the strong compute demand. In the spirit of examining the full extent of Nvidia&amp;#8217;s maneuverability, we take an aspirational stance, assuming $2.5T of total funding under this program through F1/31, with the obligations under this line item ending F1/27 at $55B before growing to $373B by F1/31.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zvVd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ca56cf-6c00-422e-a710-59b69341667b_4493x2403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="779" src="https://substackcdn.com/image/fetch/$s_!zvVd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ca56cf-6c00-422e-a710-59b69341667b_4493x2403.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/capital-and-markets/"&gt;SemiAnalysis AI Compute, Capital and Markets Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;Cloud Service Agreements&lt;/strong&gt;&lt;/h3&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/nvidias-backstop-universe-heads-i"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-11T09:04:52+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/what-is-so-hard-about-behind-the</id>
    <title>What is So Hard About Behind-The-Meter Power For Datacenters? Part 1</title>
    <updated>2026-09-10T06:28:20+00:00</updated>
    <author>
      <name>Ellie Holbrook</name>
    </author>
    <content type="html">&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xp5B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe650d6-cdda-4d26-a83d-1e793cf406c0_1672x941.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!xp5B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe650d6-cdda-4d26-a83d-1e793cf406c0_1672x941.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Last year we were the first to call out &lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;Onsite Gas Generation as the primary method adopted by AI Labs and Hyperscalers to solve power constraints&lt;/a&gt;. Our positive view was far from being consensus: behind-the-meter primary power solutions have been called all sorts of names, such as &amp;#8220;&lt;a href="https://www.axios.com/2026/07/27/off-grid-ai-data-centers-reckoning"&gt;science experiments&lt;/a&gt;&amp;#8221;, &amp;#8220;&lt;a href="https://www.axios.com/2026/07/27/off-grid-ai-data-centers-reckoning"&gt;Dark Gigawatts&lt;/a&gt;&amp;#8221;, and &amp;#8220;&lt;a href="https://www.volts.wtf/p/doing-data-centers-the-not-dumb-way"&gt;literally the dumbest thing that human beings have ever attempted to do&lt;/a&gt;&amp;#8221;!&lt;/p&gt;&lt;p&gt;But since then, that supply chain has witnessed a massive acceleration. Our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; now tracks 75GW of firm, binding orders in the supply chain &lt;strong&gt;only for for behind-the-meter AI compute&lt;/strong&gt; - of which ~20GW alone ordered in Q2 2026. What started as an Elon Musk experiment is now mainstream for every single AI Lab and hyperscaler. To be clear, this data does not include the hundreds of GWs of speculative, baseless announcements that many other analysts track in their numbers - we only focus on binding orders received by OEMs specifically serving BTM AI compute, tracked at the project-level.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MUxs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187f762-eebb-4ebf-a9e3-18ff8491c84d_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!MUxs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187f762-eebb-4ebf-a9e3-18ff8491c84d_2430x1296.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The path from firm equipment order to delivered project is still long and challenging. There is substantial execution risk and that&amp;#8217;s what we&amp;#8217;ll focus on in this report. But the industry is more experienced than you&amp;#8217;d think: by the end of the year, ~3GW of operational US datacenter IT capacity will be powered behind-the-meter, and that number will experience multiple straight years of triple-digit growth. Our Energy and Datacenter models account for all potential delays, as we&amp;#8217;ve explained in depth in our piece &lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;Stop Saying Half of 2026 US Datacenter Capacity is Canceled&lt;/a&gt;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Cdhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!Cdhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Some of the most strategic projects developed by leading AI labs and hyperscalers are relying on behind-the-meter, supporting hundreds of billions of future revenue. Adoption has never been more broad-based. A few examples:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;In 2026 year-to-date, Microsoft has signed over 5GW of behind-the-meter nameplate capacity, of which 2.7GW with Joulent &amp;amp; Chevron, and well over 2GW through turnkey datacenter leases with companies like Crusoe. That 5GW encompasses a broad range of different types of power equipment; &lt;a href="https://semianalysis.com/energy-model/"&gt;full breakdown available to our Energy Model subscribers&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Google, historically the most reluctant to onsite gas, is deploying 930MW of off-grid aeroderivative turbines in a flagship campus in Armstrong County. In addition, the Search Giant will deploy 900MW of Bloom Energy Fuel Cells in Wyoming - as &lt;a href="https://semianalysis.com/institutional/2026-datacenter-outlook-6-gw-leased-this-quarter-google-cloud-and-aws-acceleration-in-q4-anthropic-and-google-driving-the-market-2/"&gt;we called out back in February 2026&lt;/a&gt; as a huge positive for Bloom Energy. They&amp;#8217;ll be paired with &amp;gt;1GW of Mitsubishi J-class turbines.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Both Anthropic and Meta have signed 300-500MW deals with Enchanted Rock, a supplier of 0.5MW gensets built around a 21.9-liter V12 gas engine. Separately, Anthropic&amp;#8217;s flagship campus in Texas, backstopped by Google, will also deploy over 1.5GW of off-grid generation; full breakdown of Anthropic&amp;#8217;s exact datacenter facilities available to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; subscribers.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenAI will imminently start operations in its flagship off-grid 1.4GW (IT capacity) campus in Shackelford County, TX, using over &lt;strong&gt;five hundred 4.25MW Jenbacher J624 engines&lt;/strong&gt;. We show below a portion of the campus. Combined with their 1.3GW IT site in New Mexico, that represents over $150B of contracted spending that OpenAI signed with Oracle relying on behind-the-meter power.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fsCm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc70af619-d9fb-4481-9772-08bf560a81fa_5585x3465.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="903" src="https://substackcdn.com/image/fetch/$s_!fsCm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc70af619-d9fb-4481-9772-08bf560a81fa_5585x3465.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;; SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Why is this happening, and why have many energy experts been so wrong? It comes down to understanding AI economics. We&amp;#8217;ve discussed this at length in many other articles and in our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;. As a quick reminder, the value of megawatts for end-users is skyrocketing. A power plant supporting an islanded 1GW IT datacenter typically costs ~$5B. In today&amp;#8217;s environment, &lt;strong&gt;inference API revenue can yield $100B per GW per year, at 90%+ gross margins.&lt;/strong&gt; Paying 2x more money or accepting 30% lower efficiency for faster speed of deployment becomes a no-brainer&lt;strong&gt;.&lt;/strong&gt; Said differently, &lt;strong&gt;Anthropic and its peers can pay back the value of a power plant in 20 days of inference revenue&lt;/strong&gt;. &lt;a href="https://newsletter.semianalysis.com/p/ai-value-capture-the-shift-to-model"&gt;As we discussed six months ago, most of the value in the AI infrastructure stack is shifting to frontier model developers&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;The grid simply cannot keep up with demand. Building new generation can easily take over five years, and on the demand-side, interconnecting a datacenter takes years. &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;Read more in our article on US Grid Constraints&lt;/a&gt;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BHCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe283a93c-faff-44b5-be6c-5ce8934ebeae_1009x538.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="538" src="https://substackcdn.com/image/fetch/$s_!BHCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe283a93c-faff-44b5-be6c-5ce8934ebeae_1009x538.png" title="" width="1009" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;; SemiAnalysis &lt;a href="https://semianalysis.com/institutional/inference-simulator/"&gt;Inference Simulator&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;That market context is overwhelmingly positive for behind-the-meter power to overcome such constraints. But these datacenter onsite power solutions are increasingly divergent from their grid-connected peers. As predicted a year ago, winners have not only been the incumbents like GEV and Siemens Energy. The biggest beneficiaries have been the dozens of suppliers of reciprocating engines, of various shapes and forms, with solutions from 0.5MW per unit to 20MW per unit being adopted at scale. A year ago, we counted 12 distinct manufacturers that had secured multi-hundred-MW datacenter off-grid orders; but &lt;a href="https://semianalysis.com/institutional/pistons-at-the-gate-bullish-recips-on-expanding-prime-power-deployments-4x-capacity-bring-up-and-competitive-cost-lead-time-trade-off/"&gt;today that count is 22&lt;/a&gt; and will continue to grow. Our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; tracks quarter-by-quarter manufacturing capacity, orders, deliveries, and availability for over 30 OEMs. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!x_qS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!x_qS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;While the bright side of this is innovation, the flip side is the looming execution challenges facing the industry. Many of these things have never been done at this scale or speed. Cracks are starting to emerge. Permitting delays have caused high-profile sites, like Oracle Project Jupiter and Nebius New Jersey, to perform emergency pivots to less polluting alternatives (Bloom fuel cells). Pipeline delays have also impacted Oracle&amp;#8217;s 1.3GW IT Project Jupiter (as our Energy Model &lt;a href="https://semianalysis.com/institutional/oracles-new-mexico-stargate-gas-pipeline-delayed-no-bloom-without-gas"&gt;called out in May 2026&lt;/a&gt;, well before the headlines). Market chatter of reliability issues is increasingly frequent. Labor shortages are surging. Design and up-time considerations are challenging and slowing down some FIDs. A secondary market for turbines is starting to emerge as a result of firm orders tied to failed projects. &lt;/p&gt;&lt;p&gt;In today&amp;#8217;s report, we dive into the world of &amp;#8220;datacenter microgrids&amp;#8221;. We consider the challenges and doubts regarding the BTM buildout and look at how it is being done.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;What&lt;/strong&gt; even is &amp;#8216;Behind-the-Meter&amp;#8217;. Detailing the ways a datacenter can relate to the grid, between primary and back-up power; including when something is a phony microgrid. How does one define behind-the-meter?&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;How&lt;/strong&gt; projects succeed or fail. We lay out the six key stages &amp;amp; challenges of BTM projects: contracts &amp;amp; bankability, permitting, fuel supply, equipment procurement, workforce, and the physics of operating without a grid-connection. We start with the financing wall, with chicken-and-egg situations being increasingly common for developers, and the rise of the new &amp;#8220;BTM utilities&amp;#8221;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Where&lt;/strong&gt; we go from here. &amp;#8216;To grid or not to grid&amp;#8217;; what happens to these plants when grid power finally arrives; export-to-grid, stay primary power, become backup, or move elsewhere. At the same time what happens with these order books and the manufacturing capacity that has scaled so hard to meet the moment. We&amp;#8217;ll also give our view on the implications for BTM in Texas.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Over recent months we have published significant research for our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; clients, laying out winners &amp;amp; losers in the equipment landscape (turbine, recips, fuel cells), contractors like AGX, BoP equipment like MV UPS systems and how new LVRT regulations could have negative impact to certain huge industrial companies. Behind the paywall of this report, we have included some of this work for Substack subscribers now to enjoy.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Conferences: in September members of SemiAnalysis&amp;#8217; Energy Model team will be at Gastech in Bangkok 14-17th; Data Center World Power in Dallas 21-23rd; Yotta in Las Vegas, and Gulf Coast Power Association in Austin, both 28-30th. Email energy@semianalysis.com and lets talk power!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;sub&gt;We thank Michele Tarawneh from Celsius Industries for his valuable input to this report!&lt;/sub&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;What even is &amp;#8220;BTM&amp;#8221;?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;A meter is a device that counts electricity; it is stationed at the point where the project&amp;#8217;s wires meet the grid&amp;#8217;s wires. Everything on the grid side of that point, the substations, the pylons, the power plants, is &amp;#8220;front of the meter&amp;#8221;; everything on the project&amp;#8217;s side, the switch-gear, the batteries, and onsite generators, is &amp;#8220;behind the meter&amp;#8221;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There are then specific terms but in practice they get used interchangeably: &amp;#8220;behind-the-meter&amp;#8221;, &amp;#8220;off-grid&amp;#8221;, &amp;#8220;islanded&amp;#8221;, &amp;#8220;co-located&amp;#8221;, and &amp;#8220;micro-grid&amp;#8221;. &lt;/span&gt;This is frustrating and leads to common disagreements over the definitions, but one way to think about them is by connection configuration:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mERz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc21de2a8-c4b3-4705-9bbf-9eab3b7b35d6_2600x1680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1680" src="https://substackcdn.com/image/fetch/$s_!mERz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc21de2a8-c4b3-4705-9bbf-9eab3b7b35d6_2600x1680.png" width="2600" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grid-supplied: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The grid supplies the datacenter; on-site generation is backup only. Power plants supply the public network, which supplies the datacenter.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grid-parallel: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Local generation and grid imports can both supply the datacenter. Exports are optional depending on the rights and connections.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The relative sizes of the datacenter, its local generation, and its permitted grid imports can vary substantially. ERCOT&amp;#8217;s Withdrawal-Limited Private Use Network, or WLPUN, framework expressly accommodates on-site generation reducing the transmission capacity a large load requires.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Consider three illustrative configurations, each serving a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;1,000 MW datacenter&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grid-led:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 250 MW of local generation and a 1,000 MW import limit. Local generation offsets part of grid consumption; when producing 250 MW at full datacenter load, it leaves 750 MW to import.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Plant-led, full-sized import connection:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 1,200 MW of local generation and a 1,000 MW import limit. The plant can cover normal demand, while the import limit is large enough to accommodate the entire datacenter load.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Plant-led, limited import connection:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 1,200 MW of local generation and a 250 MW import limit. At full load, at least 750 MW must come from local resources. Losing all local generation would require replacement supply or at least 750 MW of load reduction.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Export-only: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Local generation supplies the datacenter; the grid connection permits exports but not imports to serve the load. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Off-grid: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Local generation supplies the datacenter without an operating grid connection.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Net metering&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;In this context, net metering means netting the datacenter&amp;#8217;s consumption against associated generation at the relevant grid-facing metering or settlement boundary. ERCOT describes it as reducing the customer&amp;#8217;s metered consumption from the grid; it is not necessarily the retail rooftop-solar arrangement that credits exports against consumption over a billing cycle.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Freestone is an example: ERCOT reports PUCT approval in May 2026 of an arrangement between a 1,099 MW gas plant and a 760 MW datacenter in Freestone County.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Why Export-only is not Off-grid&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The datacenter does not need a separate grid feeder to remain electrically connected. If its supply circuit connects into the plant&amp;#8217;s grid-connected AC system, it is connected to the grid through the plant; the site participates in the interconnection&amp;#8217;s frequency dynamics and shared inertial response even while exporting net power. Depending on how well run the grid is this arrangement can be beneficial to the datacenter with improved electrical reliability and quality.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Existing generation adds a regulatory distinction&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Regulators can also distinguish new generation from a plant that previously supplied the grid. Texas Utilities Code &amp;#167;39.169, &amp;#8220;Co-location of Large Load Customer With Existing Generation Resource,&amp;#8221; covers certain net-metering arrangements involving an operating facility registered as a stand-alone generation resource &lt;/span&gt;&lt;strong&gt;&lt;span&gt;as of September 1, 2025&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;; it requires ERCOT notification and PUCT review, subject to exemptions and a deemed-approval provision.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Diverting existing output to a new load can reduce supply available to the wider grid. ERCOT says the two netting arrangements approved by May 2026 required the datacenters to reduce consumption or switch to backup, and the plants to return their full output to the grid within 30 minutes of an ERCOT instruction.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Operating states and deployment: island, bridge power, grid as backup&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt; &amp;#8220;Islanded&amp;#8221; is an operating state: a grid-connected datacenter opens the breaker and runs on its own generation. Then related but separate, the Department of Energy defines a &amp;#8220;Microgrid&amp;#8221; as &amp;#8220;a group of interconnected loads and distributed energy resources within clearly defined electrical boundaries that acts as a single controllable entity with respect to the grid,&amp;#8221; and its Grid Deployment Office adds that a microgrid &amp;#8220;can operate in either grid-connected or in island mode, including entirely off-grid applications&amp;#8221;. In this piece, &amp;#8220;islandable microgrid&amp;#8221; means a grid-connected site that can separate; &amp;#8220;off-grid microgrid&amp;#8221; means a site with no connection at all. Many BTM projects use the term loosely, perhaps because it avoids saying &amp;#8220;gas&amp;#8221;.&lt;/p&gt;&lt;p&gt;In practice, this may change a lot over time. Many BTM projects plan for a grid connection and use BTM as a &amp;#8220;bridge&amp;#8221; - &lt;span&gt;once the utility delivers the connection, the generators can shift into a backup role. We described this in depth the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;&lt;span&gt;Onsite Gas Deep Dive&lt;/span&gt;&lt;/a&gt;&lt;span&gt; as the most popular approach because electricity systems benefit from substantial economies of scale in both cost and reliability. xAI&amp;#8217;s Colossus 1 in Memphis has taken this route.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Other projects plan for a grid connection that will serve as &amp;#8220;backup&amp;#8221;, i.e. as a new energy resource that will help increase the expected uptime. We&amp;#8217;ve seen projects planning for 2 or 3 &amp;#8220;nines&amp;#8221; of expected uptime while in full island mode, and adding an additional &amp;#8220;nine&amp;#8221; once grid-connected. We&amp;#8217;ll provide more thoughts behind paywall on how many BTM plants will become grid-connected in coming years. &lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Why is Building BTM So Hard?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;A turbine order and a nearby pipeline do not make a project. Between the press release and first power stand six key hurdles: contract &amp;amp; bankability, permits, fuel, equipment, workforce, and electrical physics. Our permit-level tracking shows booked capacity facing difficulties at nearly every one of them.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!B9oa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd48333e1-a65d-49f9-bf61-36a89d5108c4_2700x1580.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Six-part BTM framework" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!B9oa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd48333e1-a65d-49f9-bf61-36a89d5108c4_2700x1580.png" title="Six-part BTM framework" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Gate 0: Contract and Bankability&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Below, we&amp;#8217;ll discuss all the physical challenges in bringing online GW-scale islanded datacenters. But before getting there, there&amp;#8217;s perhaps an even bigger challenge: the financial one. Traditionally, one can connect to the grid very cheaply, with both interconnection requests and letter of credits being very modest. This was enough to develop credible sites, even at GW-scale, and led to a frantic search for power in the US and worldwide. It was easy to turn a quick profit with limited capital, i.e. a few million at most. We discussed this at length in our &lt;a href="https://www.bing.com/search?pglt=2083&amp;amp;q=onsite+gas+deep+dive&amp;amp;cvid=bb1ec263808b4c889798e699f40117f7&amp;amp;gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOdIBCDI4OTZqMGo3qAIAsAIA&amp;amp;FORM=ANNTA1&amp;amp;PC=DCTS"&gt;Onsite Gas Deep Dive&lt;/a&gt;, and our &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;US Grid Constraints&lt;/a&gt; articles. &lt;/p&gt;&lt;p&gt;Islanded datacenters are fundamentally different because there is no existing infrastructure to connect to. With power plants typically at ~5B per GW of IT capacity, and equipment deposits increasingly expensive, the upfront capital expenditure blocks many projects.&lt;/p&gt;&lt;p&gt;This leads to the classic BTM chicken-and-egg problem: lenders want a long-term ESA with a solid offtaker, and clear SLAs and other contractual terms. Offtakers want a credible timeline and project system design. Developers need early capital to pay for equipment deposits to provide that credible timeline and design. And with the &lt;a href="https://semianalysis.com/energy-model/"&gt;insatiable demand for gas generation equipment&lt;/a&gt;, not having that capital means that timelines keep slipping.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zM4e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4e041d-ed40-4570-bb6c-26330d327508_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!zM4e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4e041d-ed40-4570-bb6c-26330d327508_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Early successes have come in three forms:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Full vertical integration, the Musk playbook: as discussed at length in our &lt;a href="https://newsletter.semianalysis.com/p/xais-colossus-2-first-gigawatt-datacenter"&gt;Colossus 2 article,&lt;/a&gt; xAI built its own power plant for self use, seeing it as the fastest way to build compute. This was most likely equity-funded. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Full-scope datacenter developers: certain developers have both construction and energy in their core capabilities, and take responsibility for the BTM power plant when selling to hyperscalers. In a Yield on Cost model, they typically include the onsite power in the cost envelope - which then commonly crosses the $20M/MW mark. Full site-level details in our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model.&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Datacenter + power partnership: datacenter developers go-to-market together with power developers to sell a site to a hyperscaler. But the hyperscaler signs two separate contracts: one for the datacenter, one for power. Certain Oracle Stargate sites are built on such arrangements. The joint go-to-market means that the offtaker is offered a full-stack solution. But the main drawback is dealing with more parties, and facing a risk of paying stranded expenses if either the power or the datacenter are late - given the contracts are independent of each other. &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;For BTM power, all of that complexity has led to the development of a new type of service providers: Energy-as-a-Service (EaaS) vendors. These are the new &amp;#8220;BTM utilities&amp;#8221;. Companies such as VoltaGrid deliver power, not just equipment, under long-term contracts with guaranteed capacity and up-time commitments. EaaS can do everything from leasing gensets to trucking compressed natural gas to site as &amp;#8216;virtual pipelines&amp;#8217; while permanent power plants and actual pipelines are permitted, built, and commissioned.&lt;/p&gt;&lt;p&gt;VoltaGrid has proved to be one of the winners of that trend, landing multiple gigawatts of orders with top tier developers like Vantage Datacenters. Others like Williams, Solaris are also on the rise and have scored massive contracts. Separately, some manufacturers are increasingly doing that themselves, such as Bloom Energy and Enchanted Rock. We track all of the supply chain, EPCs, BESS/SynCon and such for hundreds of projects in our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mbwT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F222c7c88-0f06-4783-b274-21a0ce6e05e7_963x524.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="524" src="https://substackcdn.com/image/fetch/$s_!mbwT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F222c7c88-0f06-4783-b274-21a0ce6e05e7_963x524.png" title="" width="963" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: VoltaGrid&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Does this capital wall mean that BTM is structurally disadvantaged versus the grid? &lt;em&gt;&lt;strong&gt;It used to, but it&amp;#8217;s not anymore&lt;/strong&gt;&lt;/em&gt;. US Grid constraints are playing out in real-time, in two ways:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;With firm US grid headroom being exhausted, serving a new GW-scale datacenter requires GW-scale generation paired with it. Capital requirements are commonly in the multi-billion-dollar-per-GW range today.  Cheap GW-scale interconnections do not exist anymore.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Most utilities are notoriously slow and unreliable, and grid ESAs typically aren&amp;#8217;t as binding and don&amp;#8217;t have as many penalties as a BTM contracts in case of late delivery or uptime issues. It makes sense, they&amp;#8217;re very different contracts in nature. As such, for GW-scale projects where speed and credibility of execution matters, BTM is an increasingly competitive play. &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Therefore, &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;we view&lt;/a&gt; the financing environment increasingly favorable towards BTM. In addition, datacenter developers are getting more sophisticated on energy and building their own world-class teams, and increasingly offering a full turnkey scope to offtakers, including the BTM plant.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 1: Permits&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;The State Decides&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;With that said, let&amp;#8217;s now tackle the physical challenges, starting with permits. We warned in the &lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;Onsite Gas Deep Dive&lt;/a&gt; that getting an air permit for onsite generation can take a year or more even in the fastest states, and that permits were already delaying some projects. In this section, we outline the varying permitting intensity by state, and how some developers have come up with creative solutions to circumvent permitting blockers.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first decision is therefore where to file. Finding favorable regions is paramount, and if you are not sure then you can hedge your bets by locating on a border. Colossus 2 sits on Tulane Road in Memphis, Tennessee, a few hundred meters north of the Mississippi border. Its power plant sits on the other side, on a former Duke Energy site in Southaven that an xAI affiliate bought in July 2025. That moved the air permit out of Shelby County, which had permitted the Colossus 1 turbines, and into Mississippi. Mississippi let the turbines run for up to 12 months as &amp;#8220;temporary&amp;#8221; units with no air permit, and in March 2026 its Permit Board unanimously approved a 41-turbine, 1.2 GW plant to make them permanent.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The wider lesson is that developers now choose jurisdictions almost as carefully as they choose equipment. The same plant can face a standardized registration in one state, a case-by-case air permit in another, and separate air, siting and generation approvals in a third. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bZHe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0451ed1a-b17c-4cc8-a69b-e8e0bc420a49_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!bZHe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0451ed1a-b17c-4cc8-a69b-e8e0bc420a49_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;That asymmetry between states, as much as cheap gas, explains why Texas is set to host more of the BTM fleet than any other state.&lt;/span&gt; &lt;span&gt;The state determines how the process plays out but federal rules set most of the parameters. The Environmental Protection Agency (EPA) sets the core air-quality standards, emissions definitions and major-source framework; state and local authorities usually administer those rules, issue the permits and add their own authorization routes.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;How the Air Permit Thresholds Work&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Potential to emit (PTE) is the tonnage a plant would emit running flat out all year, counted per pollutant. Every US air permit tests PTE. For a gas generator the two pollutants that matter are nitrogen oxides (NOx) and carbon monoxide (CO). Two federal lines apply. A plant with PTE above 250 tons a year of any pollutant goes through a full major-source review: modeling, a public process, and potentially years added to the timeline. A plant with PTE above 100 tons also needs a Title V operating permit, a second layer of federal oversight. States set their own lines below the federal ones.&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Tiers:&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Exempt as a nonroad engine: A portable engine that stays on site under 12 months&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Sits outside stationary-source permitting. Works for reciprocating engines only: any turbine of 10 million Btu an hour or more falls under a federal emission standard, confirmed by EPA&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.federalregister.gov/documents/2026/01/15/2026-00677/new-source-performance-standards-review-for-stationary-combustion-turbines-and-stationary-gas"&gt;&lt;span&gt;January 2026 turbine rule&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Mississippi exempted xAI&amp;#8217;s trailer-mounted Southaven turbines under a state rule; that decision is being challenged in federal court; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-U/part-1068/subpart-A/section-1068.30"&gt;&lt;span&gt;40 CFR 1068.30&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Minor New Source Review (NSR): PTE below every major threshold&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A construction permit from the state or county, which sets the exemption cutoffs and how much modeling is needed. Public comment of at least 30 days. A plant that accepts an enforceable cap on hours or fuel to stay under the lines is a &amp;#8220;synthetic minor&amp;#8221;; changing that cap later triggers a full major-source review as if the plant were new; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-51/subpart-I/section-51.160"&gt;&lt;span&gt;40 CFR 51.160 to 51.161&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-52/subpart-A/section-52.21"&gt;&lt;span&gt;40 CFR 52.21(r)(4)&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Prevention of Significant Deterioration (PSD), the major-source review: PTE of 250 tons a year of any pollutant. 100 tons for 28 listed industries; EPA reads &amp;#8220;steam electric plant&amp;#8221; to cover combined-cycle plants, &lt;/span&gt;while simple-cycle plants are treated as unlisted and so face the 250-ton limit.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Usually issued by the state. Once major for one pollutant, the plant applies Best Available Control Technology to every pollutant above the significance rates (40 tons of NOx, 100 of CO), models its air-quality impact, usually supplies a year of monitoring data, and takes at least 30 days of public comment. The Clean Air Act requires a decision within a year of a complete application (&lt;/span&gt;&lt;a href="https://www.law.cornell.edu/uscode/text/42/7475"&gt;&lt;span&gt;section 165(c)&lt;/span&gt;&lt;/a&gt;&lt;span&gt;); no national data on actual times exists; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-52/subpart-A/section-52.21"&gt;&lt;span&gt;40 CFR 52.21&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Nonattainment NSR: The area fails a federal air standard for the pollutant. It replaces PSD for that pollutant; PSD still applies to the rest.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The limit falls to 100 tons a year, then to 50, 25 or 10 tons of NOx and VOC as an ozone area is rated serious, severe or extreme (&lt;/span&gt;&lt;a href="https://www.law.cornell.edu/uscode/text/42/7511a"&gt;&lt;span&gt;Clean Air Act 182&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). The plant must meet the Lowest Achievable Emission Rate and buy offsetting cuts from other sources in the same area, at 1.1 to 1.5 tons per ton. Location sets the line: Dallas and Houston sit at 25 tons, Chicago, Salt Lake City and Las Vegas at 50, Northern Virginia and Phoenix at 100 (&lt;/span&gt;&lt;a href="https://www.epa.gov/green-book"&gt;&lt;span&gt;EPA Green Book&lt;/span&gt;&lt;/a&gt;&lt;span&gt;); &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-51/subpart-I/section-51.165"&gt;&lt;span&gt;40 CFR 51.165&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Title V operating permit: PTE of 100 tons a year or more, on top of whichever construction permit applies.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Applied for within 12 months of commissioning. Gathers every requirement into one enforceable document with a five-year term. EPA gets 45 days to object and the public 60 days to petition. Adds monitoring, reporting and fees, and sets no new emission limits of its own; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-70/section-70.2"&gt;&lt;span&gt;40 CFR 70.2&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;Three caveats.&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;The 250-ton line for simple-cycle plants rests on consistent agency practice, including Mississippi&amp;#8217;s own xAI permit, not on a written EPA ruling.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;States differ below the federal lines. Texas requires control technology for every new facility. Virginia permits anything above 40 tons of NOx. California districts trigger controls at 10 pounds a day.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Federal emission standards apply whatever the permit tier. The &lt;a href="https://www.federalregister.gov/documents/2026/01/15/2026-00677/new-source-performance-standards-review-for-stationary-combustion-turbines-and-stationary-gas"&gt;January 2026 rule&lt;/a&gt; sets a 5 ppm NOx floor for new large turbines running base load. That means selective catalytic reduction from day one.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dT6T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2af5a1de-c574-4813-bf59-7a04ce49f029_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!dT6T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2af5a1de-c574-4813-bf59-7a04ce49f029_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Small emissions rates become big annual totals at campus scale. At an illustrative controlled NOx rate of 0.10g/kWh, 250MW &amp;#215; 8,760 hours produces about 241 US short tons a year; the same calculation reaches 250 tons at roughly 259MW. The actual answer depends on the equipment&amp;#8217;s controlled emissions, the applicable threshold and which units the regulator counts together as one source.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That leaves developers working on both plant size and the operating plan. A phased authorization can, where the project and rules allow it, bring an initial tranche online while approval for the larger build progresses. But the hours and emissions limits must survive contact with the intended operating schedule and be enforceable. The regulator needs a credible plan for how the whole campus will run.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;span&gt;Project Jupiter: Grand Designs&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;UK television legend and architecture critic Kevin McCloud would be raising his eyebrow at Oracle&amp;#8217;s Project Jupiter because it shows how permitting can force the redesign of an entire facility at breakneck speed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The original applications were filed on 17 November 2025 for two separate microgrids, East and West, each sized to sit just under the federal 250-ton major-source line. The West application proposed 34 GE TM2500 and 20 Mitsubishi FT8 units (54 turbines, roughly 1,677 MW) with the East microgrid at a higher scale. The strategy was to operate as a synthetic minor: install equipment capable of emitting well above the major-source threshold, then accept operating limits that keep permitted emissions just beneath it. The East microgrid reported the potential to emit of 521 tons of NOx a year and requested a cap of 248.90, 1.1 tons under the line.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pLN6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9b8db8a-c77a-4851-83fe-5b1ba41f0540_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!pLN6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9b8db8a-c77a-4851-83fe-5b1ba41f0540_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;New Mexico&amp;#8217;s Environment Department determined that limits set so close to the threshold were not practically enforceable. The applicant resolved that by dropping both caps to 245 tons, and the department ruled both applications complete and published its intent to issue - but some 7,155 public comments came in, the Secretary concurred in holding a hearing, and the applicant withdrew both on 27 April 2026, the day it announced the fuel-cell redesign.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The project then abandoned the turbine design and refiled around Bloom Energy solid-oxide fuel cells in April. The revised proposal targets roughly 37 tons per year of NOx, around 92% below the original turbine configuration.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The technology change did not make the permit issues disappear. On August 23, 2026, the New Mexico Supreme Court stayed the administrative air-permitting proceeding until further order. The stay paused the process rather than deciding the merits of the application, and on September 1 the justices unanimously refused the developer&amp;#8217;s request to lift it even temporarily. The regulator&amp;#8217;s decision deadline is November 23, 2026.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;The Fuel-Cell Escape Hatch&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Fuel cells offer an escape hatch from the trickiest part of permitting but not from the permit process itself.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The technology generates electricity electrochemically rather than through flame combustion, generally producing far less NOx and other conventional pollutants than a comparable fleet of turbines or reciprocating engines. Depending on the site and configuration, fuel cells can keep a project below PSD major-source thresholds and allow it to follow a standardized or minor-source route instead. They still require permits and still produce CO&amp;#8322; and smaller quantities of other pollutants, but the advantage here is a lighter regulatory profile, not zero emissions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AEP Ohio&amp;#8217;s 72.9MW Bloom installation at AWS&amp;#8217;s Hilliard site in Ohio shows the wrinkles in permitting fuel cells, remaining below the thresholds that would have triggered the major-source route. The project still required an Ohio EPA air permit and separate state siting approval, while the air permit was appealed by the City of Hilliard in November 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius also made the technology trade in its first BTM US deployment, replacing the previously planned combustion-based generation with 328MW of Bloom fuel cells under a 10-year power agreement, with the company pointing to faster deployment and the lighter permitting burden as advantages of the switch.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Fuel cells can accelerate projects through the permitting matrix but can also make speculative projects easier to decorate. In one Texas filing we found, a proposed 560MW Bloom fuel-cell plant paid a $900 standard-permit fee and moved from application receipt on December 19, 2025, to authorization on January 14, 2026, TCEQ concluding that the installation was not a major source under either PSD or Title V.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A standard permit confirms that a proposed equipment configuration fits a pre-written emissions envelope. It does &lt;/span&gt;&lt;strong&gt;&lt;span&gt;not&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; prove that the datacenter has a committed tenant, financing, purchased equipment, firm gas supply or a construction notice to proceed. That is why we do not treat &amp;#8220;permitted&amp;#8221; as a greenlight for a new BTM project.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1Il6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f58862d-c19a-4396-8667-2414cf44cfa7_2700x1540.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Permit-credibility ladder" class="sizing-normal" height="830" src="https://substackcdn.com/image/fetch/$s_!1Il6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f58862d-c19a-4396-8667-2414cf44cfa7_2700x1540.png" title="Permit-credibility ladder" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Note that another often overlooked constraint for permitting is water. &lt;span&gt;For radiator-cooled recips, process-water demand can be very low: the radiators dump engine heat into the air. But for certain single cycle turbines, water or steam injection for NOx control creates a continuing water requirement, while dry low-emissions (DLE) combustion avoids that injection. The turbine package matters as much as the technology label. For example, the Pratts FT8 MOBILEPAC use water injection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Combined cycle adds another decision. Wet recirculating cooling loses water through evaporation and blowdown, the discharge used to keep dissolved material from building up. Dry cooling rejects that heat to the air. &lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 2: Gas&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Now, while permits are a core site selection constraint, fuel adds a second one. &lt;span&gt;The US is awash with natural gas: high oil prices maintain the incentive to drill baby drill, and the gas that comes out as a by-product needs to find a home somewhere, &lt;/span&gt;while Appalachia and the Haynesville add ample supply of dry gas (not associated with oil extraction).&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the hard part is transportation of that gas. Building pipelines can be simultaneously the hardest and easiest aspect of the BTM datacenter construction process, but like permitting, it depends quite significantly on geography. In addition, &lt;/span&gt; one pipeline typically isn&amp;#8217;t enough. A firm contract is tied to a maximum daily quantity, specific receipt and delivery points and, where agreed, minimum delivery pressure; interruptible service can be curtailed when the pipe tightens. A line on the map is therefore weak, what matters is how much firm gas can physically reach the plant&amp;#8217;s meter. The physical fuel system also has to survive a failure. Depending on the site, that can mean independent feeds, redundant internal distribution, stored LNG or dual-fuel capability, plus redundant boost compression where inlet pressure requires it. Gas quality matters too: changes in methane number, heating value and Wobbe index can force control changes or derating if they move outside the machine&amp;#8217;s fuel envelope. &lt;/p&gt;&lt;p&gt;&lt;span&gt;A couple of examples of large projects:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;To build a pipeline in Texas, you only have to answer the Texas Railroad Commission, meaning datacenter developers in the state are increasingly just building the pipeline themselves. Federal water-crossing permits and easements still apply, and a purely private lateral gets no condemnation power, so a single holdout forces a reroute. Crusoe filed by itself for the 16-inch line to Duroc power plant at Abilene, and Trailblazer Infrastructure - the Sweetwater developer, unrelated to Tallgrass&amp;#8217;s Trailblazer system - budgets $120M for a 31-mile extension in its tax-increment finance plan. Add this to ERCOT&amp;#8217;s connection rules and some of the cheapest gas in the country, and you have another explanation for why so much of this build-out is planned in Texas.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;In Louisiana, Energy Transfer subsidiary ETC Tiger Pipeline is building the Franklin Farms lateral - 13.2 miles of 36-inch pipe at a billion cubic feet a day, plus a shorter branch - to feed Entergy Louisiana&amp;#8217;s new combined-cycle plants, which in turn power Meta&amp;#8217;s Hyperion campus over the grid. Entergy, not Meta, is the shipper, so this is the utility-served route rather than a behind-the-meter one. Even with no compression, it still runs 19 months from the federal filing in July 2026 to a February 2028 in-service date.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;New Mexico. Again we arrive at Oracle&amp;#8217;s Project Jupiter. The campus is set to received pipeline gas from the Transwestern-built Green Chile pipeline. That pipeline was contractually due in service on 15 August this year, but the date passed without even an approved route, let alone a start to pipe laying. On 14 August Transwestern filed a new in-service date of 1 February 2027, with the federal apparatus moving unusually fast. This speed will need to continue if that start date of February next year is to be met, with a FERC order required in the next two months. No comparable certificate on record has been issued that fast, and none of the 33 comparable projects we have tracked was approved before the public comment period closed. Our estimation is first gas in April or May 2027, with full ramping up to the 2.45 GW in mid-2028, however, there are several hurdles to overcome before that.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;The fuel contracts and pipeline filings can also help separate wheat from the chaff. A nearby pipeline doesn&amp;#8217;t prove much, but a firm transportation contract, signed gas supply agreement, or a pipeline application filed at the regulator can help understand which sites may be on the way to receiving gas for their site.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Some interesting observations:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Energy Transfer contracted 150 MMcf/d to the Nexus Hubbard campus, enough to run about 750 MW of the reciprocating engines actually ordered. But the campus&amp;#8217;s pending air permit covers a 5,230MW fleet, meaning it needs about seven times the contracted gas supply , so either there are more gas contracts are coming, or permitting was a hedge ahead of contracting gas supply.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Liberty Energy&amp;#8217;s joint venture with PowerBridge covers a planned 2 GW campus in West Texas, with more than 300 MW of generation in a first phase targeted for the fourth quarter of 2027. Liberty told investors on July 22, 2026 that the site would start behind the meter, likely inside ERCOT&amp;#8217;s Batch Zero, and could take a grid connection of undetermined size in 2028. Most of the campus would then sit behind a private use network, the ERCOT structure that nets a site&amp;#8217;s generation against its load at a single connection, which we explain in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;&lt;span&gt;US Grid Constraints&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 3: Equipment&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The market for turbines, reciprocating engines and other types of generation equipment has grown significantly so far this year, with new manufacturers coming into the fold and existing OEMs increasing manufacturing capacity to keep pace with the growing demand for onsite power generation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;&lt;span&gt;Onsite Gas Deep Dive&lt;/span&gt;&lt;/a&gt;&lt;span&gt; we went through the new types of technology and incumbent manufacturers, so you can go through the different types of equipment available to datacenter operators in that article.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since writing in December 30, 2025 article, the three broad categories have remained unchanged:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Gas turbines (GTs):&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;industrial gas turbines (IGTs), smaller, heavier machines in the tens of megawatts;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;aeroderivatives (aeros), jet engines repackaged for power in the 30 to 115 MW range and able to ramp in 5 to 8 minutes; and&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;heavy-duty frame turbines of roughly 400 MW, with increased fuel efficiency when put into a combined cycle with steam turbines.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Reciprocating internal combustion engines (RICEs), or &amp;#8220;recips&amp;#8221;:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;high-speed engines (1,500 to 1,800 rpm) of roughly 0.5 to 4.5 MW per unit, such as INNIO&amp;#8217;s Jenbacher Type 6 and Caterpillar&amp;#8217;s G3520; and&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;medium-speed engines (500 to 1,000 rpm) of roughly 5 to 20 MW, such as W&amp;#228;rtsil&amp;#228;&amp;#8217;s 34SG, 31SG and 50SG, INNIO&amp;#8217;s J920 and Everllence&amp;#8217;s 51/60G.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fuel cells: solid-oxide units from Bloom Energy carry nearly all the orders (3.8 GW of the tracker&amp;#8217;s fuel-cell bookings against 0.03 GW for FuelCell Energy).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;While turbines captured most of the initial orders, they very quickly ended up being sold out, with first slots now past 2030. This is because BTM developers compete with utilities for these turbine slots. However, recips are much less popular among utilities and they are increasingly aking to AI compute pure-plays. That&amp;#8217;s why our quarter-by-quarter tracker of firm orders for BTM AI compute has seen sign a drastic shift towards recips. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!x_qS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!x_qS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And we expect the trend to continue. Folks like EROCK, FTAI Power and Dynamis, alongside INNIO, Wartsila, Caterpillar and Cummins, and Bloom Energy, are expanding capacity more aggressively than incumbents like GEV, and directing more supply to the datacenter market. Caterpillar is lifting its large reciprocating-engine output to nearly 3x 2024 levels, while INNIO expects to roughly triple total capacity from 3.5 GW a year in 2025 to around 10 GW a year by 2030. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We have also seen the emergence of a secondary turbine market. They don&amp;#8217;t come cheap, though! &lt;/span&gt;The scarcity across the main OEMs has built a secondary market where the premium buys time. A released delivery slot trades at a real premium to a factory order - the clearest public mark is a slot assignment struck 16% above the fixed price, and 46% above once all costs are loaded - and what the premium buys is a slot delivery in the next couple of years (or sooner) rather than in the next five years, and quicker energization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pAMU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cdf21bb-752b-410d-9086-a6132a285da3_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!pAMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cdf21bb-752b-410d-9086-a6132a285da3_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Key to chat secondary market is the presence of speculative orders in the supply chain. Folks commit to buying turbines or sign minimum purchase agreements, and pay deposits, yet don&amp;#8217;t have actual datacenter sites to deploy them. We&amp;#8217;re seeing that behavior primarily impacting the gas turbine market, notably incumbents GEV and Siemens. That equipment remains premium today and in high demand, and some &amp;#8220;speculators&amp;#8221; have been nicely rewarded given the secondary market prices discussed above. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oDuj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534453fc-ef33-4217-a16f-9db5d10049b3_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!oDuj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534453fc-ef33-4217-a16f-9db5d10049b3_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;No BTM Plant Without Balance of Plant&lt;/h3&gt;&lt;p&gt;While generation equipment is typically the center of the conversation when discussing BTM constraints, we think that&amp;#8217;s increasingly shifting to BoP. Generation equipment will be useless if the campus waits for transformers, medium-voltage switchgear or the e-houses that hold the electrical equipment. The collection system and controls also have to bring the fleet&amp;#8217;s output together into a working plant. And this electrical equipment, often at medium voltage and sometimes high voltage (depending on plant size and system design), is in very high demand due to being standardized and often used by datacenters themselves, as part of their electrical systems (&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-1-electrical"&gt;see our deep dive on the topic here&lt;/a&gt;). &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!cYFV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7aac63d0-204b-4562-8b7b-8d56d9a49cc0_2116x3064.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2108" src="https://substackcdn.com/image/fetch/$s_!cYFV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7aac63d0-204b-4562-8b7b-8d56d9a49cc0_2116x3064.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;; SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Stage 4: Construction, Commissioning and Workforce&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Once capital, permits, gas and equipment are solved, a whole other challenge arises. Building the power plant, and operating it at the contractually defined SLA standards needs highly qualified labor, contractors and EPCs.&lt;span&gt; To be clear, folks calling this a &amp;#8220;science experiment&amp;#8221; are entirely missing that 3GW of Datacenter IT capacity is already running with behind-the-meter power plants. Our Datacenter Model and Energy Models track every single project and exact timelines and supply chain.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Cdhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!Cdhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;But as the scale dramatically increases, there will be issues, particularly in the context of surging labor scarcity driven by the datacenter buildout.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our labor market modeling in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;&lt;span&gt;The Wild Wild West of LEGO Datacenters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; sized the 2027 gap at 288,000 workers, based on our Labor Model included in &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;our Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Electricians are the largest trade at about 30% of site hours, drifting toward 40% by 2030 as liquid cooling adds mechanical work. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Moving the mechanical and electrical work into a factory cuts on-site labor by about 63% and on-site licensed-electrician hours by about 85%, which is why prefabricated eHouses, skidded plants, and full modular offerings are spreading through the vendor list: they are labor arbitrage as much as an opportunity to shoot ahead of schedule.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But plenty of labor is still needed onsite. When it comes to power plants, the US has been building them for decades, meaning a healthy labor supply pool and lower costs than the datacenter build. Large combined cycle gas plants peak at about half a construction worker per megawatt:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Palomar, 546MW in California, peaked at 283 craft&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Guernsey, 1,875MW in Ohio and fifteen years later, at close to 1,000&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;So, on a gigawatt campus the power plant build can be a fifth to a quarter of the peak headcount.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, &lt;/span&gt;&lt;em&gt;&lt;strong&gt;&lt;span&gt;it is not the same labor.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span&gt; A CCGT plant is a mechanical pressure project, meaning boilermakers setting HRSG pressure parts, pipe welders whose welds have to pass radiography, and millwrights aligning a turbine to thousandths.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; There are 10,200 boilermakers in the United States, the occupation turns over about 800 people a year, and the Bureau of Labor Statistics projects it to shrink.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That said, the BTM buildout is set to use a variety of solutions and each generation type draws on different trades, and each have their pros and cons regarding labor.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Reciprocating engines need no boilermakers, but they lean on electricians and millwrights, so the power plant competes with its own datacenter for the same people.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fuel cells need none of the scarce trades: no pressure parts, so in a labor-constrained buildout, that is a strong argument. But at mutli-gigawatt scale, hundreds of fuel cell banks and the required supercapacitors, BESS and so on, make for a different kind of configuration which has never been done at scale.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;This is why &amp;#8220;labor-light&amp;#8221; power solutions are increasingly attractive to end-customers. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;&lt;span&gt;As the US grid runs out of power &amp;amp; headroom in 2028&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, these solutions will be the primary way to solve datacenter power constraints. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Of course, commissioning is not the finish line. A permanent island needs daily operating coverage, remote monitoring, local response, scheduled maintenance, spare parts and service coverage for unplanned work. The cadence is measured in operating hours. Caterpillar illustrates a 20,000-hour top-end and an 80,000-hour major overhaul; Jenbacher packages can require major work at 60,000 or 80,000 hours. At 8,000 running hours a year, that is roughly 2.5 years to the Caterpillar top-end and 7.5&amp;#8211;10 years to a major. The exact answer varies by engine and duty cycle.&lt;/p&gt;&lt;p&gt;To counter both issues, some OEMs are increasingly going vertical. Bloom Energy is the main example, as their solution is of course not as broadly established than turbines and engines. Bloom takes care of most installation and O&amp;amp;M work for its deployment, and hires and trains staff to do that. Others are following, and both issues are increasingly a deciding factor for equipment orders. EROCK has also relied on this, and their use of smaller truck-derivative engines means that both installation and O&amp;amp;M are much simpler than for a traditional turbine-based power plant. PROENERGY also discloses a large in-house staff that can act as EPC and O&amp;amp;M if need be. &lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Stage 5: Islanding Physics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The last stage is the least visible and the least forgiving. At xAI&amp;#8217;s Colossus 1, matching gas turbines to GPU load proved harder than expected, with jitters of 10 to 20MW several times a second and oscillations like these exciting torsional modes and eating up turbine-generator shaft life. This issue led to xAI deploying the first phase of 150MW Tesla Megapacks. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ai-training-load-fluctuations-at-gigawatt-scale-risk-of-power-grid-blackout"&gt;&lt;span&gt;We&amp;#8217;ve discussed at length here the issues with AI Training load fluctuations&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This has led to the rise of a new battle: BESS vs Flywheels / SynCons to be paired with generation equipment at BTM sites.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AxcJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0e5956-feb0-476e-ba96-bb953f701e58_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!AxcJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0e5956-feb0-476e-ba96-bb953f701e58_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/energy-model/"&gt; SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The combustor technology that makes modern gas turbines permittable holds its emissions performance only above roughly half of rated load, or about 35% with turndown upgrades. AI training loads, which swing hard and fast, can push turbines below that floor, where controls add pilot fuel or revert to diffusion mode and NOx, CO and unburned hydrocarbons all jump. A permit is written based on potential emissions, so that floor is integrated into the application.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A grid-connected plant borrows two services from the system: inertia, the spinning mass that resists frequency change, and fault current, the surge that lets a breaker recognize a short circuit and trip. An islanded plant must make both itself. Engines and turbines deliver five to ten times rated current into a fault; batteries, solar and fuel cells are clamped by their electronics to roughly 1.2-2x, thin enough that conventional overcurrent protection loses its margin. An island built only on inverters can fail to clear its own short circuits.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Fuel cells answer the same question with supercapacitors, which dump into a step load and recharge as the stack ramps. Channel checks for Bloom&amp;#8217;s sizing ratio put it near 3:2 on a power basis, which would make Project Jupiter&amp;#8217;s 2.45GW imply about 1.6GW of supercapacitors, far above the existing precedent of 58MW.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Can You Do This Without Gas?&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Plenty are trying, and after six stages of difficulty you may well think renewables could dodge the permitting, fuel, and supply chain  bottlenecks. Some are already trying, notably Crusoe with Redwood. Others like Google are deploying renewables &amp;amp; BESS at very large scale, but these sites remain grid connected.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Renewables clear air permitting far more easily, since there is no combustion source to permit, the fuel costs nothing, and there is no pipeline to route. The catch is electrical physics. In an off-grid context everything connects through inverters. Inverter-based sources push only a thin multiple of rated current into a short circuit, a fraction of what an engine or turbine delivers, too little margin for conventional overcurrent protection to trip reliably. So a clean renewable island has to buy grid-forming inverters plus synchronous condensers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our December 2025 onsite-gas piece measured average US grid availability at about 99.93%, roughly three nines, and showed that onsite supply has to be overbuilt to match it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Crusoe and Redwood Materials&amp;#8217; operating datacenter microgrid in Sparks, Nevada has run since June 2025 on 12 MW of solar and 63 MWh of second-life electric vehicle batteries, with the grid as backup. In a March 24, 2026 release Crusoe reported 99.2% availability over seven months of continuous operation and announced an expansion to 20 MW. Scaling a solar-and-battery design to a gigawatt campus requires substantial generation capacity, storage and land; the amounts depend on the load profile, weather, reliability target and availability of grid backup. Batteries earn their place inside gas projects: ride-through, load smoothing and backup energy. Liberty Energy&amp;#8217;s chief financial officer said on July 23, 2026 that battery power capacity averages 50% of gas capacity across its datacenter clients. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Buyers are becoming more tolerant of interruption. Microsoft says its Fairwater Atlanta site was selected for resilient utility power and is &amp;#8220;capable of achieving 4x9 availability at 3x9 cost,&amp;#8221; four nines of availability (99.99%) at the cost of three nines (99.9%), which lets it forgo onsite generation, uninterruptible power supply (UPS) systems and dual-corded distribution for the GPU fleet (Scott Guthrie, Microsoft, November 12, 2025). In our Industrials Model, we track the expected uptime for 30+ different datacenter designs, based on our deep bottoms up equipment-by-equipment BoM. We track desings of Anthropic, OpenAI, Meta and all other hyperscalers and we are seeing a clear trends towards lower redundancy.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Currently, no pathway clears all six gates: gas is exposed on permits and on the pressure trades (the boilermakers and pipe welders), fuel cells on stability spend and unproven scale, solar and batteries on the island itself.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Where do we go from here?&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Let&amp;#8217;s now discuss the longer-term outlook and winners&amp;amp;losers. We&amp;#8217;ll discuss our outlook for BTM plants and whether they are all destined to be grid-connected or not, and how solar and batteries fit into that outlook.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We&amp;#8217;ll also discuss winners and losers in the OEM market, and in the BoP market. Some big industry changes are negative for certain large industrial companies, but there are balancing factors within their portfolio.  &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/what-is-so-hard-about-behind-the"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/what-is-so-hard-about-behind-the"/>
    <summary type="html">&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xp5B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe650d6-cdda-4d26-a83d-1e793cf406c0_1672x941.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!xp5B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe650d6-cdda-4d26-a83d-1e793cf406c0_1672x941.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Last year we were the first to call out &lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;Onsite Gas Generation as the primary method adopted by AI Labs and Hyperscalers to solve power constraints&lt;/a&gt;. Our positive view was far from being consensus: behind-the-meter primary power solutions have been called all sorts of names, such as &amp;#8220;&lt;a href="https://www.axios.com/2026/07/27/off-grid-ai-data-centers-reckoning"&gt;science experiments&lt;/a&gt;&amp;#8221;, &amp;#8220;&lt;a href="https://www.axios.com/2026/07/27/off-grid-ai-data-centers-reckoning"&gt;Dark Gigawatts&lt;/a&gt;&amp;#8221;, and &amp;#8220;&lt;a href="https://www.volts.wtf/p/doing-data-centers-the-not-dumb-way"&gt;literally the dumbest thing that human beings have ever attempted to do&lt;/a&gt;&amp;#8221;!&lt;/p&gt;&lt;p&gt;But since then, that supply chain has witnessed a massive acceleration. Our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; now tracks 75GW of firm, binding orders in the supply chain &lt;strong&gt;only for for behind-the-meter AI compute&lt;/strong&gt; - of which ~20GW alone ordered in Q2 2026. What started as an Elon Musk experiment is now mainstream for every single AI Lab and hyperscaler. To be clear, this data does not include the hundreds of GWs of speculative, baseless announcements that many other analysts track in their numbers - we only focus on binding orders received by OEMs specifically serving BTM AI compute, tracked at the project-level.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MUxs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187f762-eebb-4ebf-a9e3-18ff8491c84d_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!MUxs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187f762-eebb-4ebf-a9e3-18ff8491c84d_2430x1296.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The path from firm equipment order to delivered project is still long and challenging. There is substantial execution risk and that&amp;#8217;s what we&amp;#8217;ll focus on in this report. But the industry is more experienced than you&amp;#8217;d think: by the end of the year, ~3GW of operational US datacenter IT capacity will be powered behind-the-meter, and that number will experience multiple straight years of triple-digit growth. Our Energy and Datacenter models account for all potential delays, as we&amp;#8217;ve explained in depth in our piece &lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;Stop Saying Half of 2026 US Datacenter Capacity is Canceled&lt;/a&gt;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Cdhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!Cdhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Some of the most strategic projects developed by leading AI labs and hyperscalers are relying on behind-the-meter, supporting hundreds of billions of future revenue. Adoption has never been more broad-based. A few examples:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;In 2026 year-to-date, Microsoft has signed over 5GW of behind-the-meter nameplate capacity, of which 2.7GW with Joulent &amp;amp; Chevron, and well over 2GW through turnkey datacenter leases with companies like Crusoe. That 5GW encompasses a broad range of different types of power equipment; &lt;a href="https://semianalysis.com/energy-model/"&gt;full breakdown available to our Energy Model subscribers&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Google, historically the most reluctant to onsite gas, is deploying 930MW of off-grid aeroderivative turbines in a flagship campus in Armstrong County. In addition, the Search Giant will deploy 900MW of Bloom Energy Fuel Cells in Wyoming - as &lt;a href="https://semianalysis.com/institutional/2026-datacenter-outlook-6-gw-leased-this-quarter-google-cloud-and-aws-acceleration-in-q4-anthropic-and-google-driving-the-market-2/"&gt;we called out back in February 2026&lt;/a&gt; as a huge positive for Bloom Energy. They&amp;#8217;ll be paired with &amp;gt;1GW of Mitsubishi J-class turbines.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Both Anthropic and Meta have signed 300-500MW deals with Enchanted Rock, a supplier of 0.5MW gensets built around a 21.9-liter V12 gas engine. Separately, Anthropic&amp;#8217;s flagship campus in Texas, backstopped by Google, will also deploy over 1.5GW of off-grid generation; full breakdown of Anthropic&amp;#8217;s exact datacenter facilities available to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; subscribers.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenAI will imminently start operations in its flagship off-grid 1.4GW (IT capacity) campus in Shackelford County, TX, using over &lt;strong&gt;five hundred 4.25MW Jenbacher J624 engines&lt;/strong&gt;. We show below a portion of the campus. Combined with their 1.3GW IT site in New Mexico, that represents over $150B of contracted spending that OpenAI signed with Oracle relying on behind-the-meter power.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fsCm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc70af619-d9fb-4481-9772-08bf560a81fa_5585x3465.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="903" src="https://substackcdn.com/image/fetch/$s_!fsCm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc70af619-d9fb-4481-9772-08bf560a81fa_5585x3465.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;; SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Why is this happening, and why have many energy experts been so wrong? It comes down to understanding AI economics. We&amp;#8217;ve discussed this at length in many other articles and in our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;. As a quick reminder, the value of megawatts for end-users is skyrocketing. A power plant supporting an islanded 1GW IT datacenter typically costs ~$5B. In today&amp;#8217;s environment, &lt;strong&gt;inference API revenue can yield $100B per GW per year, at 90%+ gross margins.&lt;/strong&gt; Paying 2x more money or accepting 30% lower efficiency for faster speed of deployment becomes a no-brainer&lt;strong&gt;.&lt;/strong&gt; Said differently, &lt;strong&gt;Anthropic and its peers can pay back the value of a power plant in 20 days of inference revenue&lt;/strong&gt;. &lt;a href="https://newsletter.semianalysis.com/p/ai-value-capture-the-shift-to-model"&gt;As we discussed six months ago, most of the value in the AI infrastructure stack is shifting to frontier model developers&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;The grid simply cannot keep up with demand. Building new generation can easily take over five years, and on the demand-side, interconnecting a datacenter takes years. &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;Read more in our article on US Grid Constraints&lt;/a&gt;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BHCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe283a93c-faff-44b5-be6c-5ce8934ebeae_1009x538.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="538" src="https://substackcdn.com/image/fetch/$s_!BHCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe283a93c-faff-44b5-be6c-5ce8934ebeae_1009x538.png" title="" width="1009" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;; SemiAnalysis &lt;a href="https://semianalysis.com/institutional/inference-simulator/"&gt;Inference Simulator&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;That market context is overwhelmingly positive for behind-the-meter power to overcome such constraints. But these datacenter onsite power solutions are increasingly divergent from their grid-connected peers. As predicted a year ago, winners have not only been the incumbents like GEV and Siemens Energy. The biggest beneficiaries have been the dozens of suppliers of reciprocating engines, of various shapes and forms, with solutions from 0.5MW per unit to 20MW per unit being adopted at scale. A year ago, we counted 12 distinct manufacturers that had secured multi-hundred-MW datacenter off-grid orders; but &lt;a href="https://semianalysis.com/institutional/pistons-at-the-gate-bullish-recips-on-expanding-prime-power-deployments-4x-capacity-bring-up-and-competitive-cost-lead-time-trade-off/"&gt;today that count is 22&lt;/a&gt; and will continue to grow. Our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; tracks quarter-by-quarter manufacturing capacity, orders, deliveries, and availability for over 30 OEMs. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!x_qS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!x_qS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;While the bright side of this is innovation, the flip side is the looming execution challenges facing the industry. Many of these things have never been done at this scale or speed. Cracks are starting to emerge. Permitting delays have caused high-profile sites, like Oracle Project Jupiter and Nebius New Jersey, to perform emergency pivots to less polluting alternatives (Bloom fuel cells). Pipeline delays have also impacted Oracle&amp;#8217;s 1.3GW IT Project Jupiter (as our Energy Model &lt;a href="https://semianalysis.com/institutional/oracles-new-mexico-stargate-gas-pipeline-delayed-no-bloom-without-gas"&gt;called out in May 2026&lt;/a&gt;, well before the headlines). Market chatter of reliability issues is increasingly frequent. Labor shortages are surging. Design and up-time considerations are challenging and slowing down some FIDs. A secondary market for turbines is starting to emerge as a result of firm orders tied to failed projects. &lt;/p&gt;&lt;p&gt;In today&amp;#8217;s report, we dive into the world of &amp;#8220;datacenter microgrids&amp;#8221;. We consider the challenges and doubts regarding the BTM buildout and look at how it is being done.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;What&lt;/strong&gt; even is &amp;#8216;Behind-the-Meter&amp;#8217;. Detailing the ways a datacenter can relate to the grid, between primary and back-up power; including when something is a phony microgrid. How does one define behind-the-meter?&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;How&lt;/strong&gt; projects succeed or fail. We lay out the six key stages &amp;amp; challenges of BTM projects: contracts &amp;amp; bankability, permitting, fuel supply, equipment procurement, workforce, and the physics of operating without a grid-connection. We start with the financing wall, with chicken-and-egg situations being increasingly common for developers, and the rise of the new &amp;#8220;BTM utilities&amp;#8221;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Where&lt;/strong&gt; we go from here. &amp;#8216;To grid or not to grid&amp;#8217;; what happens to these plants when grid power finally arrives; export-to-grid, stay primary power, become backup, or move elsewhere. At the same time what happens with these order books and the manufacturing capacity that has scaled so hard to meet the moment. We&amp;#8217;ll also give our view on the implications for BTM in Texas.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Over recent months we have published significant research for our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; clients, laying out winners &amp;amp; losers in the equipment landscape (turbine, recips, fuel cells), contractors like AGX, BoP equipment like MV UPS systems and how new LVRT regulations could have negative impact to certain huge industrial companies. Behind the paywall of this report, we have included some of this work for Substack subscribers now to enjoy.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Conferences: in September members of SemiAnalysis&amp;#8217; Energy Model team will be at Gastech in Bangkok 14-17th; Data Center World Power in Dallas 21-23rd; Yotta in Las Vegas, and Gulf Coast Power Association in Austin, both 28-30th. Email energy@semianalysis.com and lets talk power!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;sub&gt;We thank Michele Tarawneh from Celsius Industries for his valuable input to this report!&lt;/sub&gt;&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;What even is &amp;#8220;BTM&amp;#8221;?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;A meter is a device that counts electricity; it is stationed at the point where the project&amp;#8217;s wires meet the grid&amp;#8217;s wires. Everything on the grid side of that point, the substations, the pylons, the power plants, is &amp;#8220;front of the meter&amp;#8221;; everything on the project&amp;#8217;s side, the switch-gear, the batteries, and onsite generators, is &amp;#8220;behind the meter&amp;#8221;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There are then specific terms but in practice they get used interchangeably: &amp;#8220;behind-the-meter&amp;#8221;, &amp;#8220;off-grid&amp;#8221;, &amp;#8220;islanded&amp;#8221;, &amp;#8220;co-located&amp;#8221;, and &amp;#8220;micro-grid&amp;#8221;. &lt;/span&gt;This is frustrating and leads to common disagreements over the definitions, but one way to think about them is by connection configuration:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mERz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc21de2a8-c4b3-4705-9bbf-9eab3b7b35d6_2600x1680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1680" src="https://substackcdn.com/image/fetch/$s_!mERz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc21de2a8-c4b3-4705-9bbf-9eab3b7b35d6_2600x1680.png" width="2600" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grid-supplied: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;The grid supplies the datacenter; on-site generation is backup only. Power plants supply the public network, which supplies the datacenter.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grid-parallel: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Local generation and grid imports can both supply the datacenter. Exports are optional depending on the rights and connections.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The relative sizes of the datacenter, its local generation, and its permitted grid imports can vary substantially. ERCOT&amp;#8217;s Withdrawal-Limited Private Use Network, or WLPUN, framework expressly accommodates on-site generation reducing the transmission capacity a large load requires.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Consider three illustrative configurations, each serving a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;1,000 MW datacenter&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grid-led:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 250 MW of local generation and a 1,000 MW import limit. Local generation offsets part of grid consumption; when producing 250 MW at full datacenter load, it leaves 750 MW to import.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Plant-led, full-sized import connection:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 1,200 MW of local generation and a 1,000 MW import limit. The plant can cover normal demand, while the import limit is large enough to accommodate the entire datacenter load.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Plant-led, limited import connection:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 1,200 MW of local generation and a 250 MW import limit. At full load, at least 750 MW must come from local resources. Losing all local generation would require replacement supply or at least 750 MW of load reduction.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Export-only: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Local generation supplies the datacenter; the grid connection permits exports but not imports to serve the load. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Off-grid: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Local generation supplies the datacenter without an operating grid connection.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Net metering&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;In this context, net metering means netting the datacenter&amp;#8217;s consumption against associated generation at the relevant grid-facing metering or settlement boundary. ERCOT describes it as reducing the customer&amp;#8217;s metered consumption from the grid; it is not necessarily the retail rooftop-solar arrangement that credits exports against consumption over a billing cycle.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Freestone is an example: ERCOT reports PUCT approval in May 2026 of an arrangement between a 1,099 MW gas plant and a 760 MW datacenter in Freestone County.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Why Export-only is not Off-grid&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The datacenter does not need a separate grid feeder to remain electrically connected. If its supply circuit connects into the plant&amp;#8217;s grid-connected AC system, it is connected to the grid through the plant; the site participates in the interconnection&amp;#8217;s frequency dynamics and shared inertial response even while exporting net power. Depending on how well run the grid is this arrangement can be beneficial to the datacenter with improved electrical reliability and quality.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Existing generation adds a regulatory distinction&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Regulators can also distinguish new generation from a plant that previously supplied the grid. Texas Utilities Code &amp;#167;39.169, &amp;#8220;Co-location of Large Load Customer With Existing Generation Resource,&amp;#8221; covers certain net-metering arrangements involving an operating facility registered as a stand-alone generation resource &lt;/span&gt;&lt;strong&gt;&lt;span&gt;as of September 1, 2025&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;; it requires ERCOT notification and PUCT review, subject to exemptions and a deemed-approval provision.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Diverting existing output to a new load can reduce supply available to the wider grid. ERCOT says the two netting arrangements approved by May 2026 required the datacenters to reduce consumption or switch to backup, and the plants to return their full output to the grid within 30 minutes of an ERCOT instruction.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Operating states and deployment: island, bridge power, grid as backup&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt; &amp;#8220;Islanded&amp;#8221; is an operating state: a grid-connected datacenter opens the breaker and runs on its own generation. Then related but separate, the Department of Energy defines a &amp;#8220;Microgrid&amp;#8221; as &amp;#8220;a group of interconnected loads and distributed energy resources within clearly defined electrical boundaries that acts as a single controllable entity with respect to the grid,&amp;#8221; and its Grid Deployment Office adds that a microgrid &amp;#8220;can operate in either grid-connected or in island mode, including entirely off-grid applications&amp;#8221;. In this piece, &amp;#8220;islandable microgrid&amp;#8221; means a grid-connected site that can separate; &amp;#8220;off-grid microgrid&amp;#8221; means a site with no connection at all. Many BTM projects use the term loosely, perhaps because it avoids saying &amp;#8220;gas&amp;#8221;.&lt;/p&gt;&lt;p&gt;In practice, this may change a lot over time. Many BTM projects plan for a grid connection and use BTM as a &amp;#8220;bridge&amp;#8221; - &lt;span&gt;once the utility delivers the connection, the generators can shift into a backup role. We described this in depth the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;&lt;span&gt;Onsite Gas Deep Dive&lt;/span&gt;&lt;/a&gt;&lt;span&gt; as the most popular approach because electricity systems benefit from substantial economies of scale in both cost and reliability. xAI&amp;#8217;s Colossus 1 in Memphis has taken this route.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Other projects plan for a grid connection that will serve as &amp;#8220;backup&amp;#8221;, i.e. as a new energy resource that will help increase the expected uptime. We&amp;#8217;ve seen projects planning for 2 or 3 &amp;#8220;nines&amp;#8221; of expected uptime while in full island mode, and adding an additional &amp;#8220;nine&amp;#8221; once grid-connected. We&amp;#8217;ll provide more thoughts behind paywall on how many BTM plants will become grid-connected in coming years. &lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Why is Building BTM So Hard?&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;A turbine order and a nearby pipeline do not make a project. Between the press release and first power stand six key hurdles: contract &amp;amp; bankability, permits, fuel, equipment, workforce, and electrical physics. Our permit-level tracking shows booked capacity facing difficulties at nearly every one of them.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!B9oa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd48333e1-a65d-49f9-bf61-36a89d5108c4_2700x1580.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Six-part BTM framework" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!B9oa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd48333e1-a65d-49f9-bf61-36a89d5108c4_2700x1580.png" title="Six-part BTM framework" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Gate 0: Contract and Bankability&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Below, we&amp;#8217;ll discuss all the physical challenges in bringing online GW-scale islanded datacenters. But before getting there, there&amp;#8217;s perhaps an even bigger challenge: the financial one. Traditionally, one can connect to the grid very cheaply, with both interconnection requests and letter of credits being very modest. This was enough to develop credible sites, even at GW-scale, and led to a frantic search for power in the US and worldwide. It was easy to turn a quick profit with limited capital, i.e. a few million at most. We discussed this at length in our &lt;a href="https://www.bing.com/search?pglt=2083&amp;amp;q=onsite+gas+deep+dive&amp;amp;cvid=bb1ec263808b4c889798e699f40117f7&amp;amp;gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOdIBCDI4OTZqMGo3qAIAsAIA&amp;amp;FORM=ANNTA1&amp;amp;PC=DCTS"&gt;Onsite Gas Deep Dive&lt;/a&gt;, and our &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;US Grid Constraints&lt;/a&gt; articles. &lt;/p&gt;&lt;p&gt;Islanded datacenters are fundamentally different because there is no existing infrastructure to connect to. With power plants typically at ~5B per GW of IT capacity, and equipment deposits increasingly expensive, the upfront capital expenditure blocks many projects.&lt;/p&gt;&lt;p&gt;This leads to the classic BTM chicken-and-egg problem: lenders want a long-term ESA with a solid offtaker, and clear SLAs and other contractual terms. Offtakers want a credible timeline and project system design. Developers need early capital to pay for equipment deposits to provide that credible timeline and design. And with the &lt;a href="https://semianalysis.com/energy-model/"&gt;insatiable demand for gas generation equipment&lt;/a&gt;, not having that capital means that timelines keep slipping.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zM4e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4e041d-ed40-4570-bb6c-26330d327508_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!zM4e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4e041d-ed40-4570-bb6c-26330d327508_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Early successes have come in three forms:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Full vertical integration, the Musk playbook: as discussed at length in our &lt;a href="https://newsletter.semianalysis.com/p/xais-colossus-2-first-gigawatt-datacenter"&gt;Colossus 2 article,&lt;/a&gt; xAI built its own power plant for self use, seeing it as the fastest way to build compute. This was most likely equity-funded. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Full-scope datacenter developers: certain developers have both construction and energy in their core capabilities, and take responsibility for the BTM power plant when selling to hyperscalers. In a Yield on Cost model, they typically include the onsite power in the cost envelope - which then commonly crosses the $20M/MW mark. Full site-level details in our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Industry Model.&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Datacenter + power partnership: datacenter developers go-to-market together with power developers to sell a site to a hyperscaler. But the hyperscaler signs two separate contracts: one for the datacenter, one for power. Certain Oracle Stargate sites are built on such arrangements. The joint go-to-market means that the offtaker is offered a full-stack solution. But the main drawback is dealing with more parties, and facing a risk of paying stranded expenses if either the power or the datacenter are late - given the contracts are independent of each other. &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;For BTM power, all of that complexity has led to the development of a new type of service providers: Energy-as-a-Service (EaaS) vendors. These are the new &amp;#8220;BTM utilities&amp;#8221;. Companies such as VoltaGrid deliver power, not just equipment, under long-term contracts with guaranteed capacity and up-time commitments. EaaS can do everything from leasing gensets to trucking compressed natural gas to site as &amp;#8216;virtual pipelines&amp;#8217; while permanent power plants and actual pipelines are permitted, built, and commissioned.&lt;/p&gt;&lt;p&gt;VoltaGrid has proved to be one of the winners of that trend, landing multiple gigawatts of orders with top tier developers like Vantage Datacenters. Others like Williams, Solaris are also on the rise and have scored massive contracts. Separately, some manufacturers are increasingly doing that themselves, such as Bloom Energy and Enchanted Rock. We track all of the supply chain, EPCs, BESS/SynCon and such for hundreds of projects in our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mbwT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F222c7c88-0f06-4783-b274-21a0ce6e05e7_963x524.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="524" src="https://substackcdn.com/image/fetch/$s_!mbwT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F222c7c88-0f06-4783-b274-21a0ce6e05e7_963x524.png" title="" width="963" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: VoltaGrid&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Does this capital wall mean that BTM is structurally disadvantaged versus the grid? &lt;em&gt;&lt;strong&gt;It used to, but it&amp;#8217;s not anymore&lt;/strong&gt;&lt;/em&gt;. US Grid constraints are playing out in real-time, in two ways:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;With firm US grid headroom being exhausted, serving a new GW-scale datacenter requires GW-scale generation paired with it. Capital requirements are commonly in the multi-billion-dollar-per-GW range today.  Cheap GW-scale interconnections do not exist anymore.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Most utilities are notoriously slow and unreliable, and grid ESAs typically aren&amp;#8217;t as binding and don&amp;#8217;t have as many penalties as a BTM contracts in case of late delivery or uptime issues. It makes sense, they&amp;#8217;re very different contracts in nature. As such, for GW-scale projects where speed and credibility of execution matters, BTM is an increasingly competitive play. &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Therefore, &lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;we view&lt;/a&gt; the financing environment increasingly favorable towards BTM. In addition, datacenter developers are getting more sophisticated on energy and building their own world-class teams, and increasingly offering a full turnkey scope to offtakers, including the BTM plant.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 1: Permits&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;The State Decides&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;With that said, let&amp;#8217;s now tackle the physical challenges, starting with permits. We warned in the &lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;Onsite Gas Deep Dive&lt;/a&gt; that getting an air permit for onsite generation can take a year or more even in the fastest states, and that permits were already delaying some projects. In this section, we outline the varying permitting intensity by state, and how some developers have come up with creative solutions to circumvent permitting blockers.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first decision is therefore where to file. Finding favorable regions is paramount, and if you are not sure then you can hedge your bets by locating on a border. Colossus 2 sits on Tulane Road in Memphis, Tennessee, a few hundred meters north of the Mississippi border. Its power plant sits on the other side, on a former Duke Energy site in Southaven that an xAI affiliate bought in July 2025. That moved the air permit out of Shelby County, which had permitted the Colossus 1 turbines, and into Mississippi. Mississippi let the turbines run for up to 12 months as &amp;#8220;temporary&amp;#8221; units with no air permit, and in March 2026 its Permit Board unanimously approved a 41-turbine, 1.2 GW plant to make them permanent.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The wider lesson is that developers now choose jurisdictions almost as carefully as they choose equipment. The same plant can face a standardized registration in one state, a case-by-case air permit in another, and separate air, siting and generation approvals in a third. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bZHe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0451ed1a-b17c-4cc8-a69b-e8e0bc420a49_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!bZHe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0451ed1a-b17c-4cc8-a69b-e8e0bc420a49_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;That asymmetry between states, as much as cheap gas, explains why Texas is set to host more of the BTM fleet than any other state.&lt;/span&gt; &lt;span&gt;The state determines how the process plays out but federal rules set most of the parameters. The Environmental Protection Agency (EPA) sets the core air-quality standards, emissions definitions and major-source framework; state and local authorities usually administer those rules, issue the permits and add their own authorization routes.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;How the Air Permit Thresholds Work&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Potential to emit (PTE) is the tonnage a plant would emit running flat out all year, counted per pollutant. Every US air permit tests PTE. For a gas generator the two pollutants that matter are nitrogen oxides (NOx) and carbon monoxide (CO). Two federal lines apply. A plant with PTE above 250 tons a year of any pollutant goes through a full major-source review: modeling, a public process, and potentially years added to the timeline. A plant with PTE above 100 tons also needs a Title V operating permit, a second layer of federal oversight. States set their own lines below the federal ones.&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Tiers:&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Exempt as a nonroad engine: A portable engine that stays on site under 12 months&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Sits outside stationary-source permitting. Works for reciprocating engines only: any turbine of 10 million Btu an hour or more falls under a federal emission standard, confirmed by EPA&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.federalregister.gov/documents/2026/01/15/2026-00677/new-source-performance-standards-review-for-stationary-combustion-turbines-and-stationary-gas"&gt;&lt;span&gt;January 2026 turbine rule&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Mississippi exempted xAI&amp;#8217;s trailer-mounted Southaven turbines under a state rule; that decision is being challenged in federal court; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-U/part-1068/subpart-A/section-1068.30"&gt;&lt;span&gt;40 CFR 1068.30&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Minor New Source Review (NSR): PTE below every major threshold&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A construction permit from the state or county, which sets the exemption cutoffs and how much modeling is needed. Public comment of at least 30 days. A plant that accepts an enforceable cap on hours or fuel to stay under the lines is a &amp;#8220;synthetic minor&amp;#8221;; changing that cap later triggers a full major-source review as if the plant were new; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-51/subpart-I/section-51.160"&gt;&lt;span&gt;40 CFR 51.160 to 51.161&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-52/subpart-A/section-52.21"&gt;&lt;span&gt;40 CFR 52.21(r)(4)&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Prevention of Significant Deterioration (PSD), the major-source review: PTE of 250 tons a year of any pollutant. 100 tons for 28 listed industries; EPA reads &amp;#8220;steam electric plant&amp;#8221; to cover combined-cycle plants, &lt;/span&gt;while simple-cycle plants are treated as unlisted and so face the 250-ton limit.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Usually issued by the state. Once major for one pollutant, the plant applies Best Available Control Technology to every pollutant above the significance rates (40 tons of NOx, 100 of CO), models its air-quality impact, usually supplies a year of monitoring data, and takes at least 30 days of public comment. The Clean Air Act requires a decision within a year of a complete application (&lt;/span&gt;&lt;a href="https://www.law.cornell.edu/uscode/text/42/7475"&gt;&lt;span&gt;section 165(c)&lt;/span&gt;&lt;/a&gt;&lt;span&gt;); no national data on actual times exists; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-52/subpart-A/section-52.21"&gt;&lt;span&gt;40 CFR 52.21&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Nonattainment NSR: The area fails a federal air standard for the pollutant. It replaces PSD for that pollutant; PSD still applies to the rest.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The limit falls to 100 tons a year, then to 50, 25 or 10 tons of NOx and VOC as an ozone area is rated serious, severe or extreme (&lt;/span&gt;&lt;a href="https://www.law.cornell.edu/uscode/text/42/7511a"&gt;&lt;span&gt;Clean Air Act 182&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). The plant must meet the Lowest Achievable Emission Rate and buy offsetting cuts from other sources in the same area, at 1.1 to 1.5 tons per ton. Location sets the line: Dallas and Houston sit at 25 tons, Chicago, Salt Lake City and Las Vegas at 50, Northern Virginia and Phoenix at 100 (&lt;/span&gt;&lt;a href="https://www.epa.gov/green-book"&gt;&lt;span&gt;EPA Green Book&lt;/span&gt;&lt;/a&gt;&lt;span&gt;); &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-51/subpart-I/section-51.165"&gt;&lt;span&gt;40 CFR 51.165&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Title V operating permit: PTE of 100 tons a year or more, on top of whichever construction permit applies.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Applied for within 12 months of commissioning. Gathers every requirement into one enforceable document with a five-year term. EPA gets 45 days to object and the public 60 days to petition. Adds monitoring, reporting and fees, and sets no new emission limits of its own; &lt;/span&gt;&lt;a href="https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-70/section-70.2"&gt;&lt;span&gt;40 CFR 70.2&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;Three caveats.&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;The 250-ton line for simple-cycle plants rests on consistent agency practice, including Mississippi&amp;#8217;s own xAI permit, not on a written EPA ruling.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;States differ below the federal lines. Texas requires control technology for every new facility. Virginia permits anything above 40 tons of NOx. California districts trigger controls at 10 pounds a day.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Federal emission standards apply whatever the permit tier. The &lt;a href="https://www.federalregister.gov/documents/2026/01/15/2026-00677/new-source-performance-standards-review-for-stationary-combustion-turbines-and-stationary-gas"&gt;January 2026 rule&lt;/a&gt; sets a 5 ppm NOx floor for new large turbines running base load. That means selective catalytic reduction from day one.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dT6T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2af5a1de-c574-4813-bf59-7a04ce49f029_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!dT6T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2af5a1de-c574-4813-bf59-7a04ce49f029_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Small emissions rates become big annual totals at campus scale. At an illustrative controlled NOx rate of 0.10g/kWh, 250MW &amp;#215; 8,760 hours produces about 241 US short tons a year; the same calculation reaches 250 tons at roughly 259MW. The actual answer depends on the equipment&amp;#8217;s controlled emissions, the applicable threshold and which units the regulator counts together as one source.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That leaves developers working on both plant size and the operating plan. A phased authorization can, where the project and rules allow it, bring an initial tranche online while approval for the larger build progresses. But the hours and emissions limits must survive contact with the intended operating schedule and be enforceable. The regulator needs a credible plan for how the whole campus will run.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;span&gt;Project Jupiter: Grand Designs&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;UK television legend and architecture critic Kevin McCloud would be raising his eyebrow at Oracle&amp;#8217;s Project Jupiter because it shows how permitting can force the redesign of an entire facility at breakneck speed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The original applications were filed on 17 November 2025 for two separate microgrids, East and West, each sized to sit just under the federal 250-ton major-source line. The West application proposed 34 GE TM2500 and 20 Mitsubishi FT8 units (54 turbines, roughly 1,677 MW) with the East microgrid at a higher scale. The strategy was to operate as a synthetic minor: install equipment capable of emitting well above the major-source threshold, then accept operating limits that keep permitted emissions just beneath it. The East microgrid reported the potential to emit of 521 tons of NOx a year and requested a cap of 248.90, 1.1 tons under the line.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pLN6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9b8db8a-c77a-4851-83fe-5b1ba41f0540_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!pLN6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9b8db8a-c77a-4851-83fe-5b1ba41f0540_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;New Mexico&amp;#8217;s Environment Department determined that limits set so close to the threshold were not practically enforceable. The applicant resolved that by dropping both caps to 245 tons, and the department ruled both applications complete and published its intent to issue - but some 7,155 public comments came in, the Secretary concurred in holding a hearing, and the applicant withdrew both on 27 April 2026, the day it announced the fuel-cell redesign.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The project then abandoned the turbine design and refiled around Bloom Energy solid-oxide fuel cells in April. The revised proposal targets roughly 37 tons per year of NOx, around 92% below the original turbine configuration.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The technology change did not make the permit issues disappear. On August 23, 2026, the New Mexico Supreme Court stayed the administrative air-permitting proceeding until further order. The stay paused the process rather than deciding the merits of the application, and on September 1 the justices unanimously refused the developer&amp;#8217;s request to lift it even temporarily. The regulator&amp;#8217;s decision deadline is November 23, 2026.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;The Fuel-Cell Escape Hatch&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Fuel cells offer an escape hatch from the trickiest part of permitting but not from the permit process itself.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The technology generates electricity electrochemically rather than through flame combustion, generally producing far less NOx and other conventional pollutants than a comparable fleet of turbines or reciprocating engines. Depending on the site and configuration, fuel cells can keep a project below PSD major-source thresholds and allow it to follow a standardized or minor-source route instead. They still require permits and still produce CO&amp;#8322; and smaller quantities of other pollutants, but the advantage here is a lighter regulatory profile, not zero emissions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AEP Ohio&amp;#8217;s 72.9MW Bloom installation at AWS&amp;#8217;s Hilliard site in Ohio shows the wrinkles in permitting fuel cells, remaining below the thresholds that would have triggered the major-source route. The project still required an Ohio EPA air permit and separate state siting approval, while the air permit was appealed by the City of Hilliard in November 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius also made the technology trade in its first BTM US deployment, replacing the previously planned combustion-based generation with 328MW of Bloom fuel cells under a 10-year power agreement, with the company pointing to faster deployment and the lighter permitting burden as advantages of the switch.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Fuel cells can accelerate projects through the permitting matrix but can also make speculative projects easier to decorate. In one Texas filing we found, a proposed 560MW Bloom fuel-cell plant paid a $900 standard-permit fee and moved from application receipt on December 19, 2025, to authorization on January 14, 2026, TCEQ concluding that the installation was not a major source under either PSD or Title V.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A standard permit confirms that a proposed equipment configuration fits a pre-written emissions envelope. It does &lt;/span&gt;&lt;strong&gt;&lt;span&gt;not&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; prove that the datacenter has a committed tenant, financing, purchased equipment, firm gas supply or a construction notice to proceed. That is why we do not treat &amp;#8220;permitted&amp;#8221; as a greenlight for a new BTM project.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1Il6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f58862d-c19a-4396-8667-2414cf44cfa7_2700x1540.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Permit-credibility ladder" class="sizing-normal" height="830" src="https://substackcdn.com/image/fetch/$s_!1Il6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f58862d-c19a-4396-8667-2414cf44cfa7_2700x1540.png" title="Permit-credibility ladder" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Note that another often overlooked constraint for permitting is water. &lt;span&gt;For radiator-cooled recips, process-water demand can be very low: the radiators dump engine heat into the air. But for certain single cycle turbines, water or steam injection for NOx control creates a continuing water requirement, while dry low-emissions (DLE) combustion avoids that injection. The turbine package matters as much as the technology label. For example, the Pratts FT8 MOBILEPAC use water injection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Combined cycle adds another decision. Wet recirculating cooling loses water through evaporation and blowdown, the discharge used to keep dissolved material from building up. Dry cooling rejects that heat to the air. &lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 2: Gas&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Now, while permits are a core site selection constraint, fuel adds a second one. &lt;span&gt;The US is awash with natural gas: high oil prices maintain the incentive to drill baby drill, and the gas that comes out as a by-product needs to find a home somewhere, &lt;/span&gt;while Appalachia and the Haynesville add ample supply of dry gas (not associated with oil extraction).&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the hard part is transportation of that gas. Building pipelines can be simultaneously the hardest and easiest aspect of the BTM datacenter construction process, but like permitting, it depends quite significantly on geography. In addition, &lt;/span&gt; one pipeline typically isn&amp;#8217;t enough. A firm contract is tied to a maximum daily quantity, specific receipt and delivery points and, where agreed, minimum delivery pressure; interruptible service can be curtailed when the pipe tightens. A line on the map is therefore weak, what matters is how much firm gas can physically reach the plant&amp;#8217;s meter. The physical fuel system also has to survive a failure. Depending on the site, that can mean independent feeds, redundant internal distribution, stored LNG or dual-fuel capability, plus redundant boost compression where inlet pressure requires it. Gas quality matters too: changes in methane number, heating value and Wobbe index can force control changes or derating if they move outside the machine&amp;#8217;s fuel envelope. &lt;/p&gt;&lt;p&gt;&lt;span&gt;A couple of examples of large projects:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;To build a pipeline in Texas, you only have to answer the Texas Railroad Commission, meaning datacenter developers in the state are increasingly just building the pipeline themselves. Federal water-crossing permits and easements still apply, and a purely private lateral gets no condemnation power, so a single holdout forces a reroute. Crusoe filed by itself for the 16-inch line to Duroc power plant at Abilene, and Trailblazer Infrastructure - the Sweetwater developer, unrelated to Tallgrass&amp;#8217;s Trailblazer system - budgets $120M for a 31-mile extension in its tax-increment finance plan. Add this to ERCOT&amp;#8217;s connection rules and some of the cheapest gas in the country, and you have another explanation for why so much of this build-out is planned in Texas.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;In Louisiana, Energy Transfer subsidiary ETC Tiger Pipeline is building the Franklin Farms lateral - 13.2 miles of 36-inch pipe at a billion cubic feet a day, plus a shorter branch - to feed Entergy Louisiana&amp;#8217;s new combined-cycle plants, which in turn power Meta&amp;#8217;s Hyperion campus over the grid. Entergy, not Meta, is the shipper, so this is the utility-served route rather than a behind-the-meter one. Even with no compression, it still runs 19 months from the federal filing in July 2026 to a February 2028 in-service date.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;New Mexico. Again we arrive at Oracle&amp;#8217;s Project Jupiter. The campus is set to received pipeline gas from the Transwestern-built Green Chile pipeline. That pipeline was contractually due in service on 15 August this year, but the date passed without even an approved route, let alone a start to pipe laying. On 14 August Transwestern filed a new in-service date of 1 February 2027, with the federal apparatus moving unusually fast. This speed will need to continue if that start date of February next year is to be met, with a FERC order required in the next two months. No comparable certificate on record has been issued that fast, and none of the 33 comparable projects we have tracked was approved before the public comment period closed. Our estimation is first gas in April or May 2027, with full ramping up to the 2.45 GW in mid-2028, however, there are several hurdles to overcome before that.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;The fuel contracts and pipeline filings can also help separate wheat from the chaff. A nearby pipeline doesn&amp;#8217;t prove much, but a firm transportation contract, signed gas supply agreement, or a pipeline application filed at the regulator can help understand which sites may be on the way to receiving gas for their site.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Some interesting observations:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Energy Transfer contracted 150 MMcf/d to the Nexus Hubbard campus, enough to run about 750 MW of the reciprocating engines actually ordered. But the campus&amp;#8217;s pending air permit covers a 5,230MW fleet, meaning it needs about seven times the contracted gas supply , so either there are more gas contracts are coming, or permitting was a hedge ahead of contracting gas supply.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Liberty Energy&amp;#8217;s joint venture with PowerBridge covers a planned 2 GW campus in West Texas, with more than 300 MW of generation in a first phase targeted for the fourth quarter of 2027. Liberty told investors on July 22, 2026 that the site would start behind the meter, likely inside ERCOT&amp;#8217;s Batch Zero, and could take a grid connection of undetermined size in 2028. Most of the campus would then sit behind a private use network, the ERCOT structure that nets a site&amp;#8217;s generation against its load at a single connection, which we explain in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;&lt;span&gt;US Grid Constraints&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 3: Equipment&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The market for turbines, reciprocating engines and other types of generation equipment has grown significantly so far this year, with new manufacturers coming into the fold and existing OEMs increasing manufacturing capacity to keep pace with the growing demand for onsite power generation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power"&gt;&lt;span&gt;Onsite Gas Deep Dive&lt;/span&gt;&lt;/a&gt;&lt;span&gt; we went through the new types of technology and incumbent manufacturers, so you can go through the different types of equipment available to datacenter operators in that article.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since writing in December 30, 2025 article, the three broad categories have remained unchanged:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Gas turbines (GTs):&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;industrial gas turbines (IGTs), smaller, heavier machines in the tens of megawatts;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;aeroderivatives (aeros), jet engines repackaged for power in the 30 to 115 MW range and able to ramp in 5 to 8 minutes; and&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;heavy-duty frame turbines of roughly 400 MW, with increased fuel efficiency when put into a combined cycle with steam turbines.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Reciprocating internal combustion engines (RICEs), or &amp;#8220;recips&amp;#8221;:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;high-speed engines (1,500 to 1,800 rpm) of roughly 0.5 to 4.5 MW per unit, such as INNIO&amp;#8217;s Jenbacher Type 6 and Caterpillar&amp;#8217;s G3520; and&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;medium-speed engines (500 to 1,000 rpm) of roughly 5 to 20 MW, such as W&amp;#228;rtsil&amp;#228;&amp;#8217;s 34SG, 31SG and 50SG, INNIO&amp;#8217;s J920 and Everllence&amp;#8217;s 51/60G.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fuel cells: solid-oxide units from Bloom Energy carry nearly all the orders (3.8 GW of the tracker&amp;#8217;s fuel-cell bookings against 0.03 GW for FuelCell Energy).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;While turbines captured most of the initial orders, they very quickly ended up being sold out, with first slots now past 2030. This is because BTM developers compete with utilities for these turbine slots. However, recips are much less popular among utilities and they are increasingly aking to AI compute pure-plays. That&amp;#8217;s why our quarter-by-quarter tracker of firm orders for BTM AI compute has seen sign a drastic shift towards recips. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!x_qS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!x_qS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcda4ece6-66ad-4da3-9f3d-53b3561414f3_2430x1296.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And we expect the trend to continue. Folks like EROCK, FTAI Power and Dynamis, alongside INNIO, Wartsila, Caterpillar and Cummins, and Bloom Energy, are expanding capacity more aggressively than incumbents like GEV, and directing more supply to the datacenter market. Caterpillar is lifting its large reciprocating-engine output to nearly 3x 2024 levels, while INNIO expects to roughly triple total capacity from 3.5 GW a year in 2025 to around 10 GW a year by 2030. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We have also seen the emergence of a secondary turbine market. They don&amp;#8217;t come cheap, though! &lt;/span&gt;The scarcity across the main OEMs has built a secondary market where the premium buys time. A released delivery slot trades at a real premium to a factory order - the clearest public mark is a slot assignment struck 16% above the fixed price, and 46% above once all costs are loaded - and what the premium buys is a slot delivery in the next couple of years (or sooner) rather than in the next five years, and quicker energization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pAMU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cdf21bb-752b-410d-9086-a6132a285da3_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!pAMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cdf21bb-752b-410d-9086-a6132a285da3_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Key to chat secondary market is the presence of speculative orders in the supply chain. Folks commit to buying turbines or sign minimum purchase agreements, and pay deposits, yet don&amp;#8217;t have actual datacenter sites to deploy them. We&amp;#8217;re seeing that behavior primarily impacting the gas turbine market, notably incumbents GEV and Siemens. That equipment remains premium today and in high demand, and some &amp;#8220;speculators&amp;#8221; have been nicely rewarded given the secondary market prices discussed above. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oDuj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534453fc-ef33-4217-a16f-9db5d10049b3_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!oDuj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534453fc-ef33-4217-a16f-9db5d10049b3_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;No BTM Plant Without Balance of Plant&lt;/h3&gt;&lt;p&gt;While generation equipment is typically the center of the conversation when discussing BTM constraints, we think that&amp;#8217;s increasingly shifting to BoP. Generation equipment will be useless if the campus waits for transformers, medium-voltage switchgear or the e-houses that hold the electrical equipment. The collection system and controls also have to bring the fleet&amp;#8217;s output together into a working plant. And this electrical equipment, often at medium voltage and sometimes high voltage (depending on plant size and system design), is in very high demand due to being standardized and often used by datacenters themselves, as part of their electrical systems (&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-1-electrical"&gt;see our deep dive on the topic here&lt;/a&gt;). &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!cYFV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7aac63d0-204b-4562-8b7b-8d56d9a49cc0_2116x3064.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="2108" src="https://substackcdn.com/image/fetch/$s_!cYFV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7aac63d0-204b-4562-8b7b-8d56d9a49cc0_2116x3064.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;; SemiAnalysis &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt;; Sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Stage 4: Construction, Commissioning and Workforce&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Once capital, permits, gas and equipment are solved, a whole other challenge arises. Building the power plant, and operating it at the contractually defined SLA standards needs highly qualified labor, contractors and EPCs.&lt;span&gt; To be clear, folks calling this a &amp;#8220;science experiment&amp;#8221; are entirely missing that 3GW of Datacenter IT capacity is already running with behind-the-meter power plants. Our Datacenter Model and Energy Models track every single project and exact timelines and supply chain.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Cdhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!Cdhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2906ff1c-b475-4668-a38f-de6d96871268_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;But as the scale dramatically increases, there will be issues, particularly in the context of surging labor scarcity driven by the datacenter buildout.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our labor market modeling in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;&lt;span&gt;The Wild Wild West of LEGO Datacenters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; sized the 2027 gap at 288,000 workers, based on our Labor Model included in &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;our Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Electricians are the largest trade at about 30% of site hours, drifting toward 40% by 2030 as liquid cooling adds mechanical work. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Moving the mechanical and electrical work into a factory cuts on-site labor by about 63% and on-site licensed-electrician hours by about 85%, which is why prefabricated eHouses, skidded plants, and full modular offerings are spreading through the vendor list: they are labor arbitrage as much as an opportunity to shoot ahead of schedule.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But plenty of labor is still needed onsite. When it comes to power plants, the US has been building them for decades, meaning a healthy labor supply pool and lower costs than the datacenter build. Large combined cycle gas plants peak at about half a construction worker per megawatt:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Palomar, 546MW in California, peaked at 283 craft&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Guernsey, 1,875MW in Ohio and fifteen years later, at close to 1,000&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;So, on a gigawatt campus the power plant build can be a fifth to a quarter of the peak headcount.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, &lt;/span&gt;&lt;em&gt;&lt;strong&gt;&lt;span&gt;it is not the same labor.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span&gt; A CCGT plant is a mechanical pressure project, meaning boilermakers setting HRSG pressure parts, pipe welders whose welds have to pass radiography, and millwrights aligning a turbine to thousandths.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; There are 10,200 boilermakers in the United States, the occupation turns over about 800 people a year, and the Bureau of Labor Statistics projects it to shrink.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That said, the BTM buildout is set to use a variety of solutions and each generation type draws on different trades, and each have their pros and cons regarding labor.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Reciprocating engines need no boilermakers, but they lean on electricians and millwrights, so the power plant competes with its own datacenter for the same people.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fuel cells need none of the scarce trades: no pressure parts, so in a labor-constrained buildout, that is a strong argument. But at mutli-gigawatt scale, hundreds of fuel cell banks and the required supercapacitors, BESS and so on, make for a different kind of configuration which has never been done at scale.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;This is why &amp;#8220;labor-light&amp;#8221; power solutions are increasingly attractive to end-customers. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/us-grid-constraints-towards-40gw"&gt;&lt;span&gt;As the US grid runs out of power &amp;amp; headroom in 2028&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, these solutions will be the primary way to solve datacenter power constraints. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Of course, commissioning is not the finish line. A permanent island needs daily operating coverage, remote monitoring, local response, scheduled maintenance, spare parts and service coverage for unplanned work. The cadence is measured in operating hours. Caterpillar illustrates a 20,000-hour top-end and an 80,000-hour major overhaul; Jenbacher packages can require major work at 60,000 or 80,000 hours. At 8,000 running hours a year, that is roughly 2.5 years to the Caterpillar top-end and 7.5&amp;#8211;10 years to a major. The exact answer varies by engine and duty cycle.&lt;/p&gt;&lt;p&gt;To counter both issues, some OEMs are increasingly going vertical. Bloom Energy is the main example, as their solution is of course not as broadly established than turbines and engines. Bloom takes care of most installation and O&amp;amp;M work for its deployment, and hires and trains staff to do that. Others are following, and both issues are increasingly a deciding factor for equipment orders. EROCK has also relied on this, and their use of smaller truck-derivative engines means that both installation and O&amp;amp;M are much simpler than for a traditional turbine-based power plant. PROENERGY also discloses a large in-house staff that can act as EPC and O&amp;amp;M if need be. &lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Stage 5: Islanding Physics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The last stage is the least visible and the least forgiving. At xAI&amp;#8217;s Colossus 1, matching gas turbines to GPU load proved harder than expected, with jitters of 10 to 20MW several times a second and oscillations like these exciting torsional modes and eating up turbine-generator shaft life. This issue led to xAI deploying the first phase of 150MW Tesla Megapacks. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ai-training-load-fluctuations-at-gigawatt-scale-risk-of-power-grid-blackout"&gt;&lt;span&gt;We&amp;#8217;ve discussed at length here the issues with AI Training load fluctuations&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This has led to the rise of a new battle: BESS vs Flywheels / SynCons to be paired with generation equipment at BTM sites.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AxcJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0e5956-feb0-476e-ba96-bb953f701e58_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Image preview" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!AxcJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0e5956-feb0-476e-ba96-bb953f701e58_2700x1440.png" title="Image preview" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/energy-model/"&gt; SemiAnalysis Energy Model&lt;/a&gt;, sales@semianalysis.com &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The combustor technology that makes modern gas turbines permittable holds its emissions performance only above roughly half of rated load, or about 35% with turndown upgrades. AI training loads, which swing hard and fast, can push turbines below that floor, where controls add pilot fuel or revert to diffusion mode and NOx, CO and unburned hydrocarbons all jump. A permit is written based on potential emissions, so that floor is integrated into the application.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A grid-connected plant borrows two services from the system: inertia, the spinning mass that resists frequency change, and fault current, the surge that lets a breaker recognize a short circuit and trip. An islanded plant must make both itself. Engines and turbines deliver five to ten times rated current into a fault; batteries, solar and fuel cells are clamped by their electronics to roughly 1.2-2x, thin enough that conventional overcurrent protection loses its margin. An island built only on inverters can fail to clear its own short circuits.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Fuel cells answer the same question with supercapacitors, which dump into a step load and recharge as the stack ramps. Channel checks for Bloom&amp;#8217;s sizing ratio put it near 3:2 on a power basis, which would make Project Jupiter&amp;#8217;s 2.45GW imply about 1.6GW of supercapacitors, far above the existing precedent of 58MW.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Can You Do This Without Gas?&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Plenty are trying, and after six stages of difficulty you may well think renewables could dodge the permitting, fuel, and supply chain  bottlenecks. Some are already trying, notably Crusoe with Redwood. Others like Google are deploying renewables &amp;amp; BESS at very large scale, but these sites remain grid connected.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Renewables clear air permitting far more easily, since there is no combustion source to permit, the fuel costs nothing, and there is no pipeline to route. The catch is electrical physics. In an off-grid context everything connects through inverters. Inverter-based sources push only a thin multiple of rated current into a short circuit, a fraction of what an engine or turbine delivers, too little margin for conventional overcurrent protection to trip reliably. So a clean renewable island has to buy grid-forming inverters plus synchronous condensers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our December 2025 onsite-gas piece measured average US grid availability at about 99.93%, roughly three nines, and showed that onsite supply has to be overbuilt to match it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Crusoe and Redwood Materials&amp;#8217; operating datacenter microgrid in Sparks, Nevada has run since June 2025 on 12 MW of solar and 63 MWh of second-life electric vehicle batteries, with the grid as backup. In a March 24, 2026 release Crusoe reported 99.2% availability over seven months of continuous operation and announced an expansion to 20 MW. Scaling a solar-and-battery design to a gigawatt campus requires substantial generation capacity, storage and land; the amounts depend on the load profile, weather, reliability target and availability of grid backup. Batteries earn their place inside gas projects: ride-through, load smoothing and backup energy. Liberty Energy&amp;#8217;s chief financial officer said on July 23, 2026 that battery power capacity averages 50% of gas capacity across its datacenter clients. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Buyers are becoming more tolerant of interruption. Microsoft says its Fairwater Atlanta site was selected for resilient utility power and is &amp;#8220;capable of achieving 4x9 availability at 3x9 cost,&amp;#8221; four nines of availability (99.99%) at the cost of three nines (99.9%), which lets it forgo onsite generation, uninterruptible power supply (UPS) systems and dual-corded distribution for the GPU fleet (Scott Guthrie, Microsoft, November 12, 2025). In our Industrials Model, we track the expected uptime for 30+ different datacenter designs, based on our deep bottoms up equipment-by-equipment BoM. We track desings of Anthropic, OpenAI, Meta and all other hyperscalers and we are seeing a clear trends towards lower redundancy.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Currently, no pathway clears all six gates: gas is exposed on permits and on the pressure trades (the boilermakers and pipe welders), fuel cells on stability spend and unproven scale, solar and batteries on the island itself.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Where do we go from here?&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Let&amp;#8217;s now discuss the longer-term outlook and winners&amp;amp;losers. We&amp;#8217;ll discuss our outlook for BTM plants and whether they are all destined to be grid-connected or not, and how solar and batteries fit into that outlook.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We&amp;#8217;ll also discuss winners and losers in the OEM market, and in the BoP market. Some big industry changes are negative for certain large industrial companies, but there are balancing factors within their portfolio.  &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/what-is-so-hard-about-behind-the"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-10T06:28:20+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/where-does-a-robot-think-on-device</id>
    <title>Where Does a Robot Think – On-Device vs Datacenter Inference</title>
    <updated>2026-09-09T12:53:35+00:00</updated>
    <author>
      <name>Ivan Chiam</name>
    </author>
    <content type="html">&lt;p&gt;For most of its short history, AI lived behind a screen. That&amp;#8217;s starting to change.&lt;/p&gt;&lt;p&gt;First came chatbots, good for answering a question or drafting an email. Then agentic AI, models that don&amp;#8217;t just respond but do real work on a computer: navigating software, calling tools, finishing multi-step tasks on their own. Now the frontier is physical AI, intelligence that reaches past the screen to perceive the world and act on it. The biggest piece is robots, and it is still early: the hardware, the models, and the economics are all being worked out right now.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;The Embodiment Problem&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;With LLMs, the hardware bends to the model. For hyperscalers and AI labs, there&amp;#8217;s no hard latency requirement and a very high spending ceiling, so the process is simple: pour in as much data and compute as possible at training, then figure out how to serve the model that comes out. The model comes first; the hardware serves it. Robotics inverts this. Tighter constraints flip the order of design: you first work out what it takes to serve a model on the robot, then build a model that fits. Two constraints drive this.&lt;/p&gt;&lt;p&gt;The first is time. A robot runs real-time control loops and can&amp;#8217;t miss a deadline. An LLM can be slow without affecting the final output. If a robot is slow, the world changes around it, and then the action is obsolete by the time it needs to enact it.&lt;/p&gt;&lt;p&gt;The second is cost. When you use an LLM, it lives behind a screen provided by the user. In robotics, the manufacturer has to build both the compute and the robot itself and pay for it upfront, on every unit, and the capital expenditure can be immense. At scale, this upfront cost can be billions and even in the trillions if we do eventually get to a billion robots.&lt;/p&gt;&lt;p&gt;Because of these two constraints, in robotics the on-robot hardware is fixed, and the model is designed to fit it. Even at hyperscaler funding levels, most of the capital will have to go into the robots and factories themselves, not into compute. Model capability is therefore capped by what can run on affordable, real-time hardware on the robot, and intelligence becomes something you ration against latency and unit economics.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;Robot Models Are Still Small&amp;#8230;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;This is why frontier robot models remain far smaller than frontier LLMs, which have already pushed into the trillions of parameters. Today most frontier robot models sit between roughly 5 and 14 billion parameters: Physical Intelligence&amp;#8217;s &amp;#960;0.7 at 5 billion, and NVIDIA&amp;#8217;s DreamZero at 14 billion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!F5RL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b08ff38-9526-460d-b73f-fed4cf64f380_2176x1144.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="765" src="https://substackcdn.com/image/fetch/$s_!F5RL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b08ff38-9526-460d-b73f-fed4cf64f380_2176x1144.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In LLMs, scaling laws have held, scaling has consistently broadened the range of problems a single model can solve. Early results show robotics might work the same way. Data has been a constraint but that is now scaling with World Models and Embodied human data collection. Embodied AI faces limits language models never did, like scarce data and the cost of real-world interaction, so whether scaling pays off the same way is genuinely an open question.&lt;/p&gt;&lt;p&gt;If robot models do continue to scale, the question becomes where should all that compute run, given the latency, cost and model limits mentioned above. The field is genuinely split, with different companies making diverging bets. Figure runs its in-house Helix model entirely onboard the robot. Physical Intelligence&amp;#8217;s &amp;#960;0.7 model goes the other way and runs its policy off-robot on a single H100. NVIDIA&amp;#8217;s DreamZero, a 14-billion-parameter &amp;#8220;world action model&amp;#8221; built on a video-diffusion backbone, needs two GB200 GPUs off-robot just to run in real time.&lt;/p&gt;&lt;p&gt;Our view is that a cascade is inevitable. Some robots will run cognition on-board, while others will offload it to GPUs sitting in a datacenter. The biggest robot model builders today, like NVIDIA and Google DeepMind, will lean toward this cloud approach, running the heavy cognition on cloud GPUs, with only a small edge model on the robot for low-level control and safety.&lt;/p&gt;&lt;p&gt;Smaller builders, such as Dyna and Sunday, may initially favor models that fit on a Jetson or consumer GPUs because their early deployments operate within narrow, controllable environments where onboard inference is sufficient. As deployments scale, however, they will converge on whichever mix of onboard and off-robot compute delivers the best performance and economics for their business model.&lt;/p&gt;&lt;p&gt;Moving the GPU off the robot brings real benefits, but also real challenges. Chief among them is latency, and it doesn&amp;#8217;t work everywhere. In environments with poor connectivity, cloud deployment isn&amp;#8217;t an option at all. Despite these difficulties, off-robot compute remains beneficial, and in some cases necessary, as the following sections show.&lt;/p&gt;&lt;h2&gt;Models in Robots&lt;/h2&gt;&lt;p&gt;Before we get into why the robot model should run in an off-robot datacenter, here&amp;#8217;s a quick primer on how robot models work, and which ones we&amp;#8217;re talking about.&lt;/p&gt;&lt;p&gt;Robot control is a broad space. Hard-coded control, where engineers write out the rules and math for every movement, has run factories for decades on embedded compute, and small task-specific policies fit onboard just fine. That&amp;#8217;s not our subject. We&amp;#8217;re talking about data-driven generalist robotics, robots run by large foundation models, because that&amp;#8217;s where the frontier is.&lt;/p&gt;&lt;p&gt;Even within data-driven generalist robot models, architectures vary. Some are monolithic: one model that goes straight from what the camera sees to how the motors move. Many are hierarchical: a big, slow model decides what to do, and a small, fast one turns that into movement, hundreds of times a second. Our argument for off-robot datacenter compute is about these hierarchical models, where the brain separates into two or more layers, most often a planning layer and an action layer.&lt;/p&gt;&lt;p&gt;The planning layer is the slow, high-level one: it perceives the scene, reasons about space, and plans the task. The action layer is the fast, low-level one: it turns those plans into motor commands. The planning layer, which is also the heavy part of the model, is the more forgiving: it updates only a few times a second and runs asynchronously from the control loop, so the action layer keeps acting on the most recent plan while the next one is still in flight. That decoupling lets planning absorb the delay, and even the jitter, of a wireless round trip, while the action layer runs at hundreds of Hz and can tolerate none of it. So planning is the natural candidate to move into the datacenter, while the fast control loop stays local.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ChJt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff393990c-76fa-43af-ab99-dc4f50c08a4f_2152x1092.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="739" src="https://substackcdn.com/image/fetch/$s_!ChJt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff393990c-76fa-43af-ab99-dc4f50c08a4f_2152x1092.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The amount of planning scales with how general the robot&amp;#8217;s job is. A generalist built to handle open-ended tasks needs a large planning model doing genuine reasoning, and those models are heavy. That reasoning is exactly what gets pushed to the datacenter. A specialist is the opposite case: a narrow policy doing one repetitive job carries little high-level planning, so the whole model is small enough to stay on the robot.&lt;/p&gt;&lt;h2&gt;Why DC GPUs are better suited&amp;#8230;&lt;/h2&gt;&lt;p&gt;Specialist robots are for the most part solved: factories have run on them for many years now using hard-coded automation, but not modern AI. But a specialist is rigid, one task at one station, idle when the bottleneck moves. Generalists are the frontier because one flexible robot can cover many jobs, redeploy to wherever is bottlenecked, a changing product mix, and the long tail of unstructured work. This aligns with some of the many lessons of the Toyota Production System, where we learned that multi-skilled workers can reduce waste and improve economic efficiency. As a result, the TAM for generalist robotics is huge, not just in manufacturing and warehousing but also in homes and other places.&lt;/p&gt;&lt;p&gt;The more generality you demand, the more you lean toward FLOP-hungry foundation models and datacenter-scale compute. Not every robot needs maximal generality, and many tasks are served well by smaller models, but the frontier of flexible, general-purpose robots is where datacenter-scale compute becomes necessary.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;LLMs vs Robot Models Token Flow&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;An LLM ingests and emits huge, bursty token counts: a long prompt to prefill, then a long generation, with a KV cache that grows the whole time. That is the memory wall, the capacity to hold that cache and the bandwidth to stream the weights and cache on every token, and it makes LLM serving bandwidth-bound.&lt;/p&gt;&lt;p&gt;A robot model is the opposite, a smaller steady stream, more metronome-like rather than a burst. It never stops, because a robot is not answering one question and halting; it is locked in a closed loop with a moving world, taking in a fresh frame and emitting a short action chunk a few times a second. Each frame is compressed in dedicated hardware (the ISP and video-codec ASICs) into a fixed, compact token budget of tens to a few hundred tokens. So robot models are not as memory capacity and bandwidth bound in the same way that LLMs are.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WVGn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9f1f18-6d66-45b3-bb44-7abc9b8ee910_1792x1112.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="904" src="https://substackcdn.com/image/fetch/$s_!WVGn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9f1f18-6d66-45b3-bb44-7abc9b8ee910_1792x1112.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Frontier Robot Models are FLOPs hungry&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;What binds a frontier robot model sometimes memory, but often it is the FLOPs to run it.&lt;/p&gt;&lt;p&gt;These are FLOP-hungry workloads: a VLA (Vision Language Action model) is a multi-billion-parameter model, orders of magnitude larger than the specialist policies before it, and its vision and language stages, which are the bulk of the work, are compute-bound on any capable GPU. A WAM (World Action Model) is heavier still. Instead of naming an action, it generates video of the predicted future and derives the action from it, through iterative denoising, meaning one action could take multiple full forward passes through a model.&lt;/p&gt;&lt;p&gt;Edge silicon cannot keep up. Nvidia&amp;#8217;s latest Jetson Thor, the best-in-class robot brain, has only about a tenth of a single B200&amp;#8217;s compute, and roughly a fourteenth of a B300&amp;#8217;s. DreamZero (a 14B WAM) needed two GB200 GPUs just to reach ~7Hz, which is on the order of twenty times the compute a single Thor can muster. Run the same model on a Thor and it would fall to a fraction of 1Hz, far too slow for real-time control.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!s1nK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14e5b6e-f670-4adb-aafd-a1a5159dcf19_2702x1186.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="639" src="https://substackcdn.com/image/fetch/$s_!s1nK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14e5b6e-f670-4adb-aafd-a1a5159dcf19_2702x1186.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EbLA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabefc74a-e5e4-4fd1-b144-e049be2658cd_1686x1072.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!EbLA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabefc74a-e5e4-4fd1-b144-e049be2658cd_1686x1072.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Shipping the Robot Model Off Device&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;If a Jetson Thor can&amp;#8217;t keep up, and we off-load the heavy, compute-intensive part of the workload to datacenters, it means optimizing local compute for safety loops and high-frequency control loops, and doubling-down on network interfacing.&lt;/p&gt;&lt;p&gt;The primary consideration is the glass-to-glass latency budget we need to hit, and hit reliably. The network will produce issues with bandwidth and stability, and we will feel this the most when transmitting image data.&lt;/p&gt;&lt;p&gt;Transmitting image data quickly and reliably is more than just a dedicated compression ASIC on-device and calling it a day; the entire upstream image processing pipeline must be optimized. Noise is the enemy of compression, the less spatiotemporal structure an image has, the harder it is to compress. So a good local compute system optimized for networking will prioritize the components that keep noise out of the image in the first place: optics, low-light sensor performance, sensor SnR, thermal management, and the image signal processor (ISP).&lt;/p&gt;&lt;p&gt;ISPs turn messy analog signals into digital ones, but can ruin compression efficiency when not optimized for compression directly. And when we consider the imaging pipeline as a whole, we are optimizing for the model, not for human viewing. This is similar to how WAMs do not require the extra denoising steps that typical video diffusion models use; they solve a different task. The same principle applies here: we care about good model outputs and a low bitrate, not necessarily beautiful images (see below).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1ltz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2611c6e0-8bb2-49ab-99be-1100b09c914e_1672x826.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="719" src="https://substackcdn.com/image/fetch/$s_!1ltz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2611c6e0-8bb2-49ab-99be-1100b09c914e_1672x826.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Left image is more pleasing to the eye, but the right image has a higher SnR. Source: &lt;a href="https://ntrs.nasa.gov/api/citations/20170000636/downloads/20170000636.pdf"&gt;NASA&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Network conditions introduce a lot of variability, so local compute must also incorporate dynamic, real-time adaptation of both the ISP and the compression bitrate, similar to WebRTC, to gracefully handle constantly fluctuating network conditions and do so without adversely affecting model performance.&lt;/p&gt;&lt;p&gt;A pipeline that produces a clean, adaptable stream also needs hardware explicitly tuned for offloading &amp;#8211; getting the bits off-device and on-schedule. Historically, mobile chipsets prioritized downlink speeds, but robotics requires massive uplink capacity to stream out high-fidelity telemetry. The download can be relatively small. This means multiple transmit antennas with proper placement, since the environment and robot itself can block signals. It also means support for a wider array of RF bands to allow multiple channels for higher throughput and less congestion &amp;#8211; especially with factory conditions in mind. Optimizing hardware and embedded firmware for fast handovers between access points and between WiFi and 5G is critical since the typical handover time will temporarily kill the latency budget. Jitter is the biggest enemy.&lt;/p&gt;&lt;p&gt;The end goal is a highly coordinated hybrid architecture that maintains a healthy, but not overly indulgent, amount of FLOPs locally for safety and high-frequency control and can reliably off-load the &amp;#8220;foundation&amp;#8221; part of a foundation model. It&amp;#8217;s not a perfect system: simple control loop fallbacks are still required the moment the network connection diminishes or is completely lost. We require latency watchdogs, heartbeat timeouts, and staleness bounds on remote actions.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;Power&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Datacenter GPUs have to run off the robot, because the battery can&amp;#8217;t feed them. A single Blackwell GPU draws ~1.2-1.4 kW and has to be liquid-cooled, built to sit in a rack. A humanoid, by contrast, stores only about 2 kWh in its battery and draws a few hundred watts in normal motion, a kilowatt or two at peak, everything included, which is why its onboard brain is a 40 to 130 W Jetson Thor. Put a datacenter GPU on the robot and the chip alone would out-draw the whole machine, demand cooling it can&amp;#8217;t carry, and flatten the battery in minutes. Offloading sidesteps the power constraint. The robot carries only a 20 to 30 W perception compute + wireless board to reach the datacenter GPU, comfortably within budget.&lt;/p&gt;&lt;h2&gt;The Supply-Chain Wall&lt;/h2&gt;&lt;p&gt;Nvidia&amp;#8217;s accelerator output is almost entirely datacenter silicon: a long Hopper ramp through 2023 and 2024 handing off to Blackwell, which scales sharply across 2025 and 2026 to dominate the mix. Jetson, the line used in robots, is the thin red sliver along the bottom, barely visible even in 2026. This is because the robotics market is nascent, real volume is years out, and there is next to nothing to build for.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KqPD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d7f8da-1f57-413f-aa67-a9428c06a6d3_1362x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!KqPD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d7f8da-1f57-413f-aa67-a9428c06a6d3_1362x938.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;, we withheld Rubin shipments on this chart, buy the data&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Margins tell a similar story. Demand isn&amp;#8217;t there yet, but when it arrives, pricing will go up and Jetson margins will inflect. But for now, a Blackwell datacenter GPU earns far higher gross margins than a Jetson module, on the order of mid-to-high 70s percent versus mid-60s, so NVIDIA has every incentive to point its scarce leading-edge wafer capacity at the datacenter and little reason to ramp edge silicon while the robotics market stays small. Robotics chips like Jetson Thor also require a lot more memory per unit of compute which is a major roadblock.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pP39!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e76318-982e-4731-a1f7-3e2b88f22e41_1212x850.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="850" src="https://substackcdn.com/image/fetch/$s_!pP39!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e76318-982e-4731-a1f7-3e2b88f22e41_1212x850.png" width="1212" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Worse, robot silicon is converging onto the exact nodes the datacenter is fighting over. Nvidia&amp;#8217;s Jetson line used to be insulated: the previous generation, Orin, ran on Samsung&amp;#8217;s SF8 process. The current generation, Thor, has closed that gap onto TSMC N4, which Blackwell uses, and as robots run on more capable models their silicon has to stay on the leading edge: the generation after Thor likely moves to N3 alongside Rubin, then N2 alongside Feynman, exactly the nodes the entire AI-accelerator roadmap is fighting over. So a low-volume, lower-margin Jetson will always be competing for advanced-node wafers from the back of the queue.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o0_d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3a7504-6aed-4c0a-917f-dfd935c8611f_1362x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!o0_d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3a7504-6aed-4c0a-917f-dfd935c8611f_1362x990.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HNJN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a4cc3df-cb9e-4089-afe4-d317b49272ea_1364x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!HNJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a4cc3df-cb9e-4089-afe4-d317b49272ea_1364x990.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;But the wafer demand from robots is not where the strain is. A million Jetson-class chips in 2030, each around 400mm&amp;#178;, is only about ten thousand wafers for the year, a rounding error next to the datacenter GPU ramp, because Thor&amp;#8217;s die is barely half a reticle size chip, and there simply aren&amp;#8217;t many robots yet. Supply only tightens once robots need tens of millions of chips a year, well beyond 2030. So the real question is not whether robots can get wafers. It is silicon efficiency: for a given fleet of robots, which approach consumes less leading-edge silicon? Putting a chip in every robot, or serving their cognition from shared datacenter GPUs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yaj3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bdb2a2b-3a60-404e-a670-fbf411c98dd6_1368x992.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="992" src="https://substackcdn.com/image/fetch/$s_!yaj3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bdb2a2b-3a60-404e-a670-fbf411c98dd6_1368x992.png" width="1368" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;If you look at silicon efficiency as wafers per robot, the onboard chip and the shared datacenter GPU cross over at around 7 robots per GPU. Beyond that, serving cognition from a shared GPU takes less silicon per robot than putting a chip in every machine. And that&amp;#8217;s what really matters here, because when fab supply is scarce, the approach that uses less silicon per robot is the one that scales.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KZer!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2d80ff-e70c-4437-90e2-8315440c759b_1356x982.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="982" src="https://substackcdn.com/image/fetch/$s_!KZer!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2d80ff-e70c-4437-90e2-8315440c759b_1356x982.png" width="1356" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Another major bottleneck is memory. Each Jetson generation has carried more DRAM than the last: Jetson Xavier used 32GB, AGX Orin 64GB, and Jetson Thor now uses 128GB of LPDDR5X, with future generations set to keep climbing. Although total DRAM wafer capacity continues to grow, most of the incremental capacity is being absorbed by HBM for AI accelerators. &lt;/p&gt;&lt;p&gt;That leaves the commodity and LPDDR supply that robot brains depend on competing for a shrinking pool of non-HBM wafers. Similarly, when DRAM is the scarce resource, the approach that uses less DRAM per robot is the one that scales. The LPDDR is better off being allocated to Vera GPUs or wafers to HBM.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Bwbm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f82ac7-8b85-49d0-8925-bb2cab6cd725_1270x896.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!Bwbm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f82ac7-8b85-49d0-8925-bb2cab6cd725_1270x896.png" width="1270" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/memory-model/"&gt;SemiAnalysis Memory Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;Memory tells a similar story, the onboard chip and the shared datacenter GPU cross over at around 5 robots per GPU. Beyond that, serving cognition from a shared GPU takes less DRAM per robot than putting a chip in every machine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z5BS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cf355c-15ef-48ad-8ea2-39bca79ed103_1168x854.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="854" src="https://substackcdn.com/image/fetch/$s_!Z5BS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cf355c-15ef-48ad-8ea2-39bca79ed103_1168x854.png" width="1168" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;The TCO Verdict: One B300 server vs. 56 Thors&lt;/h2&gt;&lt;p&gt;We ran DreamZero, current leader on RoboArena, on a real B300, using the inference optimizations from NVIDIA&amp;#8217;s WAM paper (CUDA graphs, DiT caching, NVFP4 quantization, moving the scheduler onto the GPU). We also ran a single denoising step to match the DreamZero-Flash setup, though without Flash&amp;#8217;s retraining recipe, so task quality is unvalidated.&lt;/p&gt;&lt;p&gt;DreamZero&amp;#8217;s serving profile is prefill-shaped: each inference pushes a full chunk of video latents (thousands of tokens) through the 14B DiT in parallel, so a B300 is compute-bound at batch size 1. Batching therefore buys nothing: FLOPs scale one-for-one with batch size, and every robot just waits longer. Instead, we time-multiplex, with the B300 serving each robot sequentially. This is specific to video-generating WAMs. A VLA like &amp;#960;0 or GR00T flips the roofline: a few hundred tokens through a small backbone leaves the GPU memory-bandwidth-bound, so batching amortizes the same weight reads across robots and throughput scales nearly linearly with batch size. Serve a VLA fleet with continuous batching; serve a video WAM one robot at a time.&lt;/p&gt;&lt;p&gt;A key assumption we made is that Network RTT is 10ms, meaning the GPU sits on-prem near the robots. Each inference buys the robot its next 1.6 seconds of motion, which makes 1.6 seconds our latency budget: the total time a request gets to spend across network, queueing, and compute before the robot runs out of instructions and stalls mid-motion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xNF4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d7f24de-6676-4e95-965b-40f5b1e91b93_956x648.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="648" src="https://substackcdn.com/image/fetch/$s_!xNF4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d7f24de-6676-4e95-965b-40f5b1e91b93_956x648.png" width="956" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/html/2602.15922v1"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;We read the chart below on p99 latency (blue line), the 99th percentile response time. 99 out of 100 requests come back faster than this, so it&amp;#8217;s effectively the worst case. It matters more than the median (green line) here because a robot stalls the moment any single chunk shows up late. We see that the maximum number of robots we can process on 1 B300 GPU is 7 robots. At 7 robots, p99 is 1.16 seconds, still under the wall, with zero missed chunks over the run.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kftX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ee04d9-e49a-4c50-b190-159dfaef8249_1508x910.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="879" src="https://substackcdn.com/image/fetch/$s_!kftX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ee04d9-e49a-4c50-b190-159dfaef8249_1508x910.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Now that we know we can time-multiplex 7 robots per GPU, the fundamental TCO question stands: &lt;/p&gt;&lt;h2&gt;Is it cheaper to offload compute to a B300 server, or to run inference on-device in a Jetson Thor?&lt;/h2&gt;&lt;p&gt;We build up two scenarios: the offload scenario assumes one Blackwell-class server which can serve 7 robots (i.e. one B300 NVL8 server serving 56 robots), and an on-robot scenario of the same 56 robots each carrying its own Jetson Thor. In both scenarios, common parts across both cases (i.e. mechanical components, robot shells) are not included in the BOM cost calculation.&lt;/p&gt;&lt;p&gt;We also discuss the biggest challenge with this deployment mechanism.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/where-does-a-robot-think-on-device"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/where-does-a-robot-think-on-device"/>
    <summary type="html">&lt;p&gt;For most of its short history, AI lived behind a screen. That&amp;#8217;s starting to change.&lt;/p&gt;&lt;p&gt;First came chatbots, good for answering a question or drafting an email. Then agentic AI, models that don&amp;#8217;t just respond but do real work on a computer: navigating software, calling tools, finishing multi-step tasks on their own. Now the frontier is physical AI, intelligence that reaches past the screen to perceive the world and act on it. The biggest piece is robots, and it is still early: the hardware, the models, and the economics are all being worked out right now.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;The Embodiment Problem&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;With LLMs, the hardware bends to the model. For hyperscalers and AI labs, there&amp;#8217;s no hard latency requirement and a very high spending ceiling, so the process is simple: pour in as much data and compute as possible at training, then figure out how to serve the model that comes out. The model comes first; the hardware serves it. Robotics inverts this. Tighter constraints flip the order of design: you first work out what it takes to serve a model on the robot, then build a model that fits. Two constraints drive this.&lt;/p&gt;&lt;p&gt;The first is time. A robot runs real-time control loops and can&amp;#8217;t miss a deadline. An LLM can be slow without affecting the final output. If a robot is slow, the world changes around it, and then the action is obsolete by the time it needs to enact it.&lt;/p&gt;&lt;p&gt;The second is cost. When you use an LLM, it lives behind a screen provided by the user. In robotics, the manufacturer has to build both the compute and the robot itself and pay for it upfront, on every unit, and the capital expenditure can be immense. At scale, this upfront cost can be billions and even in the trillions if we do eventually get to a billion robots.&lt;/p&gt;&lt;p&gt;Because of these two constraints, in robotics the on-robot hardware is fixed, and the model is designed to fit it. Even at hyperscaler funding levels, most of the capital will have to go into the robots and factories themselves, not into compute. Model capability is therefore capped by what can run on affordable, real-time hardware on the robot, and intelligence becomes something you ration against latency and unit economics.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;Robot Models Are Still Small&amp;#8230;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;This is why frontier robot models remain far smaller than frontier LLMs, which have already pushed into the trillions of parameters. Today most frontier robot models sit between roughly 5 and 14 billion parameters: Physical Intelligence&amp;#8217;s &amp;#960;0.7 at 5 billion, and NVIDIA&amp;#8217;s DreamZero at 14 billion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!F5RL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b08ff38-9526-460d-b73f-fed4cf64f380_2176x1144.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="765" src="https://substackcdn.com/image/fetch/$s_!F5RL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b08ff38-9526-460d-b73f-fed4cf64f380_2176x1144.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In LLMs, scaling laws have held, scaling has consistently broadened the range of problems a single model can solve. Early results show robotics might work the same way. Data has been a constraint but that is now scaling with World Models and Embodied human data collection. Embodied AI faces limits language models never did, like scarce data and the cost of real-world interaction, so whether scaling pays off the same way is genuinely an open question.&lt;/p&gt;&lt;p&gt;If robot models do continue to scale, the question becomes where should all that compute run, given the latency, cost and model limits mentioned above. The field is genuinely split, with different companies making diverging bets. Figure runs its in-house Helix model entirely onboard the robot. Physical Intelligence&amp;#8217;s &amp;#960;0.7 model goes the other way and runs its policy off-robot on a single H100. NVIDIA&amp;#8217;s DreamZero, a 14-billion-parameter &amp;#8220;world action model&amp;#8221; built on a video-diffusion backbone, needs two GB200 GPUs off-robot just to run in real time.&lt;/p&gt;&lt;p&gt;Our view is that a cascade is inevitable. Some robots will run cognition on-board, while others will offload it to GPUs sitting in a datacenter. The biggest robot model builders today, like NVIDIA and Google DeepMind, will lean toward this cloud approach, running the heavy cognition on cloud GPUs, with only a small edge model on the robot for low-level control and safety.&lt;/p&gt;&lt;p&gt;Smaller builders, such as Dyna and Sunday, may initially favor models that fit on a Jetson or consumer GPUs because their early deployments operate within narrow, controllable environments where onboard inference is sufficient. As deployments scale, however, they will converge on whichever mix of onboard and off-robot compute delivers the best performance and economics for their business model.&lt;/p&gt;&lt;p&gt;Moving the GPU off the robot brings real benefits, but also real challenges. Chief among them is latency, and it doesn&amp;#8217;t work everywhere. In environments with poor connectivity, cloud deployment isn&amp;#8217;t an option at all. Despite these difficulties, off-robot compute remains beneficial, and in some cases necessary, as the following sections show.&lt;/p&gt;&lt;h2&gt;Models in Robots&lt;/h2&gt;&lt;p&gt;Before we get into why the robot model should run in an off-robot datacenter, here&amp;#8217;s a quick primer on how robot models work, and which ones we&amp;#8217;re talking about.&lt;/p&gt;&lt;p&gt;Robot control is a broad space. Hard-coded control, where engineers write out the rules and math for every movement, has run factories for decades on embedded compute, and small task-specific policies fit onboard just fine. That&amp;#8217;s not our subject. We&amp;#8217;re talking about data-driven generalist robotics, robots run by large foundation models, because that&amp;#8217;s where the frontier is.&lt;/p&gt;&lt;p&gt;Even within data-driven generalist robot models, architectures vary. Some are monolithic: one model that goes straight from what the camera sees to how the motors move. Many are hierarchical: a big, slow model decides what to do, and a small, fast one turns that into movement, hundreds of times a second. Our argument for off-robot datacenter compute is about these hierarchical models, where the brain separates into two or more layers, most often a planning layer and an action layer.&lt;/p&gt;&lt;p&gt;The planning layer is the slow, high-level one: it perceives the scene, reasons about space, and plans the task. The action layer is the fast, low-level one: it turns those plans into motor commands. The planning layer, which is also the heavy part of the model, is the more forgiving: it updates only a few times a second and runs asynchronously from the control loop, so the action layer keeps acting on the most recent plan while the next one is still in flight. That decoupling lets planning absorb the delay, and even the jitter, of a wireless round trip, while the action layer runs at hundreds of Hz and can tolerate none of it. So planning is the natural candidate to move into the datacenter, while the fast control loop stays local.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ChJt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff393990c-76fa-43af-ab99-dc4f50c08a4f_2152x1092.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="739" src="https://substackcdn.com/image/fetch/$s_!ChJt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff393990c-76fa-43af-ab99-dc4f50c08a4f_2152x1092.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The amount of planning scales with how general the robot&amp;#8217;s job is. A generalist built to handle open-ended tasks needs a large planning model doing genuine reasoning, and those models are heavy. That reasoning is exactly what gets pushed to the datacenter. A specialist is the opposite case: a narrow policy doing one repetitive job carries little high-level planning, so the whole model is small enough to stay on the robot.&lt;/p&gt;&lt;h2&gt;Why DC GPUs are better suited&amp;#8230;&lt;/h2&gt;&lt;p&gt;Specialist robots are for the most part solved: factories have run on them for many years now using hard-coded automation, but not modern AI. But a specialist is rigid, one task at one station, idle when the bottleneck moves. Generalists are the frontier because one flexible robot can cover many jobs, redeploy to wherever is bottlenecked, a changing product mix, and the long tail of unstructured work. This aligns with some of the many lessons of the Toyota Production System, where we learned that multi-skilled workers can reduce waste and improve economic efficiency. As a result, the TAM for generalist robotics is huge, not just in manufacturing and warehousing but also in homes and other places.&lt;/p&gt;&lt;p&gt;The more generality you demand, the more you lean toward FLOP-hungry foundation models and datacenter-scale compute. Not every robot needs maximal generality, and many tasks are served well by smaller models, but the frontier of flexible, general-purpose robots is where datacenter-scale compute becomes necessary.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;LLMs vs Robot Models Token Flow&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;An LLM ingests and emits huge, bursty token counts: a long prompt to prefill, then a long generation, with a KV cache that grows the whole time. That is the memory wall, the capacity to hold that cache and the bandwidth to stream the weights and cache on every token, and it makes LLM serving bandwidth-bound.&lt;/p&gt;&lt;p&gt;A robot model is the opposite, a smaller steady stream, more metronome-like rather than a burst. It never stops, because a robot is not answering one question and halting; it is locked in a closed loop with a moving world, taking in a fresh frame and emitting a short action chunk a few times a second. Each frame is compressed in dedicated hardware (the ISP and video-codec ASICs) into a fixed, compact token budget of tens to a few hundred tokens. So robot models are not as memory capacity and bandwidth bound in the same way that LLMs are.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WVGn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9f1f18-6d66-45b3-bb44-7abc9b8ee910_1792x1112.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="904" src="https://substackcdn.com/image/fetch/$s_!WVGn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9f1f18-6d66-45b3-bb44-7abc9b8ee910_1792x1112.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Frontier Robot Models are FLOPs hungry&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;What binds a frontier robot model sometimes memory, but often it is the FLOPs to run it.&lt;/p&gt;&lt;p&gt;These are FLOP-hungry workloads: a VLA (Vision Language Action model) is a multi-billion-parameter model, orders of magnitude larger than the specialist policies before it, and its vision and language stages, which are the bulk of the work, are compute-bound on any capable GPU. A WAM (World Action Model) is heavier still. Instead of naming an action, it generates video of the predicted future and derives the action from it, through iterative denoising, meaning one action could take multiple full forward passes through a model.&lt;/p&gt;&lt;p&gt;Edge silicon cannot keep up. Nvidia&amp;#8217;s latest Jetson Thor, the best-in-class robot brain, has only about a tenth of a single B200&amp;#8217;s compute, and roughly a fourteenth of a B300&amp;#8217;s. DreamZero (a 14B WAM) needed two GB200 GPUs just to reach ~7Hz, which is on the order of twenty times the compute a single Thor can muster. Run the same model on a Thor and it would fall to a fraction of 1Hz, far too slow for real-time control.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!s1nK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14e5b6e-f670-4adb-aafd-a1a5159dcf19_2702x1186.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="639" src="https://substackcdn.com/image/fetch/$s_!s1nK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14e5b6e-f670-4adb-aafd-a1a5159dcf19_2702x1186.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EbLA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabefc74a-e5e4-4fd1-b144-e049be2658cd_1686x1072.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!EbLA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabefc74a-e5e4-4fd1-b144-e049be2658cd_1686x1072.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Shipping the Robot Model Off Device&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;If a Jetson Thor can&amp;#8217;t keep up, and we off-load the heavy, compute-intensive part of the workload to datacenters, it means optimizing local compute for safety loops and high-frequency control loops, and doubling-down on network interfacing.&lt;/p&gt;&lt;p&gt;The primary consideration is the glass-to-glass latency budget we need to hit, and hit reliably. The network will produce issues with bandwidth and stability, and we will feel this the most when transmitting image data.&lt;/p&gt;&lt;p&gt;Transmitting image data quickly and reliably is more than just a dedicated compression ASIC on-device and calling it a day; the entire upstream image processing pipeline must be optimized. Noise is the enemy of compression, the less spatiotemporal structure an image has, the harder it is to compress. So a good local compute system optimized for networking will prioritize the components that keep noise out of the image in the first place: optics, low-light sensor performance, sensor SnR, thermal management, and the image signal processor (ISP).&lt;/p&gt;&lt;p&gt;ISPs turn messy analog signals into digital ones, but can ruin compression efficiency when not optimized for compression directly. And when we consider the imaging pipeline as a whole, we are optimizing for the model, not for human viewing. This is similar to how WAMs do not require the extra denoising steps that typical video diffusion models use; they solve a different task. The same principle applies here: we care about good model outputs and a low bitrate, not necessarily beautiful images (see below).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1ltz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2611c6e0-8bb2-49ab-99be-1100b09c914e_1672x826.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="719" src="https://substackcdn.com/image/fetch/$s_!1ltz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2611c6e0-8bb2-49ab-99be-1100b09c914e_1672x826.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Left image is more pleasing to the eye, but the right image has a higher SnR. Source: &lt;a href="https://ntrs.nasa.gov/api/citations/20170000636/downloads/20170000636.pdf"&gt;NASA&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Network conditions introduce a lot of variability, so local compute must also incorporate dynamic, real-time adaptation of both the ISP and the compression bitrate, similar to WebRTC, to gracefully handle constantly fluctuating network conditions and do so without adversely affecting model performance.&lt;/p&gt;&lt;p&gt;A pipeline that produces a clean, adaptable stream also needs hardware explicitly tuned for offloading &amp;#8211; getting the bits off-device and on-schedule. Historically, mobile chipsets prioritized downlink speeds, but robotics requires massive uplink capacity to stream out high-fidelity telemetry. The download can be relatively small. This means multiple transmit antennas with proper placement, since the environment and robot itself can block signals. It also means support for a wider array of RF bands to allow multiple channels for higher throughput and less congestion &amp;#8211; especially with factory conditions in mind. Optimizing hardware and embedded firmware for fast handovers between access points and between WiFi and 5G is critical since the typical handover time will temporarily kill the latency budget. Jitter is the biggest enemy.&lt;/p&gt;&lt;p&gt;The end goal is a highly coordinated hybrid architecture that maintains a healthy, but not overly indulgent, amount of FLOPs locally for safety and high-frequency control and can reliably off-load the &amp;#8220;foundation&amp;#8221; part of a foundation model. It&amp;#8217;s not a perfect system: simple control loop fallbacks are still required the moment the network connection diminishes or is completely lost. We require latency watchdogs, heartbeat timeouts, and staleness bounds on remote actions.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;Power&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Datacenter GPUs have to run off the robot, because the battery can&amp;#8217;t feed them. A single Blackwell GPU draws ~1.2-1.4 kW and has to be liquid-cooled, built to sit in a rack. A humanoid, by contrast, stores only about 2 kWh in its battery and draws a few hundred watts in normal motion, a kilowatt or two at peak, everything included, which is why its onboard brain is a 40 to 130 W Jetson Thor. Put a datacenter GPU on the robot and the chip alone would out-draw the whole machine, demand cooling it can&amp;#8217;t carry, and flatten the battery in minutes. Offloading sidesteps the power constraint. The robot carries only a 20 to 30 W perception compute + wireless board to reach the datacenter GPU, comfortably within budget.&lt;/p&gt;&lt;h2&gt;The Supply-Chain Wall&lt;/h2&gt;&lt;p&gt;Nvidia&amp;#8217;s accelerator output is almost entirely datacenter silicon: a long Hopper ramp through 2023 and 2024 handing off to Blackwell, which scales sharply across 2025 and 2026 to dominate the mix. Jetson, the line used in robots, is the thin red sliver along the bottom, barely visible even in 2026. This is because the robotics market is nascent, real volume is years out, and there is next to nothing to build for.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KqPD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d7f8da-1f57-413f-aa67-a9428c06a6d3_1362x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!KqPD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d7f8da-1f57-413f-aa67-a9428c06a6d3_1362x938.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;, we withheld Rubin shipments on this chart, buy the data&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Margins tell a similar story. Demand isn&amp;#8217;t there yet, but when it arrives, pricing will go up and Jetson margins will inflect. But for now, a Blackwell datacenter GPU earns far higher gross margins than a Jetson module, on the order of mid-to-high 70s percent versus mid-60s, so NVIDIA has every incentive to point its scarce leading-edge wafer capacity at the datacenter and little reason to ramp edge silicon while the robotics market stays small. Robotics chips like Jetson Thor also require a lot more memory per unit of compute which is a major roadblock.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pP39!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e76318-982e-4731-a1f7-3e2b88f22e41_1212x850.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="850" src="https://substackcdn.com/image/fetch/$s_!pP39!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e76318-982e-4731-a1f7-3e2b88f22e41_1212x850.png" width="1212" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Worse, robot silicon is converging onto the exact nodes the datacenter is fighting over. Nvidia&amp;#8217;s Jetson line used to be insulated: the previous generation, Orin, ran on Samsung&amp;#8217;s SF8 process. The current generation, Thor, has closed that gap onto TSMC N4, which Blackwell uses, and as robots run on more capable models their silicon has to stay on the leading edge: the generation after Thor likely moves to N3 alongside Rubin, then N2 alongside Feynman, exactly the nodes the entire AI-accelerator roadmap is fighting over. So a low-volume, lower-margin Jetson will always be competing for advanced-node wafers from the back of the queue.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o0_d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3a7504-6aed-4c0a-917f-dfd935c8611f_1362x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!o0_d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3a7504-6aed-4c0a-917f-dfd935c8611f_1362x990.png" width="1362" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HNJN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a4cc3df-cb9e-4089-afe4-d317b49272ea_1364x990.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!HNJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a4cc3df-cb9e-4089-afe4-d317b49272ea_1364x990.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;But the wafer demand from robots is not where the strain is. A million Jetson-class chips in 2030, each around 400mm&amp;#178;, is only about ten thousand wafers for the year, a rounding error next to the datacenter GPU ramp, because Thor&amp;#8217;s die is barely half a reticle size chip, and there simply aren&amp;#8217;t many robots yet. Supply only tightens once robots need tens of millions of chips a year, well beyond 2030. So the real question is not whether robots can get wafers. It is silicon efficiency: for a given fleet of robots, which approach consumes less leading-edge silicon? Putting a chip in every robot, or serving their cognition from shared datacenter GPUs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yaj3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bdb2a2b-3a60-404e-a670-fbf411c98dd6_1368x992.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="992" src="https://substackcdn.com/image/fetch/$s_!yaj3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bdb2a2b-3a60-404e-a670-fbf411c98dd6_1368x992.png" width="1368" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;SemiAnalysis Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;If you look at silicon efficiency as wafers per robot, the onboard chip and the shared datacenter GPU cross over at around 7 robots per GPU. Beyond that, serving cognition from a shared GPU takes less silicon per robot than putting a chip in every machine. And that&amp;#8217;s what really matters here, because when fab supply is scarce, the approach that uses less silicon per robot is the one that scales.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KZer!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2d80ff-e70c-4437-90e2-8315440c759b_1356x982.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="982" src="https://substackcdn.com/image/fetch/$s_!KZer!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2d80ff-e70c-4437-90e2-8315440c759b_1356x982.png" width="1356" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Another major bottleneck is memory. Each Jetson generation has carried more DRAM than the last: Jetson Xavier used 32GB, AGX Orin 64GB, and Jetson Thor now uses 128GB of LPDDR5X, with future generations set to keep climbing. Although total DRAM wafer capacity continues to grow, most of the incremental capacity is being absorbed by HBM for AI accelerators. &lt;/p&gt;&lt;p&gt;That leaves the commodity and LPDDR supply that robot brains depend on competing for a shrinking pool of non-HBM wafers. Similarly, when DRAM is the scarce resource, the approach that uses less DRAM per robot is the one that scales. The LPDDR is better off being allocated to Vera GPUs or wafers to HBM.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Bwbm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f82ac7-8b85-49d0-8925-bb2cab6cd725_1270x896.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!Bwbm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f82ac7-8b85-49d0-8925-bb2cab6cd725_1270x896.png" width="1270" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/memory-model/"&gt;SemiAnalysis Memory Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;Memory tells a similar story, the onboard chip and the shared datacenter GPU cross over at around 5 robots per GPU. Beyond that, serving cognition from a shared GPU takes less DRAM per robot than putting a chip in every machine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z5BS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cf355c-15ef-48ad-8ea2-39bca79ed103_1168x854.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="854" src="https://substackcdn.com/image/fetch/$s_!Z5BS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cf355c-15ef-48ad-8ea2-39bca79ed103_1168x854.png" width="1168" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;The TCO Verdict: One B300 server vs. 56 Thors&lt;/h2&gt;&lt;p&gt;We ran DreamZero, current leader on RoboArena, on a real B300, using the inference optimizations from NVIDIA&amp;#8217;s WAM paper (CUDA graphs, DiT caching, NVFP4 quantization, moving the scheduler onto the GPU). We also ran a single denoising step to match the DreamZero-Flash setup, though without Flash&amp;#8217;s retraining recipe, so task quality is unvalidated.&lt;/p&gt;&lt;p&gt;DreamZero&amp;#8217;s serving profile is prefill-shaped: each inference pushes a full chunk of video latents (thousands of tokens) through the 14B DiT in parallel, so a B300 is compute-bound at batch size 1. Batching therefore buys nothing: FLOPs scale one-for-one with batch size, and every robot just waits longer. Instead, we time-multiplex, with the B300 serving each robot sequentially. This is specific to video-generating WAMs. A VLA like &amp;#960;0 or GR00T flips the roofline: a few hundred tokens through a small backbone leaves the GPU memory-bandwidth-bound, so batching amortizes the same weight reads across robots and throughput scales nearly linearly with batch size. Serve a VLA fleet with continuous batching; serve a video WAM one robot at a time.&lt;/p&gt;&lt;p&gt;A key assumption we made is that Network RTT is 10ms, meaning the GPU sits on-prem near the robots. Each inference buys the robot its next 1.6 seconds of motion, which makes 1.6 seconds our latency budget: the total time a request gets to spend across network, queueing, and compute before the robot runs out of instructions and stalls mid-motion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xNF4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d7f24de-6676-4e95-965b-40f5b1e91b93_956x648.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="648" src="https://substackcdn.com/image/fetch/$s_!xNF4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d7f24de-6676-4e95-965b-40f5b1e91b93_956x648.png" width="956" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/html/2602.15922v1"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;We read the chart below on p99 latency (blue line), the 99th percentile response time. 99 out of 100 requests come back faster than this, so it&amp;#8217;s effectively the worst case. It matters more than the median (green line) here because a robot stalls the moment any single chunk shows up late. We see that the maximum number of robots we can process on 1 B300 GPU is 7 robots. At 7 robots, p99 is 1.16 seconds, still under the wall, with zero missed chunks over the run.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kftX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ee04d9-e49a-4c50-b190-159dfaef8249_1508x910.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="879" src="https://substackcdn.com/image/fetch/$s_!kftX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ee04d9-e49a-4c50-b190-159dfaef8249_1508x910.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Now that we know we can time-multiplex 7 robots per GPU, the fundamental TCO question stands: &lt;/p&gt;&lt;h2&gt;Is it cheaper to offload compute to a B300 server, or to run inference on-device in a Jetson Thor?&lt;/h2&gt;&lt;p&gt;We build up two scenarios: the offload scenario assumes one Blackwell-class server which can serve 7 robots (i.e. one B300 NVL8 server serving 56 robots), and an on-robot scenario of the same 56 robots each carrying its own Jetson Thor. In both scenarios, common parts across both cases (i.e. mechanical components, robot shells) are not included in the BOM cost calculation.&lt;/p&gt;&lt;p&gt;We also discuss the biggest challenge with this deployment mechanism.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/where-does-a-robot-think-on-device"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-09T12:53:35+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam</id>
    <title>TPU Inference Externalization Full Steam Ahead - InferenceX</title>
    <updated>2026-09-07T12:00:18+00:00</updated>
    <author>
      <name>Alec Ibarra</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;For more than a decade, the industry has watched Google build an empire on its own silicon. Search, Ads, YouTube, and every generation of Gemini run on TPUs. Few accelerators have attracted as much architectural scrutiny or as much debate about what their performance and economics would look like outside the company that designed them. Anthropic being the biggest user of TPUs, surpassing Deepmind&amp;#8217;s own use by 2029.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jJRp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F679784de-e6df-4cb4-8bf6-3347cb9ed002_1200x588.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="A fisheye view of a data center wall with rows of server racks, complex cabling and overhead cable trays." class="sizing-normal" height="588" src="https://substackcdn.com/image/fetch/$s_!jJRp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F679784de-e6df-4cb4-8bf6-3347cb9ed002_1200x588.png" title="A fisheye view of a data center wall with rows of server racks, complex cabling and overhead cable trays." width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://blog.google/innovation-and-ai/infrastructure-and-cloud/google-cloud/ironwood-google-tpu-things-to-know/"&gt;Google&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google&amp;#8217;s internal success was never the question. The question was how much of that advantage the rest of the industry could actually get. Could you take an open-weight model, serve it through a familiar inference engine, and beat NVIDIA on the economics that matter to your business?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Today, we are publishing the first third-party inference results for TPUv7 Ironwood on &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Official Preview. In our apples-to-apples comparisons against B200/B300, Ironwood delivers up to 50% better performance per dollar. Its advantage extends across much of the Pareto curve, and we examine the economics from both sides: Google&amp;#8217;s internal total cost of ownership and the external TCO an actual customer pays. &lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Ironwood (TPUv7) is the first generation in which Google is competing for others&amp;#8217; inference workloads with chips that can be purchased outright or rented through its own cloud. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/tpuv7-google-takes-a-swing-at-the"&gt;&lt;span&gt;In November 2025, we already said that&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Anthropic loves TPUs and committed to over one million of them (around 400k+ in direct purchases and 600k+ rented through GCP), used mainly for training but also for inference. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Our Accelerator Model has the latest figures for Anthropic&amp;#8217;s TPU shipments and Google&amp;#8217;s overall TPU shipments by quarter, plus estimates for TPUv8i, v8t, and various v9 / v10, and more&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are excited by how quickly the new TorchTPU stack is developing, the external stack for TPUs. Later in the article, we will discuss the upcoming work needed for TPU software externalization, including optimizing speculative decoding, disaggregated prefill, KV-cache offloading, multi-turn agentic workloads, and more. Even so, we at SemiAnalysis &lt;/span&gt;&lt;strong&gt;&lt;span&gt;strongly believe that TPU externalization is heading in the right direction and moving full steam ahead. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Furthermore, unlike AMD, which is still learning how to build a test-first software culture, Google has decades of software engineering experience and an extremely well established quality-driven culture, so we expect external TPU software to mature rapidly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article, we will cover all the optimizations that went into TPU kernels and the serving stack for open-weight models, including DP attention optimization, MoE routing and kernel optimization, and reducing padding in GDN kernels. We will also take a deep dive into the TPU system and discuss the next steps the amazing TPU performance engineers are pursuing to make the stack widely available.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Google has spent more than a decade demonstrating what it can build with TPUs. Now we get to measure what the rest of the industry can do with them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Shoutout to the Google (Chris Chan, &lt;/span&gt;Jahangir Hasan, Wangyuan Zhang, Anne Stern, Puneith Kaul, Ruizi Dong, Sangam Jindal, Qi Zhou, Madhan Jaganathan, Gang Ji, Jun Wan, Devanshu Jain, Jiaxin Cao, Srinath Mandalapu, Haowen Ning)&lt;span&gt; and Inferact teams for this amazing TPU foundation and performance! Furthermore, shoutout to the RadixArk team that is also working on TorchTPU SGLang.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;InferenceX Official Preview: TPUv7 Ironwood vs. Blackwell and Blackwell Ultra&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We are already seeing strong results from the upcoming native TorchTPU vLLM stack in apples-to-apples comparisons against Nvidia GPUs. Google is using Qwen3.5 397B in FP8 as the initial bring-up model. &lt;/span&gt;Later sections take a deep dive into why the new TorchTPU approach is a marked improvement over the previous TorchAX path for external TPU vLLM/SGLang serving. &lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;Once that foundation is in place, Google plans to extend support to other open-weight models, including Kimi K3 and GLM5.3. Once a handful of models are well optimized, we believe adding optimized support for a wide range of popular open models near day 0 becomes far easier. Today, vLLM and SGLang concentrate their day-0 support on Nvidia, with passable day-0 coverage for AMD. We expect TorchTPU to be stable enough in the near future that vLLM and SGLang maintainers may add TPUs to that day-0 list. The stack is expected to leave private beta &amp;amp; be open sourced around October.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;In apples-to-apples comparisons of aggregated serving with FP8 and single-token prediction, we are seeing up to 50% better performance per dollar from TPU than from B200 and B300 running FP8 in aggregated serving. When serving models using FP4 on NVIDIA GPUs, there is quality loss verus FP8. TPUv7 does not have native FP4 computation thus on FP4, NVIDIA GPUs still maintains the lead. This will change with TPUv8i which has native FP4 support thus we strongly believe TPUv8i Boardfly will be competitive to Rubin NVL72.&lt;/p&gt;&lt;p&gt;We believe the &lt;span&gt;TPU performance-per-dollar advantage can persist once Google enables disaggregated serving and speculative decoding, with MTP and disaggregated serving enabled on both sides of the comparison. Later in the article, we discuss the optimizations Google plans to add once the TorchTPU foundation is in place. To keep the bring-up scope contained, Google has initially focused on benchmarking 8k1k. However, we believe that the TorchTPU stack will also perform amazingly well on agentic workloads &amp;amp; will be publishing results for those too later in the year. Later on in the article, we will talk about the next steps &amp;amp; roadmap of TPU external Inference.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;TPU is King on Performance per Dollar&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At an interactivity of 100 tokens/s/user, Ironwood costs approximately $0.181 per million total tokens, compared with $0.222 for B200 and $0.276 for B300. That is approximately 19% lower cost than B200 and 34% lower than B300, while delivering the same per-user generation speed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For this comparison, we use an external TPU TCO against B200/B300 TCO for an hyperscaler lab to buy TPU. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Last year, SemiAnalysis Accelerator Model was the first to break that Google is selling TPUs instead of just renting out through Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. TPU&amp;#8217;s lower hourly cost offsets its lower throughput across much of the interactivity range. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;The SemiAnalysis TCO Model provides a full breakdown of the TPU BoM estimate and TCO estimates.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!p96b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8047a697-0d6f-41fe-8c16-71998778ecb4_2048x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="873" src="https://substackcdn.com/image/fetch/$s_!p96b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8047a697-0d6f-41fe-8c16-71998778ecb4_2048x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OWyw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd306f42c-a30b-45c7-82c9-dbaff7e654b3_2048x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="873" src="https://substackcdn.com/image/fetch/$s_!OWyw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd306f42c-a30b-45c7-82c9-dbaff7e654b3_2048x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Across most of the raw-performance curve, TPU does not outperform Nvidia GPUs. However, that comparison does not account for TPU&amp;#8217;s lower TCO. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Buyers of TPU are mainly concerned with how much revenue they can make, i.e. performance per dollar and performance per watt.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That being said, at interactivity of 20 tok/s/user, Ironwood also leads on raw throughput, reaching 9,364 total tokens/s/chip, compared with 8,903 on B200 and 8,925 on B300. This is approximately 5% higher throughput than either GPU in these runs. Combined with the lower modeled hourly cost, Ironwood delivers 50.4% more tokens per dollar than B200 and 96.0% more than B300.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q6dF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69317046-6bae-4d80-9b8b-f9777076792d_2048x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="873" src="https://substackcdn.com/image/fetch/$s_!q6dF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69317046-6bae-4d80-9b8b-f9777076792d_2048x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If we consider TPU TCO for Google&amp;#8217;s internal workloads at $1.03/chip-hour, the performance-per-dollar advantage at concurrency 256 increases to 76.7% over B200 and 130.2% over B300. However, these high-concurrency results come with latency trade-offs. For example, at concurrency 256, TPU mean TTFT is 5.41 seconds, compared with 3.75 seconds on B200 and 2.40 seconds on B300. The previously discussed 50% to 96% advantage applies to this datapoint specifically, rather than every latency target.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xG7g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac73c91e-efa3-4f2a-a9ea-2f5eb15e4a27_2048x1222.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!xG7g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac73c91e-efa3-4f2a-a9ea-2f5eb15e4a27_2048x1222.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Looking at end-to-end latency, Ironwood remains competitive beyond that highest-throughput point. At a 20-second median response time, the Pareto curves put TPU at approximately $0.098 per million total tokens, compared with $0.106 for B200 and $0.132 for B300. TPU therefore costs approximately 8% less than B200 and 25% less than B300.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XMw9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01cfa04c-b0fe-456d-ba3c-367c434f373c_2048x1223.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!XMw9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01cfa04c-b0fe-456d-ba3c-367c434f373c_2048x1223.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!j22S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb160a968-2cdc-4ce8-8a74-cd5eb63e1141_2048x1223.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!j22S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb160a968-2cdc-4ce8-8a74-cd5eb63e1141_2048x1223.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Despite all of the above, B200 can still come out ahead on a small part of the Apples to Apples curve, including around the 30-second median response time. However, TPU regains its lower cost per million tokens at longer response times, while maintaining a cost advantage over B300 across the overlapping range shown here.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;Apples to Bananas: GB300 NVL72 Disagg verus TPUv7 Agg&lt;/h2&gt;&lt;p&gt;Google has been running disaggregated serving internally for years in production and that path is heavily optimized, but the external TPU serving stack does not have a fully optimized disagg path yet. So today, GB200/300 NVL72 is more competitive on perf per dollar in a disagg-vs-disagg comparison. But we expect that gap to close within a few months &amp;amp; TPUv7 to be competitive againist GB200/300 NVL72 as Google, Inferact, RadixArk, and SemiAnalysis land optimizations, and we will publish TPUv7 disagg vs GB200/300 NVL72 disagg in a follow-up article. TPUv7 pods can scale up to over 1k+ chips through their low latency ICI fabric thus can enable optimizations for large models disagg &amp;amp; ultra wideEP that NVIDIA NVL72 can&amp;#8217;t perform.&lt;/p&gt;&lt;p&gt;Even on an apples to bananas comparison between TPUv7 aggregated serving verus GB300 NVL72 disagg, using internal TCO,  TPUv7 is decently competitive on high latency &amp;amp; low to left medium latency. But when comparing on the right medium e2e latency, GB300 NVL72 disagg has an single advantage against TPuv7 aggregrated serving.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!P-lB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1883d94c-1996-47de-942b-c8eef7cf3eb1_1576x808.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="746" src="https://substackcdn.com/image/fetch/$s_!P-lB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1883d94c-1996-47de-942b-c8eef7cf3eb1_1576x808.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;When looking at it GB300 NVL72 disagg verus TPUv7 agg, it is competitive at low and high e2e latency but in the middle, there is about an 30% perf per dollar advantage of GB300 against TPUv7 agg. We strongly believe once disaggregated serving on TPUv7 is optimized, it would be competitive across the full pareto against GB300 NVL72. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XKic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2210f76-7a91-405e-a3ba-a1692b080618_1550x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="791" src="https://substackcdn.com/image/fetch/$s_!XKic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2210f76-7a91-405e-a3ba-a1692b080618_1550x842.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Inference Serving with the New Native, First-Class TorchTPU Backend vs. the Previous TorchAX Stack&lt;/h1&gt;&lt;h2&gt;Previous TorchAX vLLM Backend&lt;/h2&gt;&lt;p&gt;Google previously used the TorchAX backend to translate the PyTorch-based implementations in vLLM and SGLang into JAX. TorchAX was intended to let developers run PyTorch model definitions through JAX. However, issues with this approach have prompted Google and the PyTorch, vLLM, and SGLang communities to collaborate on a new approach called TorchTPU. It lets developers use TPUs as native PyTorch devices, while StableHLO, XLA, and TPU-optimized Pallas kernels handle the low-level execution behind the scenes. In the upcoming sections of the article, we will be showing the performance of this new TorchTPU backend compared to NVIDIA Blackwell &amp;amp; Blackwell Ultra GPUs.&lt;/p&gt;&lt;p&gt;vLLM TPU support has evolved through three different stages:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Its first TPU prototype used &lt;a href="https://docs.pytorch.org/xla/master/learn/xla-overview.html"&gt;PyTorch/XLA&lt;/a&gt;. Its lazy execution model collected operations into computation graphs for XLA to compile, rather than executing each PyTorch operation immediately.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The current public backend, &lt;a href="https://vllm.ai/blog/2025-10-16-vllm-tpu"&gt;tpu-inference&lt;/a&gt;, uses a TPU-optimized JAX implementation when one is available. Otherwise, TorchAX translates the original PyTorch model into operations that JAX can execute. The goal is to reuse mature TPU primitives and parallelism support without requiring every PyTorch model to be rewritten.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The upcoming third design, TorchTPU, lets vLLM treat TPUs as native PyTorch devices. It will be the go-to backend for SGLang and vLLM on TPUs going forward.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The diagram below zooms in on the second stage and shows how vLLM&amp;#8217;s tpu-inference backend combines direct JAX models and PyTorch models running through TorchAX.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KFHW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F678ca15d-f0c0-4c36-a63f-b1108939cbb1_2048x1620.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1152" src="https://substackcdn.com/image/fetch/$s_!KFHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F678ca15d-f0c0-4c36-a63f-b1108939cbb1_2048x1620.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis/vLLM&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The original choice of JAX was pragmatic. In the last &lt;a href="https://vllm.ai/blog/2025-10-16-vllm-tpu"&gt;announcement&lt;/a&gt;, Google described difficulties with low-level optimization, paged attention, and fitting vLLM&amp;#8217;s worker model to TPU execution. They thought that JAX would offer more mature TPU primitives and parallelism support. TorchAX let the team use those capabilities without rewriting every PyTorch model, while TPU-oriented JAX implementations could share the same kernel and compiler work.&lt;/p&gt;&lt;p&gt;With TorchAX, developers still write the model in PyTorch, but JAX executes it on the TPU. TorchAX acts as the translation layer between the two frameworks. As the&lt;a href="https://google.github.io/torchax/user_guide/how-it-works/"&gt; TorchAX documentation&lt;/a&gt; explains, a torchax.tensor.Tensor behaves like an ordinary PyTorch tensor but is backed by a jax.Array. When the model invokes a tensor operation, known in PyTorch as an ATen operation, TorchAX intercepts it through the __torch_dispatch__ hook and translates it into one or more JAX operations. The model can therefore remain written in PyTorch even though JAX performs the computation.&lt;/p&gt;&lt;p&gt;vLLM must also manage state that changes during generation, especially the KV cache, which stores attention information from earlier tokens for reuse. Its &lt;a href="https://github.com/vllm-project/tpu-inference/blob/a32e183a676cf428cb1cea953f58fdd616accb3e/tpu_inference/models/vllm/vllm_model_wrapper.py#L171-L348"&gt;model wrapper&lt;/a&gt; presents the model weights and KV cache to JAX as an explicit state. This process, known as functionalization, turns changes that would otherwise happen inside Python objects into inputs and outputs that the compiler can track. jax.jit can then capture each inference step as a computation graph and pass it through JAX&amp;#8217;s compilation pipeline for repeated execution.&lt;/p&gt;&lt;p&gt;From there, each component has a distinct role. Pallas supplies optimized TPU kernels for performance-critical operations. StableHLO represents the program in a standardized format that the compiler can process, and XLA converts it into executable code for the TPU. In vLLM&amp;#8217;s standard PyTorch path, torch.compile coordinates graph capture and compilation. In the TorchAX path, the JAX/XLA pipeline already performs those tasks, so vLLM bypasses its usual torch.compile route. These translation layers have caused many issues that the TorchTPU vLLM stack aims to solve.&lt;/p&gt;&lt;h3&gt;Previous SGLang JAX Backend&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!l0sG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ea9afd-01ea-4df3-b632-3524e2507d04_2048x1742.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1238" src="https://substackcdn.com/image/fetch/$s_!l0sG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ea9afd-01ea-4df3-b632-3524e2507d04_2048x1742.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis/SGLang&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;SGLang&amp;#8217;s current public TPU stack uses &lt;a href="https://github.com/sgl-project/sglang-jax"&gt;SGLang-JAX&lt;/a&gt;. SGLang-JAX makes a similar trade-off to vLLM&amp;#8217;s TorchAX backend but takes a different approach. It is a separate JAX-native serving engine rather than the PyTorch SGLang runtime translated through TorchAX. It combines SGLang-style scheduling and prefix caching with JAX models and TPU-specific kernels. Google and RadixArk have announced SGL-torchtpu as an additional PyTorch-native backend to extend the available serving paths.&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary button-wrapper" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Shifting Toward the New Native, First-Class TorchTPU Backend&lt;/h2&gt;&lt;p&gt;&lt;a href="https://developers.googleblog.com/torchtpu-running-pytorch-natively-on-tpus-at-google-scale/"&gt;TorchTPU&lt;/a&gt; moves the framework boundary into PyTorch itself. It uses PyTorch&amp;#8217;s&lt;a href="https://docs.pytorch.org/tutorials/advanced/privateuseone.html"&gt; PrivateUse1 backend extension point&lt;/a&gt; to expose an ordinary torch.Tensor on device=&amp;#8221;tpu&amp;#8221; rather than a wrapper backed by a JAX array. The PyTorch dispatcher routes ATen operations to the TPU backend. Developers can run code eagerly for bring-up and debugging, or call torch.compile for graph capture. In the compiled path, TorchDynamo and AOTAutograd produce an FX graph, TorchTPU lowers it to StableHLO, and XLA produces the TPU executable. Google&amp;#8217;s&lt;a href="https://hosted-files.sched.co/pytorchconferenceeu2026/cb/TorchTPU%20-%20PyTorch%20Paris%20%2726%20-%20Google%20Slides.pdf"&gt; conference deck&lt;/a&gt; makes the compiler choice explicit that this path uses XLA, not Inductor and Triton.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!H5Pp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc09d8e99-682d-43dd-9292-3cf29295f79e_1074x1148.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1148" src="https://substackcdn.com/image/fetch/$s_!H5Pp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc09d8e99-682d-43dd-9292-3cf29295f79e_1074x1148.png" title="" width="1074" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis/PyTorch/Google&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&amp;#8220;Native&amp;#8221; therefore has a specific scope. It covers PyTorch tensors, dispatch, eager execution, compilation entrypoints, and distributed APIs. XLA remains the compiler, and the kernel layer continues to use TPU-specific implementations. TorchTPU can call Pallas and JAX-backed custom kernels. &lt;a href="https://pytorch.org/blog/helion-on-tpu-towards-hardware-heterogeneous-kernel-authoring/"&gt;Helion&amp;#8217;s TPU backend&lt;/a&gt; also emits Pallas. The user-facing framework becomes PyTorch-native, while the compiler and performance-critical kernels remain TPU-aware.&lt;/p&gt;&lt;p&gt;Developers can use .to(&amp;#8221;tpu&amp;#8221;) while retaining familiar distributed interfaces and serving-engine code. Google documents support for DDP, FSDP2, DTensor, one process per device, and both MPMD and SPMD execution. Those interfaces fit the process and distributed model already assumed by PyTorch serving engines.&lt;/p&gt;&lt;p&gt;For vLLM and SGLang, the opportunity is to reuse more upstream model code, schedulers, continuous batching, APIs, and feature logic instead of rebuilding them across a PyTorch-to-JAX boundary. That should reduce the cost of bringing up models and engine features, even when the final TPU implementation still needs specialized kernels.&lt;/p&gt;&lt;p&gt;Native PyTorch support does not eliminate the need for TPU-specific optimization. Pallas and TorchAX serve different purposes, TorchAX allows PyTorch model code to execute through JAX, while Pallas is used to implement performance critical operations directly for TPU hardware. Removing TorchAX doesn&amp;#8217;t mean removing the Pallas kernels underneath it. Since TorchTPU allows native Pytorch code to invoke Pallas and JAX kernels, kernels developed for earlier stack are able to migrate into the new stack.&lt;/p&gt;&lt;p&gt;Similar to GPU PyTorch vLLM, Custom kernels will still be needed for high performance inferencing. Tensor shapes and layouts still need to be tuned to use TPU&amp;#8217;s matrix multiplication units efficiently. We believe that most of the existing Pallas kernels are easily transferable to the new native TorchTPU serving stack but that does not mean that every existing kernel will transfer unchanged. Many things like wrappers, tensor layouts, and runtime integration etc may still need to be slightly adapted and validated.&lt;/p&gt;&lt;h2&gt;Strong Ecosystem Collaboration with Google&amp;#8217;s TPU Team&lt;/h2&gt;&lt;p&gt;vLLM and SGLang are the two major open-source production inference serving stacks. Inferact, RadixArk, and Red Hat are investing heavily in collaboration with Google to make the TorchTPU backend a first-class experience in both stacks. This community support is extremely important for externalizing TPU inference.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uGCV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d86a8b7-cc12-4730-9b6a-a77258ad60c5_1860x720.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!uGCV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d86a8b7-cc12-4730-9b6a-a77258ad60c5_1860x720.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Inferact&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As of early September, TorchTPU remains in private beta and will be open-sourced around mid-October during the PyTorch Conference. We are excited to see it move TPUs toward a first-class experience in PyTorch, vLLM, and SGLang. Once TorchTPU vLLM and TorchTPU SGLang are open-sourced, we will move TPU benchmarking for InferenceX/AgentX from our fork to our public repo.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KDky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304bd1c-ed83-4091-a71b-00ec572542a4_1200x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!KDky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304bd1c-ed83-4091-a71b-00ec572542a4_1200x675.png" title="" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: RadixArk&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;TPU Inference Optimizations Deep Dive&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The sprint to optimize TPU inference for the native TorchTPU serving stack&amp;#8217;s first bring-up model involved hundreds of engineering hours and numerous PRs. As described later in the article, TPU architecture differs from GPU architecture and therefore requires its own set of optimizations to run models efficiently. Below, we describe the optimizations that improved (or in some cases, enabled) performance for Qwen3.5-397B and other models on Ironwood. Most of the Pallas kernel optimizations are transferable to the new native TorchTPU stack.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;DP Attention Optimization&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;One issue that is not necessarily specific to TPU is how to effectively map parallelism from model architecture to hardware. For instance, Qwen3.5&amp;#8217;s GQA attention layer has 32 query heads but only 2 shared KV heads. With TP8 (eight logical devices), query computation can be evenly distributed across the 8 devices, with 4 query heads per device. The KV heads, however, do not divide evenly across those devices. Each KV head is shared by 16 query heads, meaning four devices need the same KV data to compute their local attention. When TP exceeds the KV-head count, standard practice is to replicate KV heads across TP ranks. vLLM already supports this. The TPU backend needed a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2661"&gt;&lt;span&gt;compatibility fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to activate that existing behavior and avoid unnecessary All-to-All communication.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For higher-concurrency serving, the TPU backend also added support for combining &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2187"&gt;&lt;span&gt;eight-way attention data parallelism (DP8)&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with eight-way expert parallelism (EP8), simply referred to as &amp;#8220;DP attention&amp;#8221; or DEP8. Instead of splitting every request&amp;#8217;s attention across all eight devices, each device processes a different subset of requests and keeps both KV heads for those requests locally. The attention weights are replicated, but the KV caches hold different request histories rather than repeated copies of the same history. Meanwhile, the 512 routed experts remain distributed across the devices, avoiding replication of the much larger expert weight pool. Making this work required &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2577"&gt;&lt;span&gt;coordinating request assignment, recurrent-state slots, and block tables&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in the serving engine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VcG6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f13662-fc12-400e-889e-9958d0ad45f7_2048x770.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!VcG6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f13662-fc12-400e-889e-9958d0ad45f7_2048x770.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Optimizing Communications&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With DP attention and EP, the TPU GroupedGEMM implementation all-gathers token activations and routing metadata before the experts run, then uses reduce-scatter to sum their weighted outputs and return each token&amp;#8217;s result to its attention rank. The backend originally gathered the selected expert IDs and routing weights separately. Google &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2174"&gt;&lt;span&gt;combined these into one all-gather&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, removing an extra collective whose latency can dominate the transfer time for such small arrays. The PR reports &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2174"&gt;&lt;span&gt;roughly 80 microseconds per layer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; saved in its DeepSeek-V3 measurements. While 80 &amp;#181;s may sound small, DeepSeek-V3/R1 has 58 layers that require this AllGather. Across those layers, the savings add up to around 4.64 ms per forward pass in isolation (80 &amp;#181;s &amp;#215; 58), reducing TPOT and increasing interactivity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rnG7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59c3d46f-7b88-4e65-8715-f160b83c3d6e_2048x771.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!rnG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59c3d46f-7b88-4e65-8715-f160b83c3d6e_2048x771.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google also &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2888"&gt;&lt;span&gt;implemented the ReduceScatter collective on SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (which is better suited for irregular operations like data movement) and used Ironwood&amp;#8217;s faster die-to-die links to combine contributions within each chip before exchanging partial sums across chips. This two-device-per-chip layout and the chip-to-chip ICI network are covered in the next section. Double buffering lets the kernel transfer one chunk while accumulating another, overlapping local reductions and die-to-die transfers with the slower chip-to-chip traffic. Running the collective on SparseCore also frees TensorCore execution for other operations.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FDFh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c82923a-c144-4447-8b73-f622ba7df27e_2048x1357.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="965" src="https://substackcdn.com/image/fetch/$s_!FDFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c82923a-c144-4447-8b73-f622ba7df27e_2048x1357.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QwIQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c2975f-0974-414f-8af6-300bc8613121_2048x1202.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="855" src="https://substackcdn.com/image/fetch/$s_!QwIQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c2975f-0974-414f-8af6-300bc8613121_2048x1202.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/vllm-project/tpu-inference/blob/main/tpu_inference/kernels/collectives/hierrs_sc/kernel.py#L109"&gt;Google&lt;/a&gt; and SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the diagram above, communication stages overlap, shortening end-to-end execution time. For instance, consider the point labeled t_1. At this time, the intra-chip DMA ScatterReduce (P1) has completed for MB (microbatch) 1. ScatterReduce across ICI dim 0 (P2.0) can now occur for MB0 &lt;/span&gt;&lt;em&gt;&lt;span&gt;concurrently with &lt;/span&gt;&lt;/em&gt;&lt;span&gt;P1 for the subsequent MB.&lt;/span&gt;&lt;em&gt;&lt;span&gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;Against a baseline, this optimization results in &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2888"&gt;&lt;span&gt;4.1 to 14.2% higher throughput on 8k1k&lt;/span&gt;&lt;/a&gt;&lt;span&gt; across concurrency 64 to 512, including 8.5% at concurrency 256, and 26.1% on 1k8k at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The movement of this collective from TensorCore to SparseCore also means that additional work can be pipelined on the TensorCore while the collective runs. However, not every collective is always worth moving. In some cases, offloading a collective to SparseCores actually &lt;/span&gt;&lt;em&gt;&lt;span&gt;worsens &lt;/span&gt;&lt;/em&gt;&lt;span&gt;performance. For example, for Qwen3.5 a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2777"&gt;&lt;span&gt;threshold now decides when all-reduce and all-gather operations are offloaded to the SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;keeping small collectives on the TensorCore when they fit in VMEM and SparseCore offload overhead would make them slower&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The default threshold is derived from VMEM capacity. The PR reports 8k1k throughput gains of 2.7% at concurrency 64 and 5.7% at concurrency 128.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Optimizing MoE Routing and Expert Kernels&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A mixture-of-experts layer produces irregular groups of tokens for each expert, and these ragged groups have to be reshaped into something the TPU&amp;#8217;s matrix units can consume efficiently. Some of the changes below are general improvements to the routing and grouped-matmul backend that benefit any MoE model. Others were measured directly on Qwen3.5.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/1688"&gt;&lt;span&gt;second version of the grouped matmul&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reworks how expert inputs are fed to the MXU. It removes redundant tile computation, sizes transfers to the number of valid rows rather than the padded maximum, triple-buffers expert weights so the next group&amp;#8217;s weights are already in flight while the current group is computed, and fuses group metadata generation into the kernel.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The irregular rearrangement of expert inputs was then &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2137"&gt;&lt;span&gt;moved onto the SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The SparseCore handles data movement, gathering each expert&amp;#8217;s tokens into contiguous groups, while the TensorCore is left to run the expert matrix multiplications. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2836"&gt;&lt;span&gt;subsequent rewrite&lt;/span&gt;&lt;/a&gt;&lt;span&gt; improved memory-read pipelining and split the combine work across tokens and hidden dimensions. The PR reports a 12% increase in 8k1k serving throughput compared with the original SparseCore kernels, along with lower TTFT and TPOT.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!I7Pl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47d1e6a-dad4-48bc-8239-9194bea17544_2048x838.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="596" src="https://substackcdn.com/image/fetch/$s_!I7Pl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47d1e6a-dad4-48bc-8239-9194bea17544_2048x838.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A further optimization &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2634"&gt;&lt;span&gt;moved the top-k weight gather in the ragged gather-reduce path onto the SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Here, gather means reading selected entries from memory on one device, not an inter-device all-gather. Previously, the TensorCore gathered routing weights and source indices during preprocessing, limiting TensorCore/SparseCore overlap. Moving these gathers into the SparseCore kernel reduces TensorCore overhead from 29 &amp;#181;s to 14 &amp;#181;s and overall operation latency from 146 &amp;#181;s to 137 &amp;#181;s in a DeepSeek-V3 microbenchmark at batch 2k with 16-way expert parallelism.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For small batches, the general ragged path costs more than the work it is arranging. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2674"&gt;&lt;span&gt;dedicated small-batch permutation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; therefore builds one-hot matrices and uses ordinary matrix multiplication to permute tokens to their experts and unpermute the results. On the 8k1k workload, this improved throughput by 7.3% at concurrency 64 and 5.1% at concurrency 128.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A WIP change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3488"&gt;&lt;span&gt;packs the expert ID and token index into a single sort key&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so XLA performs a simpler sort while preserving the required ordering. Sort latency drops from 106.6 &amp;#181;s to 21.7 &amp;#181;s. The PR reports 8k1k serving gains of 0.6 to 8.5%, but the same change also enables an FP8 all-gather.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Optimizing Gated DeltaNet Pallas Kernels&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Gated DeltaNet (GDN) is a recurrent computation. That is, at each step the running state is decayed, updated with a rank-one term, and projected to produce an output. Check out the following article for a deeper dive into linear attention mechanisms such as GDN:&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The changes below show how its matrix operations, vector updates, and state transfers are scheduled across the MXU, VPU, VMEM, and HBM. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2004"&gt;&lt;span&gt;Initial Qwen3.5 support&lt;/span&gt;&lt;/a&gt;&lt;span&gt; added pure JAX implementations of causal Conv1D and GDN, connected them to TPU operator dispatch, and enabled recurrent-state caching. Later PRs optimized these implementations.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BogK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff82904-c377-4bbd-97a7-ad6eb54932ec_1875x925.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="718" src="https://substackcdn.com/image/fetch/$s_!BogK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff82904-c377-4bbd-97a7-ad6eb54932ec_1875x925.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/vllm-project/tpu-inference/pull/2004/changes#diff-b7403a18fb4b64c48819d1a527c8488cb85da4134f7f072665e8c3df0c39dfb1R14"&gt;GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Another low-hanging fruit optimization is achieved by &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2498"&gt;&lt;span&gt;rearranging the algebra in the output projection calculation to overlap MXU and VPU work&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Previously, the VPU first applied the rank-one update to the decayed state, and the MXU then multiplied the updated state by the query to produce the output. That dependency forced the MXU to wait.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Writing the decayed state as S, the correction vector as &amp;#916;, and the key and query as k and q, the output can be expanded:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!VkIy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c3573d3-b885-4a29-abc4-998df6ab3399_2048x263.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="93.5" src="https://substackcdn.com/image/fetch/$s_!VkIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c3573d3-b885-4a29-abc4-998df6ab3399_2048x263.png" width="728" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The MXU can now compute Sq directly from the decayed state while the VPU constructs the updated state for the next token. The current update&amp;#8217;s contribution to the output is calculated separately using k&amp;#7488;q, a scalar dot product per head, followed by a small scaled-vector addition. This removes the state update from the MXU&amp;#8217;s dependency path. Reported 8k1k throughput gains were 2.79% at concurrency 64 and 4.48% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The next change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2741"&gt;&lt;span&gt;reduces vector-register spills&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by slicing Q and K inside the decode loop so fewer values stay live at once. The decode-64 kernel becomes roughly 20% faster, but end-to-end gains are smaller, at 0.8% on 8k1k and 3.8% on 1k8k at concurrency 512, since the kernel is only one part of a decode step.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2650"&gt;&lt;span&gt;Asynchronous state transfers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; overlap DMA with computation using double buffering. The extra VMEM consumed by the second set of buffers initially regressed data-parallel attention. Reusing existing scratch buffers and shortening the lifetimes of temporaries recovered that capacity and removed the regression. The reported 8k1k throughput gain is 11.3% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3016"&gt;&lt;span&gt;GDN v3&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fuses Conv1D and GDN into a single kernel to cut HBM round trips, improves prefill layouts, and unifies mixed prefill/decode execution into one path. Reported kernel-level speedups are 1.41&amp;#215; for decode, 1.60&amp;#215; for prefill, and 2.14&amp;#215; for mixed batches. These measurements cover the kernel alone and do not establish end-to-end serving gains.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5fok!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dad690-9354-48a2-846f-1f7107907e3d_2048x672.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="478" src="https://substackcdn.com/image/fetch/$s_!5fok!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dad690-9354-48a2-846f-1f7107907e3d_2048x672.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Significant performance gains can be achieved simply by improving the overlap between operations within a kernel!&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Managing Hybrid State and Paged Attention&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Qwen3.5 is a hybrid model with two kinds of state: GQA layers accumulate a KV history that grows with every token, while GDN layers hold a fixed-size recurrent state per request. State allocation, storage precision, attention page size, and physical data layout all determine how much HBM is actually usable and how efficiently attention runs.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/1961"&gt;&lt;span&gt;Batched ragged paged attention&lt;/span&gt;&lt;/a&gt;&lt;span&gt; batches sequences together, precomputes page metadata, and triple-buffers to improve pipelining and reduce padding. This change provides shared attention-backend groundwork. The PR&amp;#8217;s workload examples use Qwen3-32B, so its measurements should be kept separate from the Qwen3.5-397B results.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Recurrent state is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2416"&gt;&lt;span&gt;allocated compactly&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, with roughly one slot per active request instead of &lt;/span&gt;&lt;code&gt;num_blocks&lt;/code&gt;&lt;span&gt; slots for every layer group. In the reported configuration, this reclaims about 76 GiB of HBM and expands the attention block pool by 71%, improving 1k8k output throughput by 18% at concurrency 64.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2482"&gt;&lt;span&gt;Storing the recurrent state in BF16&lt;/span&gt;&lt;/a&gt;&lt;span&gt; halves its HBM footprint while keeping the arithmetic in FP32 inside VMEM. This saves memory capacity and transfer bandwidth while preserving FP32 arithmetic. The reported 1k8k throughput gain is 15% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Removing the &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2627"&gt;&lt;span&gt;old hybrid page-size alignment constraint&lt;/span&gt;&lt;/a&gt;&lt;span&gt; lets batched attention use a suitable power-of-two page size, including 256 tokens. 1k8k throughput improves by about 7% at concurrency 512. This applies to the non-prefix-caching path and is distinct from the aligned checkpoint mode introduced later.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nHOE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab7479c2-7b29-4ede-9796-9e8126a92b40_2048x756.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="537" src="https://substackcdn.com/image/fetch/$s_!nHOE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab7479c2-7b29-4ede-9796-9e8126a92b40_2048x756.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unnecessary KV-layout copies are &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2653"&gt;&lt;span&gt;avoided by selecting the reshape path based on KV-head count&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, rather than imposing a layout constraint that only other shapes need. Qwen3.5 8k1k throughput improves by about 4.1% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Reducing Padding and Low-Concurrency Overhead&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;When only four or eight requests are in flight, a configuration tuned for hundreds of concurrent requests wastes work. Compiled shape buckets are too large, metadata is sized for the configured maximum, and padding tokens trigger dummy expert work. The InferenceX operating points sit at exactly these low concurrencies, which motivated the following changes.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Request metadata is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2513"&gt;&lt;span&gt;bucketed by the number of active requests&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of always using the configured maximum. In the 8k1k concurrency-64 test, GDN scheduling overhead falls from 283 &amp;#181;s to 97 &amp;#181;s and throughput rises from 2,328 to 2,516 tokens/chip/s.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eA0c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b683ee-7e31-401a-8a8a-31c53e253aa2_2048x819.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="582" src="https://substackcdn.com/image/fetch/$s_!eA0c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b683ee-7e31-401a-8a8a-31c53e253aa2_2048x819.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3080"&gt;&lt;span&gt;Explicit Qwen3.5 tuning for InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; shrinks rotary tables, sizes sequence limits per DP rank, and adds a dedicated attention bucket for concurrency four. The combined gains at concurrency four are 13.3% on 8k1k and 15.5% on 1k1k.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3116"&gt;&lt;span&gt;further round of low-concurrency tuning&lt;/span&gt;&lt;/a&gt;&lt;span&gt; switches to TP8 attention plus expert parallelism, reduces the minimum token bucket, and routes padding tokens to expert zero so they do not trigger additional expert weight loads. Combined 1k1k gains are 22.9% at concurrency four and 18.1% at eight. On 8k1k, throughput rises by 9.2% at concurrency four but falls by 5.3% at concurrency eight.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Enabling Prefix Caching for Hybrid Models&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The gains above were measured on random-input benchmarks, where nothing is shared between requests. Prefix caching is crucial for agentic and multi-turn workloads, which reuse long system prompts and conversation histories. For a hybrid model, a cached prefix must retain both its KV blocks and the GDN recurrent state at the end of the prefix. That recurrent state is normally overwritten as soon as the request continues, making prefix caching harder than for &amp;#8220;regular&amp;#8221; attention models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3422"&gt;&lt;span&gt;Hybrid prefix caching with DP support&lt;/span&gt;&lt;/a&gt;&lt;span&gt; resolves this by giving GDN separate slots for reading a checkpoint and writing the live state. Continuing a request therefore no longer overwrites the checkpoint associated with its cached prefix. State addresses are derived from the block table, the same structure that already locates KV blocks. Checkpoints are taken at an aligned cache granularity so a saved state always lines up with a KV block boundary. This mode needs a full checkpoint pool rather than the compact per-request allocation described earlier, trading some HBM for reuse across requests. The benefit shows up when prefixes are actually shared.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fz3K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cd68d1-b16d-442d-87e4-ca98067ae979_2048x856.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="609" src="https://substackcdn.com/image/fetch/$s_!fz3K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cd68d1-b16d-442d-87e4-ca98067ae979_2048x856.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Lane Layout and Pipelining Depth in Paged Attention&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Two hardware facts shape how a KV cache is laid out on TPU. We discuss TPU hardware in more detail in the following section. First, the vector unit works on tiles whose last dimension is 128 lanes wide, so any array whose trailing dimension is smaller than that is padded up. Second, a Pallas kernel hides HBM latency through double-buffering. It fetches the next block while computing the current one. Both blocks must fit in VMEM, so the size of the compute block determines how deep the prefetch can be. Both constraints were costing capacity and throughput.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the batched attention kernel, the KV cache packed keys and values along the head dimension, and for FP8 that packing factor is four. A model with a single KV head per device only has two things to pack, so half of every tile was wasted on padding. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3170"&gt;&lt;span&gt;sequence-on-lane layout&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixes this by putting the page&amp;#8217;s tokens on the 128-lane axis and the head dimension on the sublane axis instead. Usable KV pages double (from 5,141 to 10,283 in the reported configuration) and the head dimension only needs to be a multiple of 32 rather than 128, which allows models with a head dim of 64 to use the kernel as well. The layout costs about 3% in per-token latency at low concurrency, but at concurrency 128 on 8k1k the extra capacity lifts throughput 16.5% and cuts median TTFT by 95%, because requests no longer wait for KV space.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6KRh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F725b7e9e-8c46-4d02-880e-5a7de8886e87_2048x915.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="651" src="https://substackcdn.com/image/fetch/$s_!6KRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F725b7e9e-8c46-4d02-880e-5a7de8886e87_2048x915.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The RPA v3 block-size heuristic had a similar blind spot. During v7x decode, it set the KV compute block equal to the KV fetch block, around 16k tokens, which left almost no VMEM for the prefetch buffer. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3102"&gt;&lt;span&gt;Splitting the two&lt;/span&gt;&lt;/a&gt;&lt;span&gt; block sizes kept the KV fetch block at 16k tokens while reducing the compute block to 4k. This gave the pipeline room to run ahead of the MXU and increased decode throughput from 64.9k to 96.3k tokens per second, a 49% gain reproduced across four runs on Qwen3-0.6B. Throughput followed a clean inverted-U curve across the block-size sweep. The tuned-parameter table could not represent the improvement because it stored a single block size per shape, which is why the change first landed as an environment override. A follow-up extends the table to hold the fetch and compute sizes separately.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CgA8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c0863c-a506-404a-8522-70bcadb3a89a_2048x756.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="537" src="https://substackcdn.com/image/fetch/$s_!CgA8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c0863c-a506-404a-8522-70bcadb3a89a_2048x756.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;TPU System-Level Co-Design &amp;amp; Networking Explainer&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/tpuv7-google-takes-a-swing-at-the"&gt;&lt;span&gt;As we said in the TPU King article, Google&amp;#8217;s cost-per-token advantage on inference is a result of co-design&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Instead of focusing on maximum single-chip performance, Google designs the compute die, chip-to-chip fabric, and compiler together, allowing it to optimize computation and communication as a single system. That joint optimization helps explain Ironwood&amp;#8217;s performance per dollar. The following sections examine how the chip and network work together. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Anthropic is a big fan of TPUs and uses them heavily for training.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;The Ironwood Chip&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;TPUv7 Ironwood breaks from the &amp;#8220;MegaCore&amp;#8221; convention that defined TPU v4 and TPU v5p, where two physical cores were fused into a single logical accelerator sharing one memory space. Ironwood instead has two separate compute dies, each running its own independent logical device. These dies are joined by a high-bandwidth die-to-die link rather than a unified memory fabric. JAX and other frameworks now expose them as two distinct devices per chip. Each Ironwood chip carries 2 TensorCores and 4 third-generation SparseCores. The SparseCores accelerate embedding lookups and other sparse operations that would otherwise choke a dense matrix engine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bVa5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2690029e-8ec9-4b9e-b517-ec6d2950e8a2_1999x1130.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="823" src="https://substackcdn.com/image/fetch/$s_!bVa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2690029e-8ec9-4b9e-b517-ec6d2950e8a2_1999x1130.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://cloud.google.com/blog/products/compute/inside-the-ironwood-tpu-codesigned-ai-stack"&gt;Google&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the memory side, each chip has about 6x Trillium&amp;#8217;s HBM capacity, a jump that matters directly for KV-cache headroom and batch size. Ironwood is notably the first TPU generation with native FP8 hardware support, whereas prior generations had to emulate FP8 in software.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SQDr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e6e4785-cd71-4160-90b8-40bf02e1483e_1456x542.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="542" src="https://substackcdn.com/image/fetch/$s_!SQDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e6e4785-cd71-4160-90b8-40bf02e1483e_1456x542.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Read more on Ironwood in our TPUv7 article &lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;The MXU and Why Shapes Matter&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The Matrix Multiply Unit, the engine that actually does the multiplying, is a systolic array: a two-dimensional grid of multiply-accumulate cells. Weights are loaded into the array and held stationary. Activations stream in from the edge, and partial sums ripple through the grid cell by cell, accumulating as they go. The finished result streams out the other side without ever touching memory mid-computation. Every TPU generation through v5 used a 128x128 MXU, good for 16,384 MACs per cycle. Starting with TPU v6e and carrying through to Ironwood, the array doubled to 256x256, or 65,536 MACs per cycle, delivering 4x more FLOPs per cycle than the previous design.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Please read the &lt;/span&gt;&lt;a href="https://jax-ml.github.io/scaling-book/tpus/"&gt;&lt;span&gt;scaling book&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (aka the ML systems bible) for excellent top-tier information on TPUs and scaling in general.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The catch is that a bigger systolic array is only free if you can keep it full. Matrix dimensions need to be padded up to at least the MXU&amp;#8217;s side length in both directions, 128 on older generations or 256 on v6e and v7, and the XLA compiler dutifully pads any smaller axis to fill the tile. Every padded cell still occupies a MAC unit for that cycle, multiplying by a zero that contributes nothing to the answer. Llama 3 8B illustrates this with an attention head dimension of 128. On Ironwood&amp;#8217;s 256x256 MXU, that head dimension is exactly half the array&amp;#8217;s native width, which caps the two attention matmuls at a maximum of 50% MXU utilization (not 75%, because only the head dimension is 128).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The implication runs deeper than one model&amp;#8217;s attention layer. Architectural choices that used to be arbitrary hyperparameters (such as head dimensions, the KV head count that survives after tensor-parallel sharding, and MoE expert widths) increasingly need to be made with TPU tile geometry in mind, because a shape mismatch there is a direct tax on delivered throughput regardless of how good the rest of the stack is. Kernel authors also need to account for this explicitly. Production attention kernels like &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2604.15464v1"&gt;&lt;span&gt;ragged paged attention&lt;/span&gt;&lt;/a&gt;&lt;span&gt; use explicit packing dimensions to reduce padding when XLA&amp;#8217;s default tiling produces an inefficient layout.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;TPUs Are Picky&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;GPU matrix cores consume small tiles, so a wide range of head dimensions, expert widths, and post-sharding KV head counts all land near peak. A dimension of 64 instead of 128 pays close to nothing on an H100 or a B200 and gets a cheaper attention layer for it. GPU architecture allowed researchers to prioritize evaluations performance without a loss in inference performance. But for TPUs, this hyperparameter becomes a tradeoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As previously mentioned, these choices are not free on a 256-wide systolic array. By the same arithmetic that caps Llama 3 8B&amp;#8217;s attention matmuls at 50%, a head dimension of 64 caps them at 25% before a single line of kernel code is written. gpt-oss ships at 64. DeepSeek&amp;#8217;s MLA splits its query/key dimension into 128 plus 64 for a total of 192, ungainly against any power-of-two array and worse against a wide one.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!egiT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e493590-cb03-43cf-851a-816a576d2083_1876x976.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="757" src="https://substackcdn.com/image/fetch/$s_!egiT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e493590-cb03-43cf-851a-816a576d2083_1876x976.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The consequence is that bring-up cost varies enormously, and it correlates poorly with how popular a model is. A model whose shapes fall out cleanly needs scheduling, serving, and tuning work, which is measured in weeks. A model that fights the tile geometry needs new kernels before it is even at parity, let alone winning on performance per dollar. Kernel engineers are finite, so sequencing externalization toward models where the hardware is not starting a lap down is the rational move, and we would expect the same behavior from any accelerator vendor in this position.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Torus Topology&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Inference and training at scale run across thousands of chips that need to talk to each other constantly. TPUs connect P2P over a custom network called ICI (Inter-Chip Interconnect). ICI bypasses the host CPU entirely, allowing chips to exchange activations and gradients directly instead of routing them through PCIe and a general-purpose NIC. The topology behind ICI has evolved generation over generation: TPU v2 and v3 used a 2D torus with each chip wired to 4 neighbors, and starting with TPU v4 and v5p, Google moved to a 3D torus with each chip wired to 6 neighbors along the +/-X, +/-Y, and +/-Z axes. Ironwood (TPUv7) keeps that 3D torus. The fundamental building block is a 4x4x4 cube of 64 chips, sized to map cleanly onto one physical server rack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!17HU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07dc2e7-090b-472a-a2bf-82c6fbb1cb67_1456x1956.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1956" src="https://substackcdn.com/image/fetch/$s_!17HU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07dc2e7-090b-472a-a2bf-82c6fbb1cb67_1456x1956.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The difference between a torus and a plain grid is its wraparound links. Connecting the ends of a line forms a ring, cutting the worst-case hop distance from N to N/2. It&amp;#8217;s the same trick that makes Pac-Man&amp;#8217;s maze feel smaller than it is. Google pushes this further with a &amp;#8220;twisted torus,&amp;#8221; a Mobius-strip-like wraparound that shaves the average hop count down even more. To scale beyond a single 4x4x4 cube, Google stitches cubes together using Optical Circuit Switches, which preserve the wraparound property across a much larger reconfigurable topology, scaling all the way up to Ironwood&amp;#8217;s full 9,216-chip superpod and its 42.5 FP8 exaflops of aggregate compute. The operational payoff of OCS is that Google can physically rewire around a failed link or a dead chip in seconds, using mirrors rather than sending a technician to re-splice copper in a live data center.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wlNi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7f1e6f-b854-4da5-b6c1-8f1bbdb49cb8_1456x1505.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1505" src="https://substackcdn.com/image/fetch/$s_!wlNi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7f1e6f-b854-4da5-b6c1-8f1bbdb49cb8_1456x1505.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This scale-out design was revolutionary at the time. Before NVL72 racks, models that could not fit within a single 8-GPU node had to use pipeline parallelism because inter-node InfiniBand was slow. On a TPU pod, the ICI torus gives NVLink-class bandwidth across the entire pod, up to 8,960 chips on v5p. With this bandwidth, a DSV3-scale model can be sharded across the whole pod using tensor parallelism, expert parallelism, and data parallelism (FSDP-style weight sharding), without splitting layers across pipeline stages.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although a TPU torus has more hops than a single-hop NVLink switched design, our upcoming CollectiveX/NetworkingX results show that, in many cases, the TPU torus has lower latency than a single-hop NVSwitch for small EP messages.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Looking Ahead: TPUv8i&amp;#8217;s Boardfly Network&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Google&amp;#8217;s newly announced eighth-generation TPU lineup has two purpose-built chips: TPU 8t for training and TPU 8i for inference. This is the first time Google has separated training and inference into distinct architecture designs rather than shipping one architecture tuned for both. TPU 8t keeps the 3D torus lineage alive for scale-up, but TPU 8i replaces the torus with a new topology called &amp;#8220;Boardfly.&amp;#8221; The name nods to dragonfly-style high-radix network designs long used in supercomputing. Boardfly uses a flatter, hierarchical fabric of high-radix switches rather than a nearest-neighbor mesh. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-networking-model/"&gt;&lt;span&gt;The Boardfly topology affects networking attachment capex per chip.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The payoff is a network diameter cut by more than 50% versus a similarly sized 3D torus, roughly 16 hops down to about 7 hops at comparable scale in the 1,024 to 1,152-chip range. Fewer hops mean materially lower tail latency on collective operations, and that matters enormously once you are routing tokens across MoE layers or running multi-turn agentic workloads where every extra hop compounds into user-visible latency. TPU 8i backs this up with 19.2 Tb/s of ICI bandwidth, double the prior generation, and 384 MB of on-chip SRAM, 3x the previous generation, sized specifically to hold the KV cache of reasoning and agentic models on-chip rather than round-tripping to HBM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3iro!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cff324-fa52-4b79-b901-80da6f9345a9_2000x1268.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="923" src="https://substackcdn.com/image/fetch/$s_!3iro!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cff324-fa52-4b79-b901-80da6f9345a9_2000x1268.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Google&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;None of this hardware headroom pays off on its own, though. Turning a lower-diameter network and a bigger on-chip cache into cost-per-token gains still requires the software stack to catch up. The next section covers the roadmap for doing so, including speculative decoding, prefill-decode disaggregation, and the broader model support needed to take full advantage of TPUv8 in production.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Next Steps in Laying the TPU Foundation&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;These preview results establish a starting point for further optimization on the same hardware. We expect performance to improve as TPU externalization continues, with substantial work still needed across the software stack.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Enabling &amp;amp; Optimizing Spec Decoding (MTP)&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The first area the Google team needs to focus on is on optimizing speculative decoding. A cheap, small drafter guesses several tokens ahead, the main model verifies all of them in a single forward pass, and any guess that doesn&amp;#8217;t match is thrown away. Everything that survives is identical to what the model would have produced on its own. Speculative decoding is lossless, with zero quality degradation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The reason it works is that decode is bandwidth bound, not compute bound. To emit a single token for a single user, you stream the entire model&amp;#8217;s weights out of HBM. That weight read is the dominant cost, and the cost barely changes whether you verify one token or five. The matrix units sit mostly idle while the memory system does all the work. Speculative decoding spends that idle compute to amortize one very expensive weight read across several tokens, which is why methods that draft multiple tokens at once, like MTP or DSpark, are so cheap and so effective.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ObRL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9126a39f-54f9-4df1-bd09-4d0d64deaf17_2048x559.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="397" src="https://substackcdn.com/image/fetch/$s_!ObRL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9126a39f-54f9-4df1-bd09-4d0d64deaf17_2048x559.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://vllm.ai/blog/2024-10-17-spec-decode"&gt;Source: vLLM&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Prefill-Decode Disaggregation &amp;amp; KV-cache Offloading&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Prefill-decode (PD) disaggregation is another optimization the TPU team is working to externalize. It separates prefill and decode across distinct TPU pools, allowing each pool to be tuned and scaled independently to match the workload.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FX9c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282af9ce-a0c4-4c7b-8053-00026f16f945_1112x548.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!FX9c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282af9ce-a0c4-4c7b-8053-00026f16f945_1112x548.png" width="1112" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: DistServe&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google has been running PD disaggregation internally for Gemini serving for ages, but work to externalize it began only a couple of months ago. That work includes TPU support in llm-d and the open-sourcing of TPU-Sync (formerly TPU-raiden), Google&amp;#8217;s disaggregated KV-cache transfer library. TPU-Sync works natively with JAX and the native TorchTPU stack, and can perform zero-copy transfers by extracting native PJRTBuffer hardware descriptors. With disaggregated PD, we believe TPUv7 can be a strong competitor to GB200/GB300 and even beat them on performance per dollar.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/google/tpu-sync"&gt;&lt;span&gt;TPU-Sync also supports native TPU KV-cache DRAM offloading&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which is needed for large models and medium-to-large batch sizes, where HBM can no longer hold the KV cache for all users. It is great to see Google externalizing its DRAM offloading optimizations to the public as well.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Tn-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a1acf1-77d0-4c16-85da-9a046d56f2f8_1974x1342.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!Tn-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a1acf1-77d0-4c16-85da-9a046d56f2f8_1974x1342.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/google/tpu-sync"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google is externalizing its native TPU offloading stack and &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/issues/2662"&gt;&lt;span&gt;supporting the industry-standard Mooncake Store offloading library&lt;/span&gt;&lt;/a&gt;&lt;span&gt; along with Mooncake Store&amp;#8217;s DRAM P2P pooling support. We believe Mooncake Store support will be implemented using the primitives in tpu-sync.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q_Mm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6b5d7e-af79-484b-bcf7-ebc50d36c3e3_2048x1204.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="856" src="https://substackcdn.com/image/fetch/$s_!q_Mm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6b5d7e-af79-484b-bcf7-ebc50d36c3e3_2048x1204.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/issues/2662"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With P2P pooling, the KV-cache storage on each TPU host is aggregated into a single logical memory pool, so a TPU on any server can access KV cache from any other server. This unifies memory contributions from multiple nodes into one shared logical pool.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hqEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff51b3df9-ffa4-408f-b617-1eb3dde40740_2039x975.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="696" src="https://substackcdn.com/image/fetch/$s_!hqEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff51b3df9-ffa4-408f-b617-1eb3dde40740_2039x975.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Mooncake&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://kvcache.ai/blog/scaling-kv-cache-beyond-memory/"&gt;&lt;span&gt;Furthermore, Mooncake Store pools NVMe storage from multiple servers into a single logical pool&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in addition to supporting traditional distributed filesystem backends like WEKA/Vast.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;AgentX TPU&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;KV-cache offloading is especially important for long-context, multi-turn agentic workloads, where optimized KV-cache storage can enable high KV-cache hit rates.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At a high level, an agentic workload is characterized by four elements:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-turn: a session includes tens or hundreds of interactions between the user and assistant, compared with a handful in a chatbot scenario. These workloads combine long contexts and high prefill reuse with sub-agent bursts and numerous tool calls.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Long context: system prompts, tool definitions, and the large number of turns make context accumulate quickly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High prefix reuse: since the conversation progresses linearly, where output from turn n-1 is concatenated to turn n (typically), most context can be served from KV cache rather than recomputed (this depends on the amount of storage available to store KV tensors). As n grows, the ratio of cached input relative to uncached typically tends towards 1.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Sub-agent bursts: a session launches multiple short-lived sub-agents with fresh context, which create bursty KV-cache patterns.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;We are hearing that many Google TPU customers are already asking for AgentX performance results, and we are excited to announce that we are working to bring TPUs to AgentX too!&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QQ6I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca94316-e44c-4bec-9d0a-041ad73df31e_2048x909.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!QQ6I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca94316-e44c-4bec-9d0a-041ad73df31e_2048x909.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: DeepSeek, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Ironwood has no native FP4, so for now the fair apples-to-apples comparison is against FP8 Blackwell: FP8 vs FP8 carries no quality loss, whereas FP4 vs FP8 introduces a quality difference on the FP4 side. Google&amp;#8217;s TPUv8i does have native FP4 acceleration, so when we bring up TPUv8i on InferenceX/AgentX, we will compare FP4 to FP4.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We strongly believe that building native vLLM and SGLang support on native TorchTPU&amp;#8217;s stable foundation is the right direction for TPU externalization. TorchTPU is meant to replace the previous TorchAX stack, which will soon be deprecated. Google will next work to enable Kimi K3 and GLM5.3 on single-turn and/or agentic workloads like AgentX, along with Google&amp;#8217;s own open-weight models such as Gemma4. Once a few models are running on the TorchTPU stack, adding new ones will become far easier, and TPU support will land much closer to day 0.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Rome wasn&amp;#8217;t built on day 0, so we shouldn&amp;#8217;t expect the externalization of TPUs to happen instantly. But we strongly believe that it is happening at an extremely rapid pace.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;TPU Cost Effective Total Cost of Ownership&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Our full BOM and TCO estimates for TPUv7 are enumerated in the &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;SemiAnalysis AI TCO Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. A structural overview is below.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;For more than a decade, the industry has watched Google build an empire on its own silicon. Search, Ads, YouTube, and every generation of Gemini run on TPUs. Few accelerators have attracted as much architectural scrutiny or as much debate about what their performance and economics would look like outside the company that designed them. Anthropic being the biggest user of TPUs, surpassing Deepmind&amp;#8217;s own use by 2029.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jJRp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F679784de-e6df-4cb4-8bf6-3347cb9ed002_1200x588.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="A fisheye view of a data center wall with rows of server racks, complex cabling and overhead cable trays." class="sizing-normal" height="588" src="https://substackcdn.com/image/fetch/$s_!jJRp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F679784de-e6df-4cb4-8bf6-3347cb9ed002_1200x588.png" title="A fisheye view of a data center wall with rows of server racks, complex cabling and overhead cable trays." width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://blog.google/innovation-and-ai/infrastructure-and-cloud/google-cloud/ironwood-google-tpu-things-to-know/"&gt;Google&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google&amp;#8217;s internal success was never the question. The question was how much of that advantage the rest of the industry could actually get. Could you take an open-weight model, serve it through a familiar inference engine, and beat NVIDIA on the economics that matter to your business?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Today, we are publishing the first third-party inference results for TPUv7 Ironwood on &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Official Preview. In our apples-to-apples comparisons against B200/B300, Ironwood delivers up to 50% better performance per dollar. Its advantage extends across much of the Pareto curve, and we examine the economics from both sides: Google&amp;#8217;s internal total cost of ownership and the external TCO an actual customer pays. &lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Ironwood (TPUv7) is the first generation in which Google is competing for others&amp;#8217; inference workloads with chips that can be purchased outright or rented through its own cloud. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/tpuv7-google-takes-a-swing-at-the"&gt;&lt;span&gt;In November 2025, we already said that&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Anthropic loves TPUs and committed to over one million of them (around 400k+ in direct purchases and 600k+ rented through GCP), used mainly for training but also for inference. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Our Accelerator Model has the latest figures for Anthropic&amp;#8217;s TPU shipments and Google&amp;#8217;s overall TPU shipments by quarter, plus estimates for TPUv8i, v8t, and various v9 / v10, and more&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are excited by how quickly the new TorchTPU stack is developing, the external stack for TPUs. Later in the article, we will discuss the upcoming work needed for TPU software externalization, including optimizing speculative decoding, disaggregated prefill, KV-cache offloading, multi-turn agentic workloads, and more. Even so, we at SemiAnalysis &lt;/span&gt;&lt;strong&gt;&lt;span&gt;strongly believe that TPU externalization is heading in the right direction and moving full steam ahead. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Furthermore, unlike AMD, which is still learning how to build a test-first software culture, Google has decades of software engineering experience and an extremely well established quality-driven culture, so we expect external TPU software to mature rapidly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article, we will cover all the optimizations that went into TPU kernels and the serving stack for open-weight models, including DP attention optimization, MoE routing and kernel optimization, and reducing padding in GDN kernels. We will also take a deep dive into the TPU system and discuss the next steps the amazing TPU performance engineers are pursuing to make the stack widely available.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Google has spent more than a decade demonstrating what it can build with TPUs. Now we get to measure what the rest of the industry can do with them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Shoutout to the Google (Chris Chan, &lt;/span&gt;Jahangir Hasan, Wangyuan Zhang, Anne Stern, Puneith Kaul, Ruizi Dong, Sangam Jindal, Qi Zhou, Madhan Jaganathan, Gang Ji, Jun Wan, Devanshu Jain, Jiaxin Cao, Srinath Mandalapu, Haowen Ning)&lt;span&gt; and Inferact teams for this amazing TPU foundation and performance! Furthermore, shoutout to the RadixArk team that is also working on TorchTPU SGLang.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;InferenceX Official Preview: TPUv7 Ironwood vs. Blackwell and Blackwell Ultra&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We are already seeing strong results from the upcoming native TorchTPU vLLM stack in apples-to-apples comparisons against Nvidia GPUs. Google is using Qwen3.5 397B in FP8 as the initial bring-up model. &lt;/span&gt;Later sections take a deep dive into why the new TorchTPU approach is a marked improvement over the previous TorchAX path for external TPU vLLM/SGLang serving. &lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;Once that foundation is in place, Google plans to extend support to other open-weight models, including Kimi K3 and GLM5.3. Once a handful of models are well optimized, we believe adding optimized support for a wide range of popular open models near day 0 becomes far easier. Today, vLLM and SGLang concentrate their day-0 support on Nvidia, with passable day-0 coverage for AMD. We expect TorchTPU to be stable enough in the near future that vLLM and SGLang maintainers may add TPUs to that day-0 list. The stack is expected to leave private beta &amp;amp; be open sourced around October.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;In apples-to-apples comparisons of aggregated serving with FP8 and single-token prediction, we are seeing up to 50% better performance per dollar from TPU than from B200 and B300 running FP8 in aggregated serving. When serving models using FP4 on NVIDIA GPUs, there is quality loss verus FP8. TPUv7 does not have native FP4 computation thus on FP4, NVIDIA GPUs still maintains the lead. This will change with TPUv8i which has native FP4 support thus we strongly believe TPUv8i Boardfly will be competitive to Rubin NVL72.&lt;/p&gt;&lt;p&gt;We believe the &lt;span&gt;TPU performance-per-dollar advantage can persist once Google enables disaggregated serving and speculative decoding, with MTP and disaggregated serving enabled on both sides of the comparison. Later in the article, we discuss the optimizations Google plans to add once the TorchTPU foundation is in place. To keep the bring-up scope contained, Google has initially focused on benchmarking 8k1k. However, we believe that the TorchTPU stack will also perform amazingly well on agentic workloads &amp;amp; will be publishing results for those too later in the year. Later on in the article, we will talk about the next steps &amp;amp; roadmap of TPU external Inference.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;TPU is King on Performance per Dollar&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At an interactivity of 100 tokens/s/user, Ironwood costs approximately $0.181 per million total tokens, compared with $0.222 for B200 and $0.276 for B300. That is approximately 19% lower cost than B200 and 34% lower than B300, while delivering the same per-user generation speed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For this comparison, we use an external TPU TCO against B200/B300 TCO for an hyperscaler lab to buy TPU. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Last year, SemiAnalysis Accelerator Model was the first to break that Google is selling TPUs instead of just renting out through Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. TPU&amp;#8217;s lower hourly cost offsets its lower throughput across much of the interactivity range. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;The SemiAnalysis TCO Model provides a full breakdown of the TPU BoM estimate and TCO estimates.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!p96b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8047a697-0d6f-41fe-8c16-71998778ecb4_2048x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="873" src="https://substackcdn.com/image/fetch/$s_!p96b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8047a697-0d6f-41fe-8c16-71998778ecb4_2048x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OWyw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd306f42c-a30b-45c7-82c9-dbaff7e654b3_2048x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="873" src="https://substackcdn.com/image/fetch/$s_!OWyw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd306f42c-a30b-45c7-82c9-dbaff7e654b3_2048x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Across most of the raw-performance curve, TPU does not outperform Nvidia GPUs. However, that comparison does not account for TPU&amp;#8217;s lower TCO. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Buyers of TPU are mainly concerned with how much revenue they can make, i.e. performance per dollar and performance per watt.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That being said, at interactivity of 20 tok/s/user, Ironwood also leads on raw throughput, reaching 9,364 total tokens/s/chip, compared with 8,903 on B200 and 8,925 on B300. This is approximately 5% higher throughput than either GPU in these runs. Combined with the lower modeled hourly cost, Ironwood delivers 50.4% more tokens per dollar than B200 and 96.0% more than B300.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q6dF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69317046-6bae-4d80-9b8b-f9777076792d_2048x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="873" src="https://substackcdn.com/image/fetch/$s_!q6dF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69317046-6bae-4d80-9b8b-f9777076792d_2048x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If we consider TPU TCO for Google&amp;#8217;s internal workloads at $1.03/chip-hour, the performance-per-dollar advantage at concurrency 256 increases to 76.7% over B200 and 130.2% over B300. However, these high-concurrency results come with latency trade-offs. For example, at concurrency 256, TPU mean TTFT is 5.41 seconds, compared with 3.75 seconds on B200 and 2.40 seconds on B300. The previously discussed 50% to 96% advantage applies to this datapoint specifically, rather than every latency target.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xG7g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac73c91e-efa3-4f2a-a9ea-2f5eb15e4a27_2048x1222.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!xG7g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac73c91e-efa3-4f2a-a9ea-2f5eb15e4a27_2048x1222.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Looking at end-to-end latency, Ironwood remains competitive beyond that highest-throughput point. At a 20-second median response time, the Pareto curves put TPU at approximately $0.098 per million total tokens, compared with $0.106 for B200 and $0.132 for B300. TPU therefore costs approximately 8% less than B200 and 25% less than B300.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XMw9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01cfa04c-b0fe-456d-ba3c-367c434f373c_2048x1223.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!XMw9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01cfa04c-b0fe-456d-ba3c-367c434f373c_2048x1223.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!j22S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb160a968-2cdc-4ce8-8a74-cd5eb63e1141_2048x1223.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="869" src="https://substackcdn.com/image/fetch/$s_!j22S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb160a968-2cdc-4ce8-8a74-cd5eb63e1141_2048x1223.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX Preview&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Despite all of the above, B200 can still come out ahead on a small part of the Apples to Apples curve, including around the 30-second median response time. However, TPU regains its lower cost per million tokens at longer response times, while maintaining a cost advantage over B300 across the overlapping range shown here.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;Apples to Bananas: GB300 NVL72 Disagg verus TPUv7 Agg&lt;/h2&gt;&lt;p&gt;Google has been running disaggregated serving internally for years in production and that path is heavily optimized, but the external TPU serving stack does not have a fully optimized disagg path yet. So today, GB200/300 NVL72 is more competitive on perf per dollar in a disagg-vs-disagg comparison. But we expect that gap to close within a few months &amp;amp; TPUv7 to be competitive againist GB200/300 NVL72 as Google, Inferact, RadixArk, and SemiAnalysis land optimizations, and we will publish TPUv7 disagg vs GB200/300 NVL72 disagg in a follow-up article. TPUv7 pods can scale up to over 1k+ chips through their low latency ICI fabric thus can enable optimizations for large models disagg &amp;amp; ultra wideEP that NVIDIA NVL72 can&amp;#8217;t perform.&lt;/p&gt;&lt;p&gt;Even on an apples to bananas comparison between TPUv7 aggregated serving verus GB300 NVL72 disagg, using internal TCO,  TPUv7 is decently competitive on high latency &amp;amp; low to left medium latency. But when comparing on the right medium e2e latency, GB300 NVL72 disagg has an single advantage against TPuv7 aggregrated serving.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!P-lB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1883d94c-1996-47de-942b-c8eef7cf3eb1_1576x808.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="746" src="https://substackcdn.com/image/fetch/$s_!P-lB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1883d94c-1996-47de-942b-c8eef7cf3eb1_1576x808.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;When looking at it GB300 NVL72 disagg verus TPUv7 agg, it is competitive at low and high e2e latency but in the middle, there is about an 30% perf per dollar advantage of GB300 against TPUv7 agg. We strongly believe once disaggregated serving on TPUv7 is optimized, it would be competitive across the full pareto against GB300 NVL72. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XKic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2210f76-7a91-405e-a3ba-a1692b080618_1550x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="791" src="https://substackcdn.com/image/fetch/$s_!XKic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2210f76-7a91-405e-a3ba-a1692b080618_1550x842.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Inference Serving with the New Native, First-Class TorchTPU Backend vs. the Previous TorchAX Stack&lt;/h1&gt;&lt;h2&gt;Previous TorchAX vLLM Backend&lt;/h2&gt;&lt;p&gt;Google previously used the TorchAX backend to translate the PyTorch-based implementations in vLLM and SGLang into JAX. TorchAX was intended to let developers run PyTorch model definitions through JAX. However, issues with this approach have prompted Google and the PyTorch, vLLM, and SGLang communities to collaborate on a new approach called TorchTPU. It lets developers use TPUs as native PyTorch devices, while StableHLO, XLA, and TPU-optimized Pallas kernels handle the low-level execution behind the scenes. In the upcoming sections of the article, we will be showing the performance of this new TorchTPU backend compared to NVIDIA Blackwell &amp;amp; Blackwell Ultra GPUs.&lt;/p&gt;&lt;p&gt;vLLM TPU support has evolved through three different stages:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Its first TPU prototype used &lt;a href="https://docs.pytorch.org/xla/master/learn/xla-overview.html"&gt;PyTorch/XLA&lt;/a&gt;. Its lazy execution model collected operations into computation graphs for XLA to compile, rather than executing each PyTorch operation immediately.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The current public backend, &lt;a href="https://vllm.ai/blog/2025-10-16-vllm-tpu"&gt;tpu-inference&lt;/a&gt;, uses a TPU-optimized JAX implementation when one is available. Otherwise, TorchAX translates the original PyTorch model into operations that JAX can execute. The goal is to reuse mature TPU primitives and parallelism support without requiring every PyTorch model to be rewritten.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The upcoming third design, TorchTPU, lets vLLM treat TPUs as native PyTorch devices. It will be the go-to backend for SGLang and vLLM on TPUs going forward.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The diagram below zooms in on the second stage and shows how vLLM&amp;#8217;s tpu-inference backend combines direct JAX models and PyTorch models running through TorchAX.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KFHW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F678ca15d-f0c0-4c36-a63f-b1108939cbb1_2048x1620.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1152" src="https://substackcdn.com/image/fetch/$s_!KFHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F678ca15d-f0c0-4c36-a63f-b1108939cbb1_2048x1620.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis/vLLM&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The original choice of JAX was pragmatic. In the last &lt;a href="https://vllm.ai/blog/2025-10-16-vllm-tpu"&gt;announcement&lt;/a&gt;, Google described difficulties with low-level optimization, paged attention, and fitting vLLM&amp;#8217;s worker model to TPU execution. They thought that JAX would offer more mature TPU primitives and parallelism support. TorchAX let the team use those capabilities without rewriting every PyTorch model, while TPU-oriented JAX implementations could share the same kernel and compiler work.&lt;/p&gt;&lt;p&gt;With TorchAX, developers still write the model in PyTorch, but JAX executes it on the TPU. TorchAX acts as the translation layer between the two frameworks. As the&lt;a href="https://google.github.io/torchax/user_guide/how-it-works/"&gt; TorchAX documentation&lt;/a&gt; explains, a torchax.tensor.Tensor behaves like an ordinary PyTorch tensor but is backed by a jax.Array. When the model invokes a tensor operation, known in PyTorch as an ATen operation, TorchAX intercepts it through the __torch_dispatch__ hook and translates it into one or more JAX operations. The model can therefore remain written in PyTorch even though JAX performs the computation.&lt;/p&gt;&lt;p&gt;vLLM must also manage state that changes during generation, especially the KV cache, which stores attention information from earlier tokens for reuse. Its &lt;a href="https://github.com/vllm-project/tpu-inference/blob/a32e183a676cf428cb1cea953f58fdd616accb3e/tpu_inference/models/vllm/vllm_model_wrapper.py#L171-L348"&gt;model wrapper&lt;/a&gt; presents the model weights and KV cache to JAX as an explicit state. This process, known as functionalization, turns changes that would otherwise happen inside Python objects into inputs and outputs that the compiler can track. jax.jit can then capture each inference step as a computation graph and pass it through JAX&amp;#8217;s compilation pipeline for repeated execution.&lt;/p&gt;&lt;p&gt;From there, each component has a distinct role. Pallas supplies optimized TPU kernels for performance-critical operations. StableHLO represents the program in a standardized format that the compiler can process, and XLA converts it into executable code for the TPU. In vLLM&amp;#8217;s standard PyTorch path, torch.compile coordinates graph capture and compilation. In the TorchAX path, the JAX/XLA pipeline already performs those tasks, so vLLM bypasses its usual torch.compile route. These translation layers have caused many issues that the TorchTPU vLLM stack aims to solve.&lt;/p&gt;&lt;h3&gt;Previous SGLang JAX Backend&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!l0sG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ea9afd-01ea-4df3-b632-3524e2507d04_2048x1742.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1238" src="https://substackcdn.com/image/fetch/$s_!l0sG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ea9afd-01ea-4df3-b632-3524e2507d04_2048x1742.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis/SGLang&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;SGLang&amp;#8217;s current public TPU stack uses &lt;a href="https://github.com/sgl-project/sglang-jax"&gt;SGLang-JAX&lt;/a&gt;. SGLang-JAX makes a similar trade-off to vLLM&amp;#8217;s TorchAX backend but takes a different approach. It is a separate JAX-native serving engine rather than the PyTorch SGLang runtime translated through TorchAX. It combines SGLang-style scheduling and prefix caching with JAX models and TPU-specific kernels. Google and RadixArk have announced SGL-torchtpu as an additional PyTorch-native backend to extend the available serving paths.&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary button-wrapper" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Shifting Toward the New Native, First-Class TorchTPU Backend&lt;/h2&gt;&lt;p&gt;&lt;a href="https://developers.googleblog.com/torchtpu-running-pytorch-natively-on-tpus-at-google-scale/"&gt;TorchTPU&lt;/a&gt; moves the framework boundary into PyTorch itself. It uses PyTorch&amp;#8217;s&lt;a href="https://docs.pytorch.org/tutorials/advanced/privateuseone.html"&gt; PrivateUse1 backend extension point&lt;/a&gt; to expose an ordinary torch.Tensor on device=&amp;#8221;tpu&amp;#8221; rather than a wrapper backed by a JAX array. The PyTorch dispatcher routes ATen operations to the TPU backend. Developers can run code eagerly for bring-up and debugging, or call torch.compile for graph capture. In the compiled path, TorchDynamo and AOTAutograd produce an FX graph, TorchTPU lowers it to StableHLO, and XLA produces the TPU executable. Google&amp;#8217;s&lt;a href="https://hosted-files.sched.co/pytorchconferenceeu2026/cb/TorchTPU%20-%20PyTorch%20Paris%20%2726%20-%20Google%20Slides.pdf"&gt; conference deck&lt;/a&gt; makes the compiler choice explicit that this path uses XLA, not Inductor and Triton.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!H5Pp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc09d8e99-682d-43dd-9292-3cf29295f79e_1074x1148.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1148" src="https://substackcdn.com/image/fetch/$s_!H5Pp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc09d8e99-682d-43dd-9292-3cf29295f79e_1074x1148.png" title="" width="1074" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis/PyTorch/Google&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&amp;#8220;Native&amp;#8221; therefore has a specific scope. It covers PyTorch tensors, dispatch, eager execution, compilation entrypoints, and distributed APIs. XLA remains the compiler, and the kernel layer continues to use TPU-specific implementations. TorchTPU can call Pallas and JAX-backed custom kernels. &lt;a href="https://pytorch.org/blog/helion-on-tpu-towards-hardware-heterogeneous-kernel-authoring/"&gt;Helion&amp;#8217;s TPU backend&lt;/a&gt; also emits Pallas. The user-facing framework becomes PyTorch-native, while the compiler and performance-critical kernels remain TPU-aware.&lt;/p&gt;&lt;p&gt;Developers can use .to(&amp;#8221;tpu&amp;#8221;) while retaining familiar distributed interfaces and serving-engine code. Google documents support for DDP, FSDP2, DTensor, one process per device, and both MPMD and SPMD execution. Those interfaces fit the process and distributed model already assumed by PyTorch serving engines.&lt;/p&gt;&lt;p&gt;For vLLM and SGLang, the opportunity is to reuse more upstream model code, schedulers, continuous batching, APIs, and feature logic instead of rebuilding them across a PyTorch-to-JAX boundary. That should reduce the cost of bringing up models and engine features, even when the final TPU implementation still needs specialized kernels.&lt;/p&gt;&lt;p&gt;Native PyTorch support does not eliminate the need for TPU-specific optimization. Pallas and TorchAX serve different purposes, TorchAX allows PyTorch model code to execute through JAX, while Pallas is used to implement performance critical operations directly for TPU hardware. Removing TorchAX doesn&amp;#8217;t mean removing the Pallas kernels underneath it. Since TorchTPU allows native Pytorch code to invoke Pallas and JAX kernels, kernels developed for earlier stack are able to migrate into the new stack.&lt;/p&gt;&lt;p&gt;Similar to GPU PyTorch vLLM, Custom kernels will still be needed for high performance inferencing. Tensor shapes and layouts still need to be tuned to use TPU&amp;#8217;s matrix multiplication units efficiently. We believe that most of the existing Pallas kernels are easily transferable to the new native TorchTPU serving stack but that does not mean that every existing kernel will transfer unchanged. Many things like wrappers, tensor layouts, and runtime integration etc may still need to be slightly adapted and validated.&lt;/p&gt;&lt;h2&gt;Strong Ecosystem Collaboration with Google&amp;#8217;s TPU Team&lt;/h2&gt;&lt;p&gt;vLLM and SGLang are the two major open-source production inference serving stacks. Inferact, RadixArk, and Red Hat are investing heavily in collaboration with Google to make the TorchTPU backend a first-class experience in both stacks. This community support is extremely important for externalizing TPU inference.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uGCV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d86a8b7-cc12-4730-9b6a-a77258ad60c5_1860x720.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!uGCV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d86a8b7-cc12-4730-9b6a-a77258ad60c5_1860x720.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Inferact&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As of early September, TorchTPU remains in private beta and will be open-sourced around mid-October during the PyTorch Conference. We are excited to see it move TPUs toward a first-class experience in PyTorch, vLLM, and SGLang. Once TorchTPU vLLM and TorchTPU SGLang are open-sourced, we will move TPU benchmarking for InferenceX/AgentX from our fork to our public repo.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KDky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304bd1c-ed83-4091-a71b-00ec572542a4_1200x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!KDky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304bd1c-ed83-4091-a71b-00ec572542a4_1200x675.png" title="" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: RadixArk&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;TPU Inference Optimizations Deep Dive&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The sprint to optimize TPU inference for the native TorchTPU serving stack&amp;#8217;s first bring-up model involved hundreds of engineering hours and numerous PRs. As described later in the article, TPU architecture differs from GPU architecture and therefore requires its own set of optimizations to run models efficiently. Below, we describe the optimizations that improved (or in some cases, enabled) performance for Qwen3.5-397B and other models on Ironwood. Most of the Pallas kernel optimizations are transferable to the new native TorchTPU stack.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;DP Attention Optimization&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;One issue that is not necessarily specific to TPU is how to effectively map parallelism from model architecture to hardware. For instance, Qwen3.5&amp;#8217;s GQA attention layer has 32 query heads but only 2 shared KV heads. With TP8 (eight logical devices), query computation can be evenly distributed across the 8 devices, with 4 query heads per device. The KV heads, however, do not divide evenly across those devices. Each KV head is shared by 16 query heads, meaning four devices need the same KV data to compute their local attention. When TP exceeds the KV-head count, standard practice is to replicate KV heads across TP ranks. vLLM already supports this. The TPU backend needed a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2661"&gt;&lt;span&gt;compatibility fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to activate that existing behavior and avoid unnecessary All-to-All communication.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For higher-concurrency serving, the TPU backend also added support for combining &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2187"&gt;&lt;span&gt;eight-way attention data parallelism (DP8)&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with eight-way expert parallelism (EP8), simply referred to as &amp;#8220;DP attention&amp;#8221; or DEP8. Instead of splitting every request&amp;#8217;s attention across all eight devices, each device processes a different subset of requests and keeps both KV heads for those requests locally. The attention weights are replicated, but the KV caches hold different request histories rather than repeated copies of the same history. Meanwhile, the 512 routed experts remain distributed across the devices, avoiding replication of the much larger expert weight pool. Making this work required &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2577"&gt;&lt;span&gt;coordinating request assignment, recurrent-state slots, and block tables&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in the serving engine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VcG6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f13662-fc12-400e-889e-9958d0ad45f7_2048x770.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!VcG6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f13662-fc12-400e-889e-9958d0ad45f7_2048x770.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Optimizing Communications&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With DP attention and EP, the TPU GroupedGEMM implementation all-gathers token activations and routing metadata before the experts run, then uses reduce-scatter to sum their weighted outputs and return each token&amp;#8217;s result to its attention rank. The backend originally gathered the selected expert IDs and routing weights separately. Google &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2174"&gt;&lt;span&gt;combined these into one all-gather&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, removing an extra collective whose latency can dominate the transfer time for such small arrays. The PR reports &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2174"&gt;&lt;span&gt;roughly 80 microseconds per layer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; saved in its DeepSeek-V3 measurements. While 80 &amp;#181;s may sound small, DeepSeek-V3/R1 has 58 layers that require this AllGather. Across those layers, the savings add up to around 4.64 ms per forward pass in isolation (80 &amp;#181;s &amp;#215; 58), reducing TPOT and increasing interactivity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rnG7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59c3d46f-7b88-4e65-8715-f160b83c3d6e_2048x771.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!rnG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59c3d46f-7b88-4e65-8715-f160b83c3d6e_2048x771.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google also &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2888"&gt;&lt;span&gt;implemented the ReduceScatter collective on SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (which is better suited for irregular operations like data movement) and used Ironwood&amp;#8217;s faster die-to-die links to combine contributions within each chip before exchanging partial sums across chips. This two-device-per-chip layout and the chip-to-chip ICI network are covered in the next section. Double buffering lets the kernel transfer one chunk while accumulating another, overlapping local reductions and die-to-die transfers with the slower chip-to-chip traffic. Running the collective on SparseCore also frees TensorCore execution for other operations.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FDFh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c82923a-c144-4447-8b73-f622ba7df27e_2048x1357.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="965" src="https://substackcdn.com/image/fetch/$s_!FDFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c82923a-c144-4447-8b73-f622ba7df27e_2048x1357.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QwIQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c2975f-0974-414f-8af6-300bc8613121_2048x1202.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="855" src="https://substackcdn.com/image/fetch/$s_!QwIQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c2975f-0974-414f-8af6-300bc8613121_2048x1202.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/vllm-project/tpu-inference/blob/main/tpu_inference/kernels/collectives/hierrs_sc/kernel.py#L109"&gt;Google&lt;/a&gt; and SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the diagram above, communication stages overlap, shortening end-to-end execution time. For instance, consider the point labeled t_1. At this time, the intra-chip DMA ScatterReduce (P1) has completed for MB (microbatch) 1. ScatterReduce across ICI dim 0 (P2.0) can now occur for MB0 &lt;/span&gt;&lt;em&gt;&lt;span&gt;concurrently with &lt;/span&gt;&lt;/em&gt;&lt;span&gt;P1 for the subsequent MB.&lt;/span&gt;&lt;em&gt;&lt;span&gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;Against a baseline, this optimization results in &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2888"&gt;&lt;span&gt;4.1 to 14.2% higher throughput on 8k1k&lt;/span&gt;&lt;/a&gt;&lt;span&gt; across concurrency 64 to 512, including 8.5% at concurrency 256, and 26.1% on 1k8k at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The movement of this collective from TensorCore to SparseCore also means that additional work can be pipelined on the TensorCore while the collective runs. However, not every collective is always worth moving. In some cases, offloading a collective to SparseCores actually &lt;/span&gt;&lt;em&gt;&lt;span&gt;worsens &lt;/span&gt;&lt;/em&gt;&lt;span&gt;performance. For example, for Qwen3.5 a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2777"&gt;&lt;span&gt;threshold now decides when all-reduce and all-gather operations are offloaded to the SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;keeping small collectives on the TensorCore when they fit in VMEM and SparseCore offload overhead would make them slower&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The default threshold is derived from VMEM capacity. The PR reports 8k1k throughput gains of 2.7% at concurrency 64 and 5.7% at concurrency 128.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Optimizing MoE Routing and Expert Kernels&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A mixture-of-experts layer produces irregular groups of tokens for each expert, and these ragged groups have to be reshaped into something the TPU&amp;#8217;s matrix units can consume efficiently. Some of the changes below are general improvements to the routing and grouped-matmul backend that benefit any MoE model. Others were measured directly on Qwen3.5.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/1688"&gt;&lt;span&gt;second version of the grouped matmul&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reworks how expert inputs are fed to the MXU. It removes redundant tile computation, sizes transfers to the number of valid rows rather than the padded maximum, triple-buffers expert weights so the next group&amp;#8217;s weights are already in flight while the current group is computed, and fuses group metadata generation into the kernel.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The irregular rearrangement of expert inputs was then &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2137"&gt;&lt;span&gt;moved onto the SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The SparseCore handles data movement, gathering each expert&amp;#8217;s tokens into contiguous groups, while the TensorCore is left to run the expert matrix multiplications. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2836"&gt;&lt;span&gt;subsequent rewrite&lt;/span&gt;&lt;/a&gt;&lt;span&gt; improved memory-read pipelining and split the combine work across tokens and hidden dimensions. The PR reports a 12% increase in 8k1k serving throughput compared with the original SparseCore kernels, along with lower TTFT and TPOT.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!I7Pl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47d1e6a-dad4-48bc-8239-9194bea17544_2048x838.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="596" src="https://substackcdn.com/image/fetch/$s_!I7Pl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47d1e6a-dad4-48bc-8239-9194bea17544_2048x838.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A further optimization &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2634"&gt;&lt;span&gt;moved the top-k weight gather in the ragged gather-reduce path onto the SparseCore&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Here, gather means reading selected entries from memory on one device, not an inter-device all-gather. Previously, the TensorCore gathered routing weights and source indices during preprocessing, limiting TensorCore/SparseCore overlap. Moving these gathers into the SparseCore kernel reduces TensorCore overhead from 29 &amp;#181;s to 14 &amp;#181;s and overall operation latency from 146 &amp;#181;s to 137 &amp;#181;s in a DeepSeek-V3 microbenchmark at batch 2k with 16-way expert parallelism.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For small batches, the general ragged path costs more than the work it is arranging. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2674"&gt;&lt;span&gt;dedicated small-batch permutation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; therefore builds one-hot matrices and uses ordinary matrix multiplication to permute tokens to their experts and unpermute the results. On the 8k1k workload, this improved throughput by 7.3% at concurrency 64 and 5.1% at concurrency 128.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A WIP change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3488"&gt;&lt;span&gt;packs the expert ID and token index into a single sort key&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so XLA performs a simpler sort while preserving the required ordering. Sort latency drops from 106.6 &amp;#181;s to 21.7 &amp;#181;s. The PR reports 8k1k serving gains of 0.6 to 8.5%, but the same change also enables an FP8 all-gather.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Optimizing Gated DeltaNet Pallas Kernels&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Gated DeltaNet (GDN) is a recurrent computation. That is, at each step the running state is decayed, updated with a rank-one term, and projected to produce an output. Check out the following article for a deeper dive into linear attention mechanisms such as GDN:&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The changes below show how its matrix operations, vector updates, and state transfers are scheduled across the MXU, VPU, VMEM, and HBM. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2004"&gt;&lt;span&gt;Initial Qwen3.5 support&lt;/span&gt;&lt;/a&gt;&lt;span&gt; added pure JAX implementations of causal Conv1D and GDN, connected them to TPU operator dispatch, and enabled recurrent-state caching. Later PRs optimized these implementations.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BogK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff82904-c377-4bbd-97a7-ad6eb54932ec_1875x925.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="718" src="https://substackcdn.com/image/fetch/$s_!BogK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff82904-c377-4bbd-97a7-ad6eb54932ec_1875x925.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/vllm-project/tpu-inference/pull/2004/changes#diff-b7403a18fb4b64c48819d1a527c8488cb85da4134f7f072665e8c3df0c39dfb1R14"&gt;GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Another low-hanging fruit optimization is achieved by &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2498"&gt;&lt;span&gt;rearranging the algebra in the output projection calculation to overlap MXU and VPU work&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Previously, the VPU first applied the rank-one update to the decayed state, and the MXU then multiplied the updated state by the query to produce the output. That dependency forced the MXU to wait.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Writing the decayed state as S, the correction vector as &amp;#916;, and the key and query as k and q, the output can be expanded:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!VkIy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c3573d3-b885-4a29-abc4-998df6ab3399_2048x263.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="93.5" src="https://substackcdn.com/image/fetch/$s_!VkIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c3573d3-b885-4a29-abc4-998df6ab3399_2048x263.png" width="728" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The MXU can now compute Sq directly from the decayed state while the VPU constructs the updated state for the next token. The current update&amp;#8217;s contribution to the output is calculated separately using k&amp;#7488;q, a scalar dot product per head, followed by a small scaled-vector addition. This removes the state update from the MXU&amp;#8217;s dependency path. Reported 8k1k throughput gains were 2.79% at concurrency 64 and 4.48% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The next change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2741"&gt;&lt;span&gt;reduces vector-register spills&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by slicing Q and K inside the decode loop so fewer values stay live at once. The decode-64 kernel becomes roughly 20% faster, but end-to-end gains are smaller, at 0.8% on 8k1k and 3.8% on 1k8k at concurrency 512, since the kernel is only one part of a decode step.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2650"&gt;&lt;span&gt;Asynchronous state transfers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; overlap DMA with computation using double buffering. The extra VMEM consumed by the second set of buffers initially regressed data-parallel attention. Reusing existing scratch buffers and shortening the lifetimes of temporaries recovered that capacity and removed the regression. The reported 8k1k throughput gain is 11.3% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3016"&gt;&lt;span&gt;GDN v3&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fuses Conv1D and GDN into a single kernel to cut HBM round trips, improves prefill layouts, and unifies mixed prefill/decode execution into one path. Reported kernel-level speedups are 1.41&amp;#215; for decode, 1.60&amp;#215; for prefill, and 2.14&amp;#215; for mixed batches. These measurements cover the kernel alone and do not establish end-to-end serving gains.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5fok!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dad690-9354-48a2-846f-1f7107907e3d_2048x672.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="478" src="https://substackcdn.com/image/fetch/$s_!5fok!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dad690-9354-48a2-846f-1f7107907e3d_2048x672.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Significant performance gains can be achieved simply by improving the overlap between operations within a kernel!&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Managing Hybrid State and Paged Attention&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Qwen3.5 is a hybrid model with two kinds of state: GQA layers accumulate a KV history that grows with every token, while GDN layers hold a fixed-size recurrent state per request. State allocation, storage precision, attention page size, and physical data layout all determine how much HBM is actually usable and how efficiently attention runs.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/1961"&gt;&lt;span&gt;Batched ragged paged attention&lt;/span&gt;&lt;/a&gt;&lt;span&gt; batches sequences together, precomputes page metadata, and triple-buffers to improve pipelining and reduce padding. This change provides shared attention-backend groundwork. The PR&amp;#8217;s workload examples use Qwen3-32B, so its measurements should be kept separate from the Qwen3.5-397B results.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Recurrent state is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2416"&gt;&lt;span&gt;allocated compactly&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, with roughly one slot per active request instead of &lt;/span&gt;&lt;code&gt;num_blocks&lt;/code&gt;&lt;span&gt; slots for every layer group. In the reported configuration, this reclaims about 76 GiB of HBM and expands the attention block pool by 71%, improving 1k8k output throughput by 18% at concurrency 64.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2482"&gt;&lt;span&gt;Storing the recurrent state in BF16&lt;/span&gt;&lt;/a&gt;&lt;span&gt; halves its HBM footprint while keeping the arithmetic in FP32 inside VMEM. This saves memory capacity and transfer bandwidth while preserving FP32 arithmetic. The reported 1k8k throughput gain is 15% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Removing the &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2627"&gt;&lt;span&gt;old hybrid page-size alignment constraint&lt;/span&gt;&lt;/a&gt;&lt;span&gt; lets batched attention use a suitable power-of-two page size, including 256 tokens. 1k8k throughput improves by about 7% at concurrency 512. This applies to the non-prefix-caching path and is distinct from the aligned checkpoint mode introduced later.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nHOE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab7479c2-7b29-4ede-9796-9e8126a92b40_2048x756.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="537" src="https://substackcdn.com/image/fetch/$s_!nHOE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab7479c2-7b29-4ede-9796-9e8126a92b40_2048x756.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unnecessary KV-layout copies are &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2653"&gt;&lt;span&gt;avoided by selecting the reshape path based on KV-head count&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, rather than imposing a layout constraint that only other shapes need. Qwen3.5 8k1k throughput improves by about 4.1% at concurrency 512.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Reducing Padding and Low-Concurrency Overhead&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;When only four or eight requests are in flight, a configuration tuned for hundreds of concurrent requests wastes work. Compiled shape buckets are too large, metadata is sized for the configured maximum, and padding tokens trigger dummy expert work. The InferenceX operating points sit at exactly these low concurrencies, which motivated the following changes.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Request metadata is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/2513"&gt;&lt;span&gt;bucketed by the number of active requests&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of always using the configured maximum. In the 8k1k concurrency-64 test, GDN scheduling overhead falls from 283 &amp;#181;s to 97 &amp;#181;s and throughput rises from 2,328 to 2,516 tokens/chip/s.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eA0c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b683ee-7e31-401a-8a8a-31c53e253aa2_2048x819.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="582" src="https://substackcdn.com/image/fetch/$s_!eA0c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35b683ee-7e31-401a-8a8a-31c53e253aa2_2048x819.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3080"&gt;&lt;span&gt;Explicit Qwen3.5 tuning for InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; shrinks rotary tables, sizes sequence limits per DP rank, and adds a dedicated attention bucket for concurrency four. The combined gains at concurrency four are 13.3% on 8k1k and 15.5% on 1k1k.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3116"&gt;&lt;span&gt;further round of low-concurrency tuning&lt;/span&gt;&lt;/a&gt;&lt;span&gt; switches to TP8 attention plus expert parallelism, reduces the minimum token bucket, and routes padding tokens to expert zero so they do not trigger additional expert weight loads. Combined 1k1k gains are 22.9% at concurrency four and 18.1% at eight. On 8k1k, throughput rises by 9.2% at concurrency four but falls by 5.3% at concurrency eight.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Enabling Prefix Caching for Hybrid Models&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The gains above were measured on random-input benchmarks, where nothing is shared between requests. Prefix caching is crucial for agentic and multi-turn workloads, which reuse long system prompts and conversation histories. For a hybrid model, a cached prefix must retain both its KV blocks and the GDN recurrent state at the end of the prefix. That recurrent state is normally overwritten as soon as the request continues, making prefix caching harder than for &amp;#8220;regular&amp;#8221; attention models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3422"&gt;&lt;span&gt;Hybrid prefix caching with DP support&lt;/span&gt;&lt;/a&gt;&lt;span&gt; resolves this by giving GDN separate slots for reading a checkpoint and writing the live state. Continuing a request therefore no longer overwrites the checkpoint associated with its cached prefix. State addresses are derived from the block table, the same structure that already locates KV blocks. Checkpoints are taken at an aligned cache granularity so a saved state always lines up with a KV block boundary. This mode needs a full checkpoint pool rather than the compact per-request allocation described earlier, trading some HBM for reuse across requests. The benefit shows up when prefixes are actually shared.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fz3K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cd68d1-b16d-442d-87e4-ca98067ae979_2048x856.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="609" src="https://substackcdn.com/image/fetch/$s_!fz3K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cd68d1-b16d-442d-87e4-ca98067ae979_2048x856.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Lane Layout and Pipelining Depth in Paged Attention&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Two hardware facts shape how a KV cache is laid out on TPU. We discuss TPU hardware in more detail in the following section. First, the vector unit works on tiles whose last dimension is 128 lanes wide, so any array whose trailing dimension is smaller than that is padded up. Second, a Pallas kernel hides HBM latency through double-buffering. It fetches the next block while computing the current one. Both blocks must fit in VMEM, so the size of the compute block determines how deep the prefetch can be. Both constraints were costing capacity and throughput.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the batched attention kernel, the KV cache packed keys and values along the head dimension, and for FP8 that packing factor is four. A model with a single KV head per device only has two things to pack, so half of every tile was wasted on padding. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3170"&gt;&lt;span&gt;sequence-on-lane layout&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixes this by putting the page&amp;#8217;s tokens on the 128-lane axis and the head dimension on the sublane axis instead. Usable KV pages double (from 5,141 to 10,283 in the reported configuration) and the head dimension only needs to be a multiple of 32 rather than 128, which allows models with a head dim of 64 to use the kernel as well. The layout costs about 3% in per-token latency at low concurrency, but at concurrency 128 on 8k1k the extra capacity lifts throughput 16.5% and cuts median TTFT by 95%, because requests no longer wait for KV space.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6KRh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F725b7e9e-8c46-4d02-880e-5a7de8886e87_2048x915.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="651" src="https://substackcdn.com/image/fetch/$s_!6KRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F725b7e9e-8c46-4d02-880e-5a7de8886e87_2048x915.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The RPA v3 block-size heuristic had a similar blind spot. During v7x decode, it set the KV compute block equal to the KV fetch block, around 16k tokens, which left almost no VMEM for the prefetch buffer. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/tpu-inference/pull/3102"&gt;&lt;span&gt;Splitting the two&lt;/span&gt;&lt;/a&gt;&lt;span&gt; block sizes kept the KV fetch block at 16k tokens while reducing the compute block to 4k. This gave the pipeline room to run ahead of the MXU and increased decode throughput from 64.9k to 96.3k tokens per second, a 49% gain reproduced across four runs on Qwen3-0.6B. Throughput followed a clean inverted-U curve across the block-size sweep. The tuned-parameter table could not represent the improvement because it stored a single block size per shape, which is why the change first landed as an environment override. A follow-up extends the table to hold the fetch and compute sizes separately.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CgA8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c0863c-a506-404a-8522-70bcadb3a89a_2048x756.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="537" src="https://substackcdn.com/image/fetch/$s_!CgA8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c0863c-a506-404a-8522-70bcadb3a89a_2048x756.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;TPU System-Level Co-Design &amp;amp; Networking Explainer&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/tpuv7-google-takes-a-swing-at-the"&gt;&lt;span&gt;As we said in the TPU King article, Google&amp;#8217;s cost-per-token advantage on inference is a result of co-design&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Instead of focusing on maximum single-chip performance, Google designs the compute die, chip-to-chip fabric, and compiler together, allowing it to optimize computation and communication as a single system. That joint optimization helps explain Ironwood&amp;#8217;s performance per dollar. The following sections examine how the chip and network work together. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Anthropic is a big fan of TPUs and uses them heavily for training.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;The Ironwood Chip&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;TPUv7 Ironwood breaks from the &amp;#8220;MegaCore&amp;#8221; convention that defined TPU v4 and TPU v5p, where two physical cores were fused into a single logical accelerator sharing one memory space. Ironwood instead has two separate compute dies, each running its own independent logical device. These dies are joined by a high-bandwidth die-to-die link rather than a unified memory fabric. JAX and other frameworks now expose them as two distinct devices per chip. Each Ironwood chip carries 2 TensorCores and 4 third-generation SparseCores. The SparseCores accelerate embedding lookups and other sparse operations that would otherwise choke a dense matrix engine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bVa5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2690029e-8ec9-4b9e-b517-ec6d2950e8a2_1999x1130.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="823" src="https://substackcdn.com/image/fetch/$s_!bVa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2690029e-8ec9-4b9e-b517-ec6d2950e8a2_1999x1130.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://cloud.google.com/blog/products/compute/inside-the-ironwood-tpu-codesigned-ai-stack"&gt;Google&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the memory side, each chip has about 6x Trillium&amp;#8217;s HBM capacity, a jump that matters directly for KV-cache headroom and batch size. Ironwood is notably the first TPU generation with native FP8 hardware support, whereas prior generations had to emulate FP8 in software.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SQDr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e6e4785-cd71-4160-90b8-40bf02e1483e_1456x542.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="542" src="https://substackcdn.com/image/fetch/$s_!SQDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e6e4785-cd71-4160-90b8-40bf02e1483e_1456x542.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Read more on Ironwood in our TPUv7 article &lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;The MXU and Why Shapes Matter&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The Matrix Multiply Unit, the engine that actually does the multiplying, is a systolic array: a two-dimensional grid of multiply-accumulate cells. Weights are loaded into the array and held stationary. Activations stream in from the edge, and partial sums ripple through the grid cell by cell, accumulating as they go. The finished result streams out the other side without ever touching memory mid-computation. Every TPU generation through v5 used a 128x128 MXU, good for 16,384 MACs per cycle. Starting with TPU v6e and carrying through to Ironwood, the array doubled to 256x256, or 65,536 MACs per cycle, delivering 4x more FLOPs per cycle than the previous design.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Please read the &lt;/span&gt;&lt;a href="https://jax-ml.github.io/scaling-book/tpus/"&gt;&lt;span&gt;scaling book&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (aka the ML systems bible) for excellent top-tier information on TPUs and scaling in general.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The catch is that a bigger systolic array is only free if you can keep it full. Matrix dimensions need to be padded up to at least the MXU&amp;#8217;s side length in both directions, 128 on older generations or 256 on v6e and v7, and the XLA compiler dutifully pads any smaller axis to fill the tile. Every padded cell still occupies a MAC unit for that cycle, multiplying by a zero that contributes nothing to the answer. Llama 3 8B illustrates this with an attention head dimension of 128. On Ironwood&amp;#8217;s 256x256 MXU, that head dimension is exactly half the array&amp;#8217;s native width, which caps the two attention matmuls at a maximum of 50% MXU utilization (not 75%, because only the head dimension is 128).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The implication runs deeper than one model&amp;#8217;s attention layer. Architectural choices that used to be arbitrary hyperparameters (such as head dimensions, the KV head count that survives after tensor-parallel sharding, and MoE expert widths) increasingly need to be made with TPU tile geometry in mind, because a shape mismatch there is a direct tax on delivered throughput regardless of how good the rest of the stack is. Kernel authors also need to account for this explicitly. Production attention kernels like &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2604.15464v1"&gt;&lt;span&gt;ragged paged attention&lt;/span&gt;&lt;/a&gt;&lt;span&gt; use explicit packing dimensions to reduce padding when XLA&amp;#8217;s default tiling produces an inefficient layout.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;TPUs Are Picky&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;GPU matrix cores consume small tiles, so a wide range of head dimensions, expert widths, and post-sharding KV head counts all land near peak. A dimension of 64 instead of 128 pays close to nothing on an H100 or a B200 and gets a cheaper attention layer for it. GPU architecture allowed researchers to prioritize evaluations performance without a loss in inference performance. But for TPUs, this hyperparameter becomes a tradeoff&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As previously mentioned, these choices are not free on a 256-wide systolic array. By the same arithmetic that caps Llama 3 8B&amp;#8217;s attention matmuls at 50%, a head dimension of 64 caps them at 25% before a single line of kernel code is written. gpt-oss ships at 64. DeepSeek&amp;#8217;s MLA splits its query/key dimension into 128 plus 64 for a total of 192, ungainly against any power-of-two array and worse against a wide one.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!egiT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e493590-cb03-43cf-851a-816a576d2083_1876x976.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="757" src="https://substackcdn.com/image/fetch/$s_!egiT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e493590-cb03-43cf-851a-816a576d2083_1876x976.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The consequence is that bring-up cost varies enormously, and it correlates poorly with how popular a model is. A model whose shapes fall out cleanly needs scheduling, serving, and tuning work, which is measured in weeks. A model that fights the tile geometry needs new kernels before it is even at parity, let alone winning on performance per dollar. Kernel engineers are finite, so sequencing externalization toward models where the hardware is not starting a lap down is the rational move, and we would expect the same behavior from any accelerator vendor in this position.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Torus Topology&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Inference and training at scale run across thousands of chips that need to talk to each other constantly. TPUs connect P2P over a custom network called ICI (Inter-Chip Interconnect). ICI bypasses the host CPU entirely, allowing chips to exchange activations and gradients directly instead of routing them through PCIe and a general-purpose NIC. The topology behind ICI has evolved generation over generation: TPU v2 and v3 used a 2D torus with each chip wired to 4 neighbors, and starting with TPU v4 and v5p, Google moved to a 3D torus with each chip wired to 6 neighbors along the +/-X, +/-Y, and +/-Z axes. Ironwood (TPUv7) keeps that 3D torus. The fundamental building block is a 4x4x4 cube of 64 chips, sized to map cleanly onto one physical server rack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!17HU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07dc2e7-090b-472a-a2bf-82c6fbb1cb67_1456x1956.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1956" src="https://substackcdn.com/image/fetch/$s_!17HU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff07dc2e7-090b-472a-a2bf-82c6fbb1cb67_1456x1956.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The difference between a torus and a plain grid is its wraparound links. Connecting the ends of a line forms a ring, cutting the worst-case hop distance from N to N/2. It&amp;#8217;s the same trick that makes Pac-Man&amp;#8217;s maze feel smaller than it is. Google pushes this further with a &amp;#8220;twisted torus,&amp;#8221; a Mobius-strip-like wraparound that shaves the average hop count down even more. To scale beyond a single 4x4x4 cube, Google stitches cubes together using Optical Circuit Switches, which preserve the wraparound property across a much larger reconfigurable topology, scaling all the way up to Ironwood&amp;#8217;s full 9,216-chip superpod and its 42.5 FP8 exaflops of aggregate compute. The operational payoff of OCS is that Google can physically rewire around a failed link or a dead chip in seconds, using mirrors rather than sending a technician to re-splice copper in a live data center.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wlNi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7f1e6f-b854-4da5-b6c1-8f1bbdb49cb8_1456x1505.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1505" src="https://substackcdn.com/image/fetch/$s_!wlNi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7f1e6f-b854-4da5-b6c1-8f1bbdb49cb8_1456x1505.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This scale-out design was revolutionary at the time. Before NVL72 racks, models that could not fit within a single 8-GPU node had to use pipeline parallelism because inter-node InfiniBand was slow. On a TPU pod, the ICI torus gives NVLink-class bandwidth across the entire pod, up to 8,960 chips on v5p. With this bandwidth, a DSV3-scale model can be sharded across the whole pod using tensor parallelism, expert parallelism, and data parallelism (FSDP-style weight sharding), without splitting layers across pipeline stages.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although a TPU torus has more hops than a single-hop NVLink switched design, our upcoming CollectiveX/NetworkingX results show that, in many cases, the TPU torus has lower latency than a single-hop NVSwitch for small EP messages.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Looking Ahead: TPUv8i&amp;#8217;s Boardfly Network&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Google&amp;#8217;s newly announced eighth-generation TPU lineup has two purpose-built chips: TPU 8t for training and TPU 8i for inference. This is the first time Google has separated training and inference into distinct architecture designs rather than shipping one architecture tuned for both. TPU 8t keeps the 3D torus lineage alive for scale-up, but TPU 8i replaces the torus with a new topology called &amp;#8220;Boardfly.&amp;#8221; The name nods to dragonfly-style high-radix network designs long used in supercomputing. Boardfly uses a flatter, hierarchical fabric of high-radix switches rather than a nearest-neighbor mesh. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-networking-model/"&gt;&lt;span&gt;The Boardfly topology affects networking attachment capex per chip.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The payoff is a network diameter cut by more than 50% versus a similarly sized 3D torus, roughly 16 hops down to about 7 hops at comparable scale in the 1,024 to 1,152-chip range. Fewer hops mean materially lower tail latency on collective operations, and that matters enormously once you are routing tokens across MoE layers or running multi-turn agentic workloads where every extra hop compounds into user-visible latency. TPU 8i backs this up with 19.2 Tb/s of ICI bandwidth, double the prior generation, and 384 MB of on-chip SRAM, 3x the previous generation, sized specifically to hold the KV cache of reasoning and agentic models on-chip rather than round-tripping to HBM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3iro!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cff324-fa52-4b79-b901-80da6f9345a9_2000x1268.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="923" src="https://substackcdn.com/image/fetch/$s_!3iro!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cff324-fa52-4b79-b901-80da6f9345a9_2000x1268.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Google&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;None of this hardware headroom pays off on its own, though. Turning a lower-diameter network and a bigger on-chip cache into cost-per-token gains still requires the software stack to catch up. The next section covers the roadmap for doing so, including speculative decoding, prefill-decode disaggregation, and the broader model support needed to take full advantage of TPUv8 in production.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Next Steps in Laying the TPU Foundation&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;These preview results establish a starting point for further optimization on the same hardware. We expect performance to improve as TPU externalization continues, with substantial work still needed across the software stack.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Enabling &amp;amp; Optimizing Spec Decoding (MTP)&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The first area the Google team needs to focus on is on optimizing speculative decoding. A cheap, small drafter guesses several tokens ahead, the main model verifies all of them in a single forward pass, and any guess that doesn&amp;#8217;t match is thrown away. Everything that survives is identical to what the model would have produced on its own. Speculative decoding is lossless, with zero quality degradation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The reason it works is that decode is bandwidth bound, not compute bound. To emit a single token for a single user, you stream the entire model&amp;#8217;s weights out of HBM. That weight read is the dominant cost, and the cost barely changes whether you verify one token or five. The matrix units sit mostly idle while the memory system does all the work. Speculative decoding spends that idle compute to amortize one very expensive weight read across several tokens, which is why methods that draft multiple tokens at once, like MTP or DSpark, are so cheap and so effective.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ObRL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9126a39f-54f9-4df1-bd09-4d0d64deaf17_2048x559.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="397" src="https://substackcdn.com/image/fetch/$s_!ObRL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9126a39f-54f9-4df1-bd09-4d0d64deaf17_2048x559.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://vllm.ai/blog/2024-10-17-spec-decode"&gt;Source: vLLM&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Prefill-Decode Disaggregation &amp;amp; KV-cache Offloading&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Prefill-decode (PD) disaggregation is another optimization the TPU team is working to externalize. It separates prefill and decode across distinct TPU pools, allowing each pool to be tuned and scaled independently to match the workload.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FX9c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282af9ce-a0c4-4c7b-8053-00026f16f945_1112x548.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!FX9c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282af9ce-a0c4-4c7b-8053-00026f16f945_1112x548.png" width="1112" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: DistServe&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google has been running PD disaggregation internally for Gemini serving for ages, but work to externalize it began only a couple of months ago. That work includes TPU support in llm-d and the open-sourcing of TPU-Sync (formerly TPU-raiden), Google&amp;#8217;s disaggregated KV-cache transfer library. TPU-Sync works natively with JAX and the native TorchTPU stack, and can perform zero-copy transfers by extracting native PJRTBuffer hardware descriptors. With disaggregated PD, we believe TPUv7 can be a strong competitor to GB200/GB300 and even beat them on performance per dollar.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/google/tpu-sync"&gt;&lt;span&gt;TPU-Sync also supports native TPU KV-cache DRAM offloading&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which is needed for large models and medium-to-large batch sizes, where HBM can no longer hold the KV cache for all users. It is great to see Google externalizing its DRAM offloading optimizations to the public as well.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Tn-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a1acf1-77d0-4c16-85da-9a046d56f2f8_1974x1342.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="990" src="https://substackcdn.com/image/fetch/$s_!Tn-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a1acf1-77d0-4c16-85da-9a046d56f2f8_1974x1342.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/google/tpu-sync"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Google is externalizing its native TPU offloading stack and &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/issues/2662"&gt;&lt;span&gt;supporting the industry-standard Mooncake Store offloading library&lt;/span&gt;&lt;/a&gt;&lt;span&gt; along with Mooncake Store&amp;#8217;s DRAM P2P pooling support. We believe Mooncake Store support will be implemented using the primitives in tpu-sync.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q_Mm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6b5d7e-af79-484b-bcf7-ebc50d36c3e3_2048x1204.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="856" src="https://substackcdn.com/image/fetch/$s_!q_Mm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6b5d7e-af79-484b-bcf7-ebc50d36c3e3_2048x1204.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/issues/2662"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With P2P pooling, the KV-cache storage on each TPU host is aggregated into a single logical memory pool, so a TPU on any server can access KV cache from any other server. This unifies memory contributions from multiple nodes into one shared logical pool.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hqEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff51b3df9-ffa4-408f-b617-1eb3dde40740_2039x975.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="696" src="https://substackcdn.com/image/fetch/$s_!hqEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff51b3df9-ffa4-408f-b617-1eb3dde40740_2039x975.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Mooncake&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://kvcache.ai/blog/scaling-kv-cache-beyond-memory/"&gt;&lt;span&gt;Furthermore, Mooncake Store pools NVMe storage from multiple servers into a single logical pool&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in addition to supporting traditional distributed filesystem backends like WEKA/Vast.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;AgentX TPU&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;KV-cache offloading is especially important for long-context, multi-turn agentic workloads, where optimized KV-cache storage can enable high KV-cache hit rates.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At a high level, an agentic workload is characterized by four elements:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-turn: a session includes tens or hundreds of interactions between the user and assistant, compared with a handful in a chatbot scenario. These workloads combine long contexts and high prefill reuse with sub-agent bursts and numerous tool calls.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Long context: system prompts, tool definitions, and the large number of turns make context accumulate quickly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;High prefix reuse: since the conversation progresses linearly, where output from turn n-1 is concatenated to turn n (typically), most context can be served from KV cache rather than recomputed (this depends on the amount of storage available to store KV tensors). As n grows, the ratio of cached input relative to uncached typically tends towards 1.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Sub-agent bursts: a session launches multiple short-lived sub-agents with fresh context, which create bursty KV-cache patterns.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;We are hearing that many Google TPU customers are already asking for AgentX performance results, and we are excited to announce that we are working to bring TPUs to AgentX too!&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QQ6I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca94316-e44c-4bec-9d0a-041ad73df31e_2048x909.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!QQ6I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ca94316-e44c-4bec-9d0a-041ad73df31e_2048x909.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: DeepSeek, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Ironwood has no native FP4, so for now the fair apples-to-apples comparison is against FP8 Blackwell: FP8 vs FP8 carries no quality loss, whereas FP4 vs FP8 introduces a quality difference on the FP4 side. Google&amp;#8217;s TPUv8i does have native FP4 acceleration, so when we bring up TPUv8i on InferenceX/AgentX, we will compare FP4 to FP4.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We strongly believe that building native vLLM and SGLang support on native TorchTPU&amp;#8217;s stable foundation is the right direction for TPU externalization. TorchTPU is meant to replace the previous TorchAX stack, which will soon be deprecated. Google will next work to enable Kimi K3 and GLM5.3 on single-turn and/or agentic workloads like AgentX, along with Google&amp;#8217;s own open-weight models such as Gemma4. Once a few models are running on the TorchTPU stack, adding new ones will become far easier, and TPU support will land much closer to day 0.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Rome wasn&amp;#8217;t built on day 0, so we shouldn&amp;#8217;t expect the externalization of TPUs to happen instantly. But we strongly believe that it is happening at an extremely rapid pace.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;TPU Cost Effective Total Cost of Ownership&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Our full BOM and TCO estimates for TPUv7 are enumerated in the &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;SemiAnalysis AI TCO Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. A structural overview is below.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-07T12:00:18+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/koreas-trillion-dollar-sovereign</id>
    <title>Korea’s Trillion-Dollar Sovereign AI Investment: Nvidia Wins, Hynix Loses</title>
    <updated>2026-09-01T12:14:32+00:00</updated>
    <author>
      <name>Max Kan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;Every day, businesses and governments around the world are becoming increasingly reliant on America&amp;#8217;s frontier models. Startup CEOs already can&amp;#8217;t imagine running their companies without AI, and it won&amp;#8217;t be long until the same is true for every other organization in the world.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the same time, it&amp;#8217;s become abundantly clear that access to frontier models is at the mercy of Anthropic, OpenAI, and the United States government. Fable 5 was temporarily banned by the USG, and GPT 5.6 and Astra were similarly delayed. Both models have cyber, bio, and other safety safeguards that, though well-intentioned, often prevent good users from completing harmless tasks. Given recent &lt;/span&gt;&lt;a href="https://openai.com/index/hugging-face-model-evaluation-security-incident/"&gt;&lt;span&gt;security incidents&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and general worries about increasingly powerful AI, it is extremely likely that frontier model usage will only become more restricted from here. In fact, we believe it&amp;#8217;s plausible &lt;/span&gt;&lt;strong&gt;&lt;span&gt;OpenAI/Anthropic will eventually stop offering API access entirely for their most capable models.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Open source seems like the obvious solution to all these dependency concerns, but it&amp;#8217;s far from a silver bullet. First, all the &amp;#8220;open source&amp;#8221; licenses are starting to become increasingly restrictive. As just one example, any &amp;#8220;model as a service business&amp;#8221; making over $20M a year must negotiate a separate agreement with Moonshot to serve Kimi K3. Second, just because a lab open sources their models today doesn&amp;#8217;t guarantee they&amp;#8217;ll continue doing so in the future. Imagine if in 2028, you&amp;#8217;re stuck with 2027 level intelligence for some extremely high-value use case because no relevant model is open source and everything has to stay on-prem for security reasons. It&amp;#8217;s kind of like having your Fable request downgraded to Opus except 100x worse.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2x7V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29f41fc-660c-4609-a423-a38f3ccf2f11_884x862.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="862" src="https://substackcdn.com/image/fetch/$s_!2x7V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29f41fc-660c-4609-a423-a38f3ccf2f11_884x862.png" width="884" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Open source token volumes have increased significantly over the past month. Source: OpenRouter&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The only way to fully address these concerns is to pretrain your own model that runs on your own GPUs. Until now, this has largely been a question for companies: do the potential benefits justify the enormous investment required? &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Soon, however, this same calculation will confront every major nation state.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Today, we&amp;#8217;ll do a deep dive on South Korea&amp;#8217;s sovereign AI efforts. Beyond being home to two of the most important companies in the AI supply chain, Korea also has a long tradition of technological self-reliance (as any foreigner that&amp;#8217;s had to use Naver Maps knows) and is currently the clear leader in sovereign AI.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;From there, we&amp;#8217;ll discuss the two major implications for investors: why Nvidia is sovereign AI&amp;#8217;s largest supporter and why Korea&amp;#8217;s ambitions may not be aligned with Samsung and Hynix shareholders.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Korean Squid Games - National AI Tournament: attempting to build a domestic frontier model&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In June 2025, the Korean government announced &amp;#8220;&amp;#46021;&amp;#51088; AI &amp;#54028;&amp;#50868;&amp;#45936;&amp;#51060;&amp;#49496; &amp;#47784;&amp;#45944;&amp;#8221;, or the &amp;#8220;Independent AI Foundation Model&amp;#8221; project. As the name suggests, the goal is to develop a model that Korean organizations can train, modify, and operate without depending on a foreign AI lab.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Perhaps the most interesting thing about the project is its structure. Rather than selecting a single national champion upfront, the government is hosting a tournament. All participants are provided subsidies for the three pillars of AI&amp;#8212;compute, data, and researchers&amp;#8212;and evaluated every 6 months. At each stage, losers are eliminated and have their resources reallocated towards the winners.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The competition &lt;/span&gt;&lt;a href="https://eiec.kdi.re.kr/policy/materialView.do?num=269498"&gt;&lt;span&gt;began with 15 consortiums&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Ten passed the initial document review, and five were selected in August 2025: Naver Cloud, LG AI Research, SK Telecom, NC AI, and Upstage. Most readers are likely entirely unaware of any of these companies&amp;#8217; AI efforts, but some of them are surprisingly credible. SKT, LG, and Naver all pre-trained LLMs pre-ChatGPT for example.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The exact subsidies varied by team. For the first round, the government rented ~3000 H100 equivalents from SKT and Naver and distributed them to the other 3 contestants. They also spent ~$45M USD on data. Most of this was paid to Korean companies for things like books, news articles, and video broadcasts, which&amp;#8212;along with some Korean government records&amp;#8212;were shared among all the contestants. However, they also gave each company ~$2M to buy data themselves. Lastly for researchers, the government offered each company ~$1.4M to try recruiting overseas talent, but only Upstage took them up on the offer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Surviving teams will be given additional resources as the tournament progresses, but the total government budget of &lt;/span&gt;&lt;a href="https://www.news1.kr/it-science/general-it/5868735"&gt;&lt;span&gt;~$350M&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is still a rounding error compared to US labs. However, as we&amp;#8217;ll explain later in this article, this is just a small portion of Korea&amp;#8217;s planned AI investment. Additionally, their results so far show that training a decent model from scratch may be cheaper than most think.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The original plan was to go from 5 teams to 4 to 3 and then finally 2, with each round lasting roughly 6 months. The two winners would be selected at the end of 2026, and the government would give them additional resources to scale up their models throughout 2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, there was some unexpected drama at the end of round 1!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The 5 teams were judged 40% based on benchmark scores, 35% on expert review, and 25% on user testing. NC finished last, which means the other 4 teams should&amp;#8217;ve moved on, but the government decided to disqualify Naver as well. This is because they used vision and audio encoders from Alibaba&amp;#8217;s Qwen model family.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In Naver&amp;#8217;s defense, these are separate neural networks whose outputs are then fed into the main LLM, and the Korean government was originally unclear about what contestants could vs couldn&amp;#8217;t use from open source. It was only after the submissions were made that the government decided foreign architectures were allowed, but even auxiliary components must be trained and developed after initializing the weights.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Naver maintained that they&amp;#8217;d already developed their own encoders and could replace the Qwen pieces at any time, but the government was predictably stringent and refused to reinstate them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Now short 1 team, the Korean government decided to host a supplemental competition to find a new 4th contestant and ultimately selected Motif Technologies, a neolab that spun out of Moreh, a Korean AI infra software company&amp;#8212;in February 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;All 4 companies open sourced their newest models in July and the results for the most recent round were announced on August 18th. But before we spoil the results, let&amp;#8217;s take a look at the models.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;So how good are their models?&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Here&amp;#8217;s an overview of the 4 models:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KijA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e691bf-4cfa-41e1-8111-ac8af06b0257_2034x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="644" src="https://substackcdn.com/image/fetch/$s_!KijA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e691bf-4cfa-41e1-8111-ac8af06b0257_2034x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And here&amp;#8217;s how they compare on the benchmarks:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_frZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc052c93e-d099-4681-941c-676ce171c02c_1480x1178.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1159" src="https://substackcdn.com/image/fetch/$s_!_frZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc052c93e-d099-4681-941c-676ce171c02c_1480x1178.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As you can see, the two startups (Motif and Upstage) significantly outperformed teams backed by bona fide chaebols. The fact that their models are less than half the size is even more impressive.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On Artificial Analysis&amp;#8217; Intelligence Index, Motif 3 is 10 points ahead of Upstage and by far the best Korean model. What&amp;#8217;s even more notable, however, is the fact that it&amp;#8217;s comfortably ahead of both Inkling and Nemotron 3 Ultra&amp;#8212;the two best American open source models today.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Iu5p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f0619b-8a76-4656-bb09-b069674d5064_2032x1133.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="812" src="https://substackcdn.com/image/fetch/$s_!Iu5p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f0619b-8a76-4656-bb09-b069674d5064_2032x1133.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Artificial Analysis, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Motif is a &lt;/span&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7485122160470978561/"&gt;&lt;span&gt;sub 30&lt;/span&gt;&lt;/a&gt;&lt;span&gt; person startup that released their first pre-trained model, which was only &lt;/span&gt;&lt;a href="https://huggingface.co/Motif-Technologies/Motif-2.6B"&gt;&lt;span&gt;2.6B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; total parameters, last June. They&amp;#8217;ve raised just $17M and have access to a mere 768 B200s (&amp;lt; 2MW).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In contrast, Thinking Machines is the hottest neolab around, raised $2B at $12B post for their seed, and signed a 1GW+ compute deal with Nvidia which was accompanied by additional funding. As for Nvidia itself, the resources at its disposal hardly need mentioning.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L6hu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feacee1dc-1958-4654-993c-0aad4468e95b_1926x721.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="545" src="https://substackcdn.com/image/fetch/$s_!L6hu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feacee1dc-1958-4654-993c-0aad4468e95b_1926x721.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Put differently, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;a tiny Korean startup you&amp;#8217;ve likely never heard of trained&amp;#8212;from scratch and on a shoestring budge&amp;#8212;the best non-Chinese open source model in the world&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The point here is not to diss Thinking Machines or Nvidia. Training open source models is neither of their core businesses. Instead, we want to highlight that training a near-SOTA open source model from scratch is likely less resource intensive than most think. There&amp;#8217;s no substitute for focus, and the total compute cost to train Motif 3, including experimentation, was just &lt;/span&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7485122160470978561/"&gt;&lt;span&gt;~$15M USD&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at today&amp;#8217;s prices. This is obviously well within budget for every major nation state.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Questionable judgement from the Korean government&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/are-open-models-catching-up"&gt;&lt;span&gt;previously&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-coding-assistant-breakdown-more"&gt;&lt;span&gt;written&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in-depth about the many issues with benchmarks, but they still tend to be directionally correct. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;A 10+ point gap on something like the Artificial Analysis Intelligence Index has almost always corresponded to a step change improvement in model capability&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (e.g. GPT 4o to o1 or Opus 4.8 to Fable 5).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With this in mind, we were shocked to see that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Motif was the one company eliminated in the latest round of competition. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Maybe you could argue that the model is benchmaxxed and thus didn&amp;#8217;t deserve to be first, but finishing dead last is baffling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Remember that competitors were scored on three categories: 40% benchmarks, 35% expert review, and 25% user testing. Although Motif scored the best on benchmarks, they ranked last for the other two.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5PdN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19edd74-5f21-4858-a836-7b904b3fec87_2321x969.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="608" src="https://substackcdn.com/image/fetch/$s_!5PdN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19edd74-5f21-4858-a836-7b904b3fec87_2321x969.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The exact methodology for these last two sections is frustratingly opaque. For user testing, we have no idea what tasks people actually used the model for or what criteria they considered to judge the models. Additionally, none of the testing was blind, so it&amp;#8217;s possible users had some bias towards the more famous companies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The expert review section is even more questionable. Essentially, 10 external experts graded all four models on things like &amp;#8220;development strategy&amp;#8221;, &amp;#8220;future plans&amp;#8221;, and &amp;#8220;ecosystem impact&amp;#8221;. As for what these words actually mean, your guess is as good as ours, but it seems clear that some categories disproportionately benefit large companies like LG and SKT. We also heard that the expert reviewers were concerned Motif&amp;#8217;s technology could be transferred overseas via foreign investors. This is quite puzzling, as one of the requirements of the competition is that all of the technical components must be open sourced.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We think it&amp;#8217;s a real shame Motif will no longer get any government support now that they&amp;#8217;ve been eliminated from the competition. The whole point of a sovereign AI program is to rally your domestic AI talent to build a high quality model. Motif demonstrated that they&amp;#8217;re capable of exactly this, and the government should be utilizing its reach and resources to help them with things like &amp;#8220;future plans&amp;#8221; and &amp;#8220;ecosystem impact&amp;#8221;&amp;#8212;not punish them for it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Now, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Motif may be forced to relocate out of Korea in order to acquire the capital and compute required to continue their research&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. This is perhaps the most ironic possible result for the surprise standout of your national AI tournament. Hopefully other countries can do better as they pursue their own sovereign AI efforts.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;A trillion dollars worth of datacenters&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With that being said, South Korea&amp;#8217;s ultimate AI champion will be very well resourced. In July, they &lt;/span&gt;&lt;a href="https://www.datacenterdynamics.com/en/news/south-korea-announces-919bn-investment-into-three-mega-projects-plans-to-build-184gw-worth-of-data-centers-by-2035/"&gt;&lt;span&gt;announced&lt;/span&gt;&lt;/a&gt;&lt;span&gt; a monster $919B investment to build 8.4GWs by 2029 and 18.4GWs by 2035. For the first phase, SK Group, GS Group, and Naver will be building 5GW, 2.4GW, and 1GW respectively. SK Group is additionally responsible for the remaining 10GWs for phase 2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve already identified 3 active sites for phase 1 totaling 4.4GWs. For full details including the exact location, MW ramp, and power source, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yOTL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2ebd34-0ee3-486d-b00b-51b4d875c150_1120x840.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="840" src="https://substackcdn.com/image/fetch/$s_!yOTL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2ebd34-0ee3-486d-b00b-51b4d875c150_1120x840.png" width="1120" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Naver&amp;#8217;s 1GW site in Sejong, South Korea. Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Although these timelines are aggressive, we believe they are achievable. The regulatory environment is favorable, and President Lee Jae-myung is explicitly framing AI infra as a legacy-defining project akin to Korea&amp;#8217;s broadband push in the 1990s. Throughout the 2000s and 2010s, Korea had uniquely cheap and fast internet, which is what enabled their local search, e-commerce, and esports industries.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To be clear, not all of this capacity is intended to support Korea&amp;#8217;s sovereign AI efforts, and much of it will likely be sold to Anthropic or OpenAI. Importantly, however, Korea will have the optionality to dramatically scale up their sovereign AI efforts if necessary, and this domestic compute ramp is something more countries outside of the US and China will likely copy.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Why Nvidia needs open source and sovereign AI&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Jensen recently made his Twitter &lt;/span&gt;&lt;a href="https://x.com/JensenHuang/status/2080643682408321103?s=20"&gt;&lt;span&gt;debut&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with a manifesto on the importance of open source AI. It was later co-signed by basically every relevant AI company except Anthropic. Here&amp;#8217;s an excerpt:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;Our AI leadership will be judged not by one frontier AI model, but by whether the United States builds a strong, open ecosystem that diffuses into every sector. This is essential for creating opportunities for innovation and prosperity across the country. It requires expanding access to AI, encouraging competition, robust application layers, and giving Americans greater control over the technology they rely on. Open weight models&amp;#8212;AI models that anyone can download, inspect, modify, and run on their own infrastructure&amp;#8212;are an important part of that foundation because they make advanced AI more accessible, adaptable, and widely available.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Much of the discourse around open source AI tends to wax poetic about the democratization of intelligence and decentralization of technological power. However, look under the hood and it&amp;#8217;s often just people talking their book.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;No one needs open source AI more than Nvidia. As we previously explained to &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; subscribers, selling frontier tokens at API prices is the highest ROI use case of incremental compute. Anthropic plus OpenAI are therefore set to take a larger and larger percentage of net new GWs in the future, and Nvidia is currently on track for a world where they only have 2 real customers. Sure maybe the number&amp;#8217;s 7 if you include the hyperscalers, but that&amp;#8217;s still obviously unacceptable for the world&amp;#8217;s largest company. This is doubly true when all 7 customers except SpaceX are actively trying to build their own XPUs to cannibalize Nvidia&amp;#8217;s margins.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One of the most famous competitive strategies in tech is to &amp;#8220;&lt;/span&gt;&lt;a href="https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/"&gt;&lt;span&gt;commoditize your complements&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;. The general idea is that as something becomes cheaper and more abundant, demand for everything that goes well with it increases. This explains why companies will often &amp;#8220;give away&amp;#8221; things for &amp;#8220;free&amp;#8221;. Classic examples include 1) Google offering Chrome for free and open-sourcing Android, which increased access to the web and made search advertising more valuable and 2) Microsoft retaining the right to license MS-DOS to IBM&amp;#8217;s competitors, which helped turn the PC into a commodity hardware platform.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In Nvidia&amp;#8217;s case, AI models and applications are the complements to its GPUs. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;The long-term health of their business depends on a vibrant, diverse AI ecosystem that exists outside of just Anthropic and OpenAI.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Their recently announced &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-partners-with-apollo-blackrock-blackstone-brookfield-goldman-sachs-and-kkr-to-establish-ai-compute-infrastructure-financing-platforms-to-mobilize-over-500-billion-of-third-party-capital"&gt;&lt;span&gt;$500B MOU&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with the world&amp;#8217;s largest capital allocators is just one example of the clever financial engineering Nvidia can do to make this vision a reality. By making &amp;#8220;Nvidia AI Factory Compute&amp;#8221; an &amp;#8220;investable asset class,&amp;#8221; the SSIs and Thinking Machines of the world have a way to leverage capital from pension funds, insurance companies, and private credit firms to buy enormous amounts of compute.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KLHt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227673ba-d611-4c22-8ff0-db2f95333de3_2048x1210.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="860" src="https://substackcdn.com/image/fetch/$s_!KLHt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227673ba-d611-4c22-8ff0-db2f95333de3_2048x1210.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Sovereign AI is another huge opportunity for Nvidia to diversify their customer base. SK Group has already &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/sk-group-and-nvidia-expand-strategic-partnership-across-ai-factories-and-next-generation-memory"&gt;&lt;span&gt;committed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to building 2 GWs of Rubin as part of their 5GW buildout, and Naver has &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/naver-nvidia-and-brookfield-to-expand-koreas-national-ai-factory-infrastructure-buildout"&gt;&lt;span&gt;signed on&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for another 200MW. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We expect Jensen to continue announcing similar deals with additional countries.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Datacenter Bet and Memory&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;From a sovereign AI perspective, Korea&amp;#8217;s investment in government- and corporate-owned data centers and GPU clusters makes complete sense. A sovereign model ultimately requires sovereign infrastructure: domestic control over where the model is trained, how it is deployed, and who can access the underlying compute.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Korea&amp;#8217;s challenge is that it still lacks a scaled domestic provider of leading-edge accelerators. Rebellions and FuriosaAI are making some progress, but they remain objectively behind Nvidia and AMD in deployment scale, software maturity, and commercial availability. Hyperscaler-developed alternatives such as Google&amp;#8217;s TPUs and AWS&amp;#8217;s Trainium are not domestically controlled either.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The buildout of data centers essentially comes down to two things: capital and compute. Capital is the easier problem in our view. The Korean government has been prioritizing AI investment over the past few years, while Naver, SK Telecom, Samsung, SK Hynix, and other leading domestic tech companies are committing significant resources to data centers, AI infrastructure, and model development. Compute on the other hand, is another story. Korea can finance land, power, cooling, and buildings, but it cannot manufacture a globally competitive accelerator ecosystem just like the majority of countries in the world&amp;#8212;or guarantee access to the latest platforms&amp;#8212;simply by spending more money.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If Korea&amp;#8217;s objective is merely to establish a domestic AI ecosystem, a conventional supplier relationship with Nvidia may be sufficient. If it wants to become one of the world&amp;#8217;s leading sovereign AI players, however, it will need something deeper: greater roadmap visibility, close technical integration, reliable access to new compute platforms, and support for developing the surrounding domestic ecosystem.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is why Nvidia&amp;#8217;s expanded relationships with Samsung and SK Hynix matter in this context. Samsung reportedly plans to build an Nvidia-powered AI factory &lt;/span&gt;&lt;a href="https://investor.nvidia.com/news/press-release-details/2025/NVIDIA-and-Samsung-Build-AI-Factory-to-Transform-Global-Intelligent-Manufacturing/default.aspx"&gt;&lt;span&gt;using&lt;/span&gt;&lt;/a&gt;&lt;span&gt; more than 50,000 GPUs, while SK Telecom&amp;#8217;s announced 2GW DSX AI factory is expected to deploy Vera Rubin systems powered by SK Hynix HBM4. While the public announcement does not disclose preferential GPU allocation or guaranteed volumes, deeper strategic alignment should strengthen Korea&amp;#8217;s ability to plan and deploy leading-edge compute&amp;#8212;something far more difficult than simply constructing the data centers that house it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Against this backdrop, we believe Nvidia&amp;#8217;s plans extend beyond just acquiring a large sovereign compute customer. As we &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/samsung-better-hbm-pricing-than-sk-hynix-in-2027-nvidias-2027-hbm-pricing-outlook-server-oem-memory-crunch-sk-hynix-samsung-earnings-reconciliation/"&gt;&lt;span&gt;previously explained&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Memory Model &lt;/span&gt;&lt;/a&gt;&lt;span&gt;subscribers, we believe Korea&amp;#8217;s infrastructure buildout also gives Nvidia an opportunity to deepen its relationship with SK Hynix, one of its most important memory suppliers and a key affiliate within the broader SK Group. We believe Nvidia has likely secured a long-term agreement for SOCAMM, along with favorable HBM pricing and large volume commitments for 2027, although the final negotiation result could vary from our current estimate.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Expanding Beyond Memory Across the AI Infrastructure Stack Comes at a Cost&lt;/span&gt;&lt;/h3&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/koreas-trillion-dollar-sovereign"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/koreas-trillion-dollar-sovereign"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;Every day, businesses and governments around the world are becoming increasingly reliant on America&amp;#8217;s frontier models. Startup CEOs already can&amp;#8217;t imagine running their companies without AI, and it won&amp;#8217;t be long until the same is true for every other organization in the world.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the same time, it&amp;#8217;s become abundantly clear that access to frontier models is at the mercy of Anthropic, OpenAI, and the United States government. Fable 5 was temporarily banned by the USG, and GPT 5.6 and Astra were similarly delayed. Both models have cyber, bio, and other safety safeguards that, though well-intentioned, often prevent good users from completing harmless tasks. Given recent &lt;/span&gt;&lt;a href="https://openai.com/index/hugging-face-model-evaluation-security-incident/"&gt;&lt;span&gt;security incidents&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and general worries about increasingly powerful AI, it is extremely likely that frontier model usage will only become more restricted from here. In fact, we believe it&amp;#8217;s plausible &lt;/span&gt;&lt;strong&gt;&lt;span&gt;OpenAI/Anthropic will eventually stop offering API access entirely for their most capable models.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Open source seems like the obvious solution to all these dependency concerns, but it&amp;#8217;s far from a silver bullet. First, all the &amp;#8220;open source&amp;#8221; licenses are starting to become increasingly restrictive. As just one example, any &amp;#8220;model as a service business&amp;#8221; making over $20M a year must negotiate a separate agreement with Moonshot to serve Kimi K3. Second, just because a lab open sources their models today doesn&amp;#8217;t guarantee they&amp;#8217;ll continue doing so in the future. Imagine if in 2028, you&amp;#8217;re stuck with 2027 level intelligence for some extremely high-value use case because no relevant model is open source and everything has to stay on-prem for security reasons. It&amp;#8217;s kind of like having your Fable request downgraded to Opus except 100x worse.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2x7V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29f41fc-660c-4609-a423-a38f3ccf2f11_884x862.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="862" src="https://substackcdn.com/image/fetch/$s_!2x7V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29f41fc-660c-4609-a423-a38f3ccf2f11_884x862.png" width="884" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Open source token volumes have increased significantly over the past month. Source: OpenRouter&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The only way to fully address these concerns is to pretrain your own model that runs on your own GPUs. Until now, this has largely been a question for companies: do the potential benefits justify the enormous investment required? &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Soon, however, this same calculation will confront every major nation state.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Today, we&amp;#8217;ll do a deep dive on South Korea&amp;#8217;s sovereign AI efforts. Beyond being home to two of the most important companies in the AI supply chain, Korea also has a long tradition of technological self-reliance (as any foreigner that&amp;#8217;s had to use Naver Maps knows) and is currently the clear leader in sovereign AI.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;From there, we&amp;#8217;ll discuss the two major implications for investors: why Nvidia is sovereign AI&amp;#8217;s largest supporter and why Korea&amp;#8217;s ambitions may not be aligned with Samsung and Hynix shareholders.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Korean Squid Games - National AI Tournament: attempting to build a domestic frontier model&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In June 2025, the Korean government announced &amp;#8220;&amp;#46021;&amp;#51088; AI &amp;#54028;&amp;#50868;&amp;#45936;&amp;#51060;&amp;#49496; &amp;#47784;&amp;#45944;&amp;#8221;, or the &amp;#8220;Independent AI Foundation Model&amp;#8221; project. As the name suggests, the goal is to develop a model that Korean organizations can train, modify, and operate without depending on a foreign AI lab.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Perhaps the most interesting thing about the project is its structure. Rather than selecting a single national champion upfront, the government is hosting a tournament. All participants are provided subsidies for the three pillars of AI&amp;#8212;compute, data, and researchers&amp;#8212;and evaluated every 6 months. At each stage, losers are eliminated and have their resources reallocated towards the winners.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The competition &lt;/span&gt;&lt;a href="https://eiec.kdi.re.kr/policy/materialView.do?num=269498"&gt;&lt;span&gt;began with 15 consortiums&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Ten passed the initial document review, and five were selected in August 2025: Naver Cloud, LG AI Research, SK Telecom, NC AI, and Upstage. Most readers are likely entirely unaware of any of these companies&amp;#8217; AI efforts, but some of them are surprisingly credible. SKT, LG, and Naver all pre-trained LLMs pre-ChatGPT for example.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The exact subsidies varied by team. For the first round, the government rented ~3000 H100 equivalents from SKT and Naver and distributed them to the other 3 contestants. They also spent ~$45M USD on data. Most of this was paid to Korean companies for things like books, news articles, and video broadcasts, which&amp;#8212;along with some Korean government records&amp;#8212;were shared among all the contestants. However, they also gave each company ~$2M to buy data themselves. Lastly for researchers, the government offered each company ~$1.4M to try recruiting overseas talent, but only Upstage took them up on the offer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Surviving teams will be given additional resources as the tournament progresses, but the total government budget of &lt;/span&gt;&lt;a href="https://www.news1.kr/it-science/general-it/5868735"&gt;&lt;span&gt;~$350M&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is still a rounding error compared to US labs. However, as we&amp;#8217;ll explain later in this article, this is just a small portion of Korea&amp;#8217;s planned AI investment. Additionally, their results so far show that training a decent model from scratch may be cheaper than most think.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The original plan was to go from 5 teams to 4 to 3 and then finally 2, with each round lasting roughly 6 months. The two winners would be selected at the end of 2026, and the government would give them additional resources to scale up their models throughout 2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, there was some unexpected drama at the end of round 1!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The 5 teams were judged 40% based on benchmark scores, 35% on expert review, and 25% on user testing. NC finished last, which means the other 4 teams should&amp;#8217;ve moved on, but the government decided to disqualify Naver as well. This is because they used vision and audio encoders from Alibaba&amp;#8217;s Qwen model family.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In Naver&amp;#8217;s defense, these are separate neural networks whose outputs are then fed into the main LLM, and the Korean government was originally unclear about what contestants could vs couldn&amp;#8217;t use from open source. It was only after the submissions were made that the government decided foreign architectures were allowed, but even auxiliary components must be trained and developed after initializing the weights.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Naver maintained that they&amp;#8217;d already developed their own encoders and could replace the Qwen pieces at any time, but the government was predictably stringent and refused to reinstate them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Now short 1 team, the Korean government decided to host a supplemental competition to find a new 4th contestant and ultimately selected Motif Technologies, a neolab that spun out of Moreh, a Korean AI infra software company&amp;#8212;in February 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;All 4 companies open sourced their newest models in July and the results for the most recent round were announced on August 18th. But before we spoil the results, let&amp;#8217;s take a look at the models.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;So how good are their models?&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Here&amp;#8217;s an overview of the 4 models:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KijA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e691bf-4cfa-41e1-8111-ac8af06b0257_2034x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="644" src="https://substackcdn.com/image/fetch/$s_!KijA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e691bf-4cfa-41e1-8111-ac8af06b0257_2034x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And here&amp;#8217;s how they compare on the benchmarks:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_frZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc052c93e-d099-4681-941c-676ce171c02c_1480x1178.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1159" src="https://substackcdn.com/image/fetch/$s_!_frZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc052c93e-d099-4681-941c-676ce171c02c_1480x1178.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As you can see, the two startups (Motif and Upstage) significantly outperformed teams backed by bona fide chaebols. The fact that their models are less than half the size is even more impressive.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On Artificial Analysis&amp;#8217; Intelligence Index, Motif 3 is 10 points ahead of Upstage and by far the best Korean model. What&amp;#8217;s even more notable, however, is the fact that it&amp;#8217;s comfortably ahead of both Inkling and Nemotron 3 Ultra&amp;#8212;the two best American open source models today.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Iu5p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f0619b-8a76-4656-bb09-b069674d5064_2032x1133.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="812" src="https://substackcdn.com/image/fetch/$s_!Iu5p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f0619b-8a76-4656-bb09-b069674d5064_2032x1133.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Artificial Analysis, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Motif is a &lt;/span&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7485122160470978561/"&gt;&lt;span&gt;sub 30&lt;/span&gt;&lt;/a&gt;&lt;span&gt; person startup that released their first pre-trained model, which was only &lt;/span&gt;&lt;a href="https://huggingface.co/Motif-Technologies/Motif-2.6B"&gt;&lt;span&gt;2.6B&lt;/span&gt;&lt;/a&gt;&lt;span&gt; total parameters, last June. They&amp;#8217;ve raised just $17M and have access to a mere 768 B200s (&amp;lt; 2MW).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In contrast, Thinking Machines is the hottest neolab around, raised $2B at $12B post for their seed, and signed a 1GW+ compute deal with Nvidia which was accompanied by additional funding. As for Nvidia itself, the resources at its disposal hardly need mentioning.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L6hu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feacee1dc-1958-4654-993c-0aad4468e95b_1926x721.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="545" src="https://substackcdn.com/image/fetch/$s_!L6hu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feacee1dc-1958-4654-993c-0aad4468e95b_1926x721.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Put differently, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;a tiny Korean startup you&amp;#8217;ve likely never heard of trained&amp;#8212;from scratch and on a shoestring budge&amp;#8212;the best non-Chinese open source model in the world&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The point here is not to diss Thinking Machines or Nvidia. Training open source models is neither of their core businesses. Instead, we want to highlight that training a near-SOTA open source model from scratch is likely less resource intensive than most think. There&amp;#8217;s no substitute for focus, and the total compute cost to train Motif 3, including experimentation, was just &lt;/span&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7485122160470978561/"&gt;&lt;span&gt;~$15M USD&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at today&amp;#8217;s prices. This is obviously well within budget for every major nation state.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Questionable judgement from the Korean government&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/are-open-models-catching-up"&gt;&lt;span&gt;previously&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-coding-assistant-breakdown-more"&gt;&lt;span&gt;written&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in-depth about the many issues with benchmarks, but they still tend to be directionally correct. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;A 10+ point gap on something like the Artificial Analysis Intelligence Index has almost always corresponded to a step change improvement in model capability&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (e.g. GPT 4o to o1 or Opus 4.8 to Fable 5).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With this in mind, we were shocked to see that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Motif was the one company eliminated in the latest round of competition. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Maybe you could argue that the model is benchmaxxed and thus didn&amp;#8217;t deserve to be first, but finishing dead last is baffling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Remember that competitors were scored on three categories: 40% benchmarks, 35% expert review, and 25% user testing. Although Motif scored the best on benchmarks, they ranked last for the other two.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5PdN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19edd74-5f21-4858-a836-7b904b3fec87_2321x969.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="608" src="https://substackcdn.com/image/fetch/$s_!5PdN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19edd74-5f21-4858-a836-7b904b3fec87_2321x969.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The exact methodology for these last two sections is frustratingly opaque. For user testing, we have no idea what tasks people actually used the model for or what criteria they considered to judge the models. Additionally, none of the testing was blind, so it&amp;#8217;s possible users had some bias towards the more famous companies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The expert review section is even more questionable. Essentially, 10 external experts graded all four models on things like &amp;#8220;development strategy&amp;#8221;, &amp;#8220;future plans&amp;#8221;, and &amp;#8220;ecosystem impact&amp;#8221;. As for what these words actually mean, your guess is as good as ours, but it seems clear that some categories disproportionately benefit large companies like LG and SKT. We also heard that the expert reviewers were concerned Motif&amp;#8217;s technology could be transferred overseas via foreign investors. This is quite puzzling, as one of the requirements of the competition is that all of the technical components must be open sourced.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We think it&amp;#8217;s a real shame Motif will no longer get any government support now that they&amp;#8217;ve been eliminated from the competition. The whole point of a sovereign AI program is to rally your domestic AI talent to build a high quality model. Motif demonstrated that they&amp;#8217;re capable of exactly this, and the government should be utilizing its reach and resources to help them with things like &amp;#8220;future plans&amp;#8221; and &amp;#8220;ecosystem impact&amp;#8221;&amp;#8212;not punish them for it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Now, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Motif may be forced to relocate out of Korea in order to acquire the capital and compute required to continue their research&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. This is perhaps the most ironic possible result for the surprise standout of your national AI tournament. Hopefully other countries can do better as they pursue their own sovereign AI efforts.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;A trillion dollars worth of datacenters&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With that being said, South Korea&amp;#8217;s ultimate AI champion will be very well resourced. In July, they &lt;/span&gt;&lt;a href="https://www.datacenterdynamics.com/en/news/south-korea-announces-919bn-investment-into-three-mega-projects-plans-to-build-184gw-worth-of-data-centers-by-2035/"&gt;&lt;span&gt;announced&lt;/span&gt;&lt;/a&gt;&lt;span&gt; a monster $919B investment to build 8.4GWs by 2029 and 18.4GWs by 2035. For the first phase, SK Group, GS Group, and Naver will be building 5GW, 2.4GW, and 1GW respectively. SK Group is additionally responsible for the remaining 10GWs for phase 2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve already identified 3 active sites for phase 1 totaling 4.4GWs. For full details including the exact location, MW ramp, and power source, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yOTL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2ebd34-0ee3-486d-b00b-51b4d875c150_1120x840.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="840" src="https://substackcdn.com/image/fetch/$s_!yOTL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2ebd34-0ee3-486d-b00b-51b4d875c150_1120x840.png" width="1120" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Naver&amp;#8217;s 1GW site in Sejong, South Korea. Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Although these timelines are aggressive, we believe they are achievable. The regulatory environment is favorable, and President Lee Jae-myung is explicitly framing AI infra as a legacy-defining project akin to Korea&amp;#8217;s broadband push in the 1990s. Throughout the 2000s and 2010s, Korea had uniquely cheap and fast internet, which is what enabled their local search, e-commerce, and esports industries.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To be clear, not all of this capacity is intended to support Korea&amp;#8217;s sovereign AI efforts, and much of it will likely be sold to Anthropic or OpenAI. Importantly, however, Korea will have the optionality to dramatically scale up their sovereign AI efforts if necessary, and this domestic compute ramp is something more countries outside of the US and China will likely copy.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Why Nvidia needs open source and sovereign AI&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Jensen recently made his Twitter &lt;/span&gt;&lt;a href="https://x.com/JensenHuang/status/2080643682408321103?s=20"&gt;&lt;span&gt;debut&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with a manifesto on the importance of open source AI. It was later co-signed by basically every relevant AI company except Anthropic. Here&amp;#8217;s an excerpt:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;Our AI leadership will be judged not by one frontier AI model, but by whether the United States builds a strong, open ecosystem that diffuses into every sector. This is essential for creating opportunities for innovation and prosperity across the country. It requires expanding access to AI, encouraging competition, robust application layers, and giving Americans greater control over the technology they rely on. Open weight models&amp;#8212;AI models that anyone can download, inspect, modify, and run on their own infrastructure&amp;#8212;are an important part of that foundation because they make advanced AI more accessible, adaptable, and widely available.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Much of the discourse around open source AI tends to wax poetic about the democratization of intelligence and decentralization of technological power. However, look under the hood and it&amp;#8217;s often just people talking their book.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;No one needs open source AI more than Nvidia. As we previously explained to &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; subscribers, selling frontier tokens at API prices is the highest ROI use case of incremental compute. Anthropic plus OpenAI are therefore set to take a larger and larger percentage of net new GWs in the future, and Nvidia is currently on track for a world where they only have 2 real customers. Sure maybe the number&amp;#8217;s 7 if you include the hyperscalers, but that&amp;#8217;s still obviously unacceptable for the world&amp;#8217;s largest company. This is doubly true when all 7 customers except SpaceX are actively trying to build their own XPUs to cannibalize Nvidia&amp;#8217;s margins.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One of the most famous competitive strategies in tech is to &amp;#8220;&lt;/span&gt;&lt;a href="https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/"&gt;&lt;span&gt;commoditize your complements&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;. The general idea is that as something becomes cheaper and more abundant, demand for everything that goes well with it increases. This explains why companies will often &amp;#8220;give away&amp;#8221; things for &amp;#8220;free&amp;#8221;. Classic examples include 1) Google offering Chrome for free and open-sourcing Android, which increased access to the web and made search advertising more valuable and 2) Microsoft retaining the right to license MS-DOS to IBM&amp;#8217;s competitors, which helped turn the PC into a commodity hardware platform.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In Nvidia&amp;#8217;s case, AI models and applications are the complements to its GPUs. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;The long-term health of their business depends on a vibrant, diverse AI ecosystem that exists outside of just Anthropic and OpenAI.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Their recently announced &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-partners-with-apollo-blackrock-blackstone-brookfield-goldman-sachs-and-kkr-to-establish-ai-compute-infrastructure-financing-platforms-to-mobilize-over-500-billion-of-third-party-capital"&gt;&lt;span&gt;$500B MOU&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with the world&amp;#8217;s largest capital allocators is just one example of the clever financial engineering Nvidia can do to make this vision a reality. By making &amp;#8220;Nvidia AI Factory Compute&amp;#8221; an &amp;#8220;investable asset class,&amp;#8221; the SSIs and Thinking Machines of the world have a way to leverage capital from pension funds, insurance companies, and private credit firms to buy enormous amounts of compute.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KLHt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227673ba-d611-4c22-8ff0-db2f95333de3_2048x1210.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="860" src="https://substackcdn.com/image/fetch/$s_!KLHt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227673ba-d611-4c22-8ff0-db2f95333de3_2048x1210.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Sovereign AI is another huge opportunity for Nvidia to diversify their customer base. SK Group has already &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/sk-group-and-nvidia-expand-strategic-partnership-across-ai-factories-and-next-generation-memory"&gt;&lt;span&gt;committed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to building 2 GWs of Rubin as part of their 5GW buildout, and Naver has &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/naver-nvidia-and-brookfield-to-expand-koreas-national-ai-factory-infrastructure-buildout"&gt;&lt;span&gt;signed on&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for another 200MW. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We expect Jensen to continue announcing similar deals with additional countries.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Datacenter Bet and Memory&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;From a sovereign AI perspective, Korea&amp;#8217;s investment in government- and corporate-owned data centers and GPU clusters makes complete sense. A sovereign model ultimately requires sovereign infrastructure: domestic control over where the model is trained, how it is deployed, and who can access the underlying compute.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Korea&amp;#8217;s challenge is that it still lacks a scaled domestic provider of leading-edge accelerators. Rebellions and FuriosaAI are making some progress, but they remain objectively behind Nvidia and AMD in deployment scale, software maturity, and commercial availability. Hyperscaler-developed alternatives such as Google&amp;#8217;s TPUs and AWS&amp;#8217;s Trainium are not domestically controlled either.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The buildout of data centers essentially comes down to two things: capital and compute. Capital is the easier problem in our view. The Korean government has been prioritizing AI investment over the past few years, while Naver, SK Telecom, Samsung, SK Hynix, and other leading domestic tech companies are committing significant resources to data centers, AI infrastructure, and model development. Compute on the other hand, is another story. Korea can finance land, power, cooling, and buildings, but it cannot manufacture a globally competitive accelerator ecosystem just like the majority of countries in the world&amp;#8212;or guarantee access to the latest platforms&amp;#8212;simply by spending more money.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If Korea&amp;#8217;s objective is merely to establish a domestic AI ecosystem, a conventional supplier relationship with Nvidia may be sufficient. If it wants to become one of the world&amp;#8217;s leading sovereign AI players, however, it will need something deeper: greater roadmap visibility, close technical integration, reliable access to new compute platforms, and support for developing the surrounding domestic ecosystem.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is why Nvidia&amp;#8217;s expanded relationships with Samsung and SK Hynix matter in this context. Samsung reportedly plans to build an Nvidia-powered AI factory &lt;/span&gt;&lt;a href="https://investor.nvidia.com/news/press-release-details/2025/NVIDIA-and-Samsung-Build-AI-Factory-to-Transform-Global-Intelligent-Manufacturing/default.aspx"&gt;&lt;span&gt;using&lt;/span&gt;&lt;/a&gt;&lt;span&gt; more than 50,000 GPUs, while SK Telecom&amp;#8217;s announced 2GW DSX AI factory is expected to deploy Vera Rubin systems powered by SK Hynix HBM4. While the public announcement does not disclose preferential GPU allocation or guaranteed volumes, deeper strategic alignment should strengthen Korea&amp;#8217;s ability to plan and deploy leading-edge compute&amp;#8212;something far more difficult than simply constructing the data centers that house it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Against this backdrop, we believe Nvidia&amp;#8217;s plans extend beyond just acquiring a large sovereign compute customer. As we &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/samsung-better-hbm-pricing-than-sk-hynix-in-2027-nvidias-2027-hbm-pricing-outlook-server-oem-memory-crunch-sk-hynix-samsung-earnings-reconciliation/"&gt;&lt;span&gt;previously explained&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://semianalysis.com/memory-model/"&gt;&lt;span&gt;Memory Model &lt;/span&gt;&lt;/a&gt;&lt;span&gt;subscribers, we believe Korea&amp;#8217;s infrastructure buildout also gives Nvidia an opportunity to deepen its relationship with SK Hynix, one of its most important memory suppliers and a key affiliate within the broader SK Group. We believe Nvidia has likely secured a long-term agreement for SOCAMM, along with favorable HBM pricing and large volume commitments for 2027, although the final negotiation result could vary from our current estimate.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Expanding Beyond Memory Across the AI Infrastructure Stack Comes at a Cost&lt;/span&gt;&lt;/h3&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/koreas-trillion-dollar-sovereign"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-09-01T12:14:32+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/most-neoclouds-suck-at-security</id>
    <title>Most Neoclouds Suck At Security</title>
    <updated>2026-08-30T07:46:22+00:00</updated>
    <author>
      <name>Jordan Nanos</name>
    </author>
    <content type="html">&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zWz0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc647fca6-8c53-43a7-af27-f4396a31077b_1448x1086.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1086" src="https://substackcdn.com/image/fetch/$s_!zWz0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc647fca6-8c53-43a7-af27-f4396a31077b_1448x1086.png" width="1448" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In Shakespeare&amp;#8217;s &lt;/span&gt;&lt;em&gt;&lt;span&gt;Julius Caesar&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Caesar ignores a soothsayer&amp;#8217;s warning, shrugs off his wife&amp;#8217;s dream of blood running through the streets, waves away a letter revealing his  assassins by name, and strides gallantly into the one room in Rome where every senator is &amp;#8220;required&amp;#8221; to check their weapons at the door. Two thousand years later, neoclouds are making the same walk; so, increasingly, are the customers who trust them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The largest AI companies in the world are building a multivendor infrastructure supply chain at Mach speed. Every new vendor is a counterparty risk, with subcontractors and subprocesses that need to be checked. This means that neolab CISOs are getting a seat at the negotiating table: anyone serious about their future takes security deadly seriously.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Yet, over the course of our neocloud testing for ClusterMAX 3.0, we saw some security horror stories. In this article, we&amp;#8217;ll discuss the state of cybersec in the AI era, relay 5 frightening patterns we came across, and how neoclouds and neolabs can stay safe in this new world.&lt;/span&gt;&lt;/p&gt;&lt;div class="pullquote"&gt;&lt;p&gt;&lt;span&gt;Before we get started&amp;#8230;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;To all neocloud operators and users&amp;#8230;&lt;/p&gt;&lt;p&gt;If you&amp;#8217;re reading this, please make sure your shit is up to date&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Install the latest version of our ClusterMAX CLI by running &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;pip install clustermax&lt;/span&gt;&lt;/strong&gt; on your machine, or &lt;a href="https://github.com/SemiAnalysisAI/clustermax"&gt;clone the repo on GitHub&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Then run our convenience script: &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;cmax audit security&lt;/span&gt;&lt;/strong&gt; for a free report from us on your cluster or standalone GPU machine.&lt;/p&gt;&lt;p&gt;The &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;cmax&lt;/span&gt; &lt;/strong&gt;CLI will auto-detect Slurm clusters, Kubernetes clusters, standalone VMs, bare-metal machines, and containers, and compare them against a set of baseline software versions with known vulnerabilities. For anything out of date, you will be provided a link to the relevant documentation and security bulletin.&lt;/p&gt;&lt;p&gt;To be clear, &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;this is a small subset of our ClusterMAX testing&lt;/span&gt;&lt;/strong&gt;, and even a small subset of the full analysis we do on provider&amp;#8217;s security. You will see things in this article that is not covered by the CLI. The CLI only involves things that we can test from the customer&amp;#8217;s perspective. We do many interviews of end user customers and the providers themselves to check on the architecture decisions they have made on their orchestration software, OS provisioning, firmware management, networking, storage and more. &lt;/p&gt;&lt;p&gt;A full list of our testing criteria is available at: &lt;a href="https://www.clustermax.ai/criteria"&gt;https://www.clustermax.ai/criteria&lt;/a&gt;   &lt;/p&gt;&lt;p&gt;The testing process we follow for ClusterMAX covers 3 phases: audit, performance, and reliability, where each takes longer and is more intense than the last, involving dozens of benchmarks and simulated hardware failures that stress the compute, networking, storage, monitoring systems, and health checks individually. Running an audit on your cluster should take a few minutes. Completing performance and reliability testing in full takes a few hours and a few days respectively, and requires a minimum of 4 nodes. &lt;/p&gt;&lt;div&gt;&lt;hr /&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our decision to publish an article dedicated to neocloud security before the full ClusterMAX 3.0 report stems from two major factors:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://www.anthropic.com/glasswing"&gt;&lt;span&gt;Project Glasswing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://openai.com/daybreak/"&gt;&lt;span&gt;Daybreak&lt;/span&gt;&lt;/a&gt;&lt;span&gt; from Anthropic and OpenAI are discovering new vulnerabilities in industry-standard software, building POC exploits, and publishing the details in CVE descriptions.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Open models such as Kimi K3, GLM-5.2, DeepSeek V4, Qwen 3.8, MiMo V2.5, MiniMax M3, Nemotron, Gemma, and Inkling are all rising in security benchmarks such as Cybench, &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2406.05590"&gt;&lt;span&gt;NYU CTF Bench&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, AutoAdvExBench, and &lt;/span&gt;&lt;a href="https://ai.meta.com/research/publications/cyberseceval-3-advancing-the-evaluation-of-cybersecurity-risks-and-capabilities-in-large-language-models/"&gt;&lt;span&gt;Cyberseceval 3&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This makes it trivial for black hats to develop exploits from a CVE description as they can circumvent model guardrails.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Thus, when we began our research, we expected to find jarring statistics about AI agents tearing the internet &lt;/span&gt;apart&lt;span&gt;. Modern models are saturating increasingly difficult coding benchmarks, and they&amp;#8217;re rapidly improving on cyber ones, too. This tracks with the subjective experience of anyone who&amp;#8217;s used the models as heavily as we have for the past years.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DBLk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f0785bb-ebb1-42da-950f-5fdc1cea9c5f_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!DBLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f0785bb-ebb1-42da-950f-5fdc1cea9c5f_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This also tracks with the press campaigns of frontier labs and security companies, whose CEOs have been &lt;a href="https://www.cnbc.com/video/2026/04/08/crowdstrike-ceo-ai-finding-vulnerabilities-will-cause-high-number-of-cybersecurity-attacks.html"&gt;frequenting cable news&lt;/a&gt; to warn that &amp;#8220;&lt;a href="https://www.cnbc.com/video/2026/05/21/ai-has-fundamentally-changed-the-tempo-of-cybersecurity-says-f5-ceo.html"&gt;AI has fundamentally changed the tempo of cybersecurity&lt;/a&gt;.&amp;#8221; Models like Mythos have discovered &amp;#8220;&lt;a href="https://www.reuters.com/business/finance/anthropics-mythos-sends-us-banks-rushing-plug-cyber-holes-2026-05-12/"&gt;thousands of vulnerabilities&lt;/a&gt;,&amp;#8221; &lt;a href="https://www.networkworld.com/article/4205156/palo-alto-networks-at-black-hat-how-ai-erased-the-50-day-patch-window.html"&gt;many of which are zero-days&lt;/a&gt;. Last Thursday, OpenAI posted an open letter, cosigned by Anthropic and just about everyone else in the industry, announcing &amp;#8220;&lt;a href="https://openai.com/collective-cyberdefense/"&gt;A call for collective action on cyber defense&lt;/a&gt;.&amp;#8221; &lt;/p&gt;&lt;p&gt;Disappointingly, instead of critical insights, the text was stuffed with self-help clich&amp;#233;s: &amp;#8220;the status quo&amp;#8230; won&amp;#8217;t be enough,&amp;#8221; but if we &amp;#8220;share what works,&amp;#8221; then &amp;#8220;together, we can.&amp;#8221; We agree that cybersecurity has never been more crucial&amp;#8212;hence this article&amp;#8212;and have already published &lt;a href="https://newsletter.semianalysis.com/p/finding-miscompiles-for-fun-not-profit"&gt;our experience hunting for bugs with LLMs&lt;/a&gt;. But we are also aware that the loudest voices in this conversation, including everyone quoted in the previous paragraph, has something to sell. And to our surprise, we can&amp;#8217;t find the data to back up the prevailing narrative, much less any &amp;#8220;fundamental change.&amp;#8221;&lt;/p&gt;&lt;p&gt;It&amp;#8217;s early innings, and it&amp;#8217;s possible that drastic statistics await us. Enough &lt;a href="https://falcao.org/posts/ai-bug-reports-open-source/"&gt;security researchers have reported qualitative changes in their work&lt;/a&gt; that we will keep a close eye. We also know that there is defensive work happening behind closed doors that can&amp;#8217;t be immediately disclosed. Nevertheless, months after the dramatic announcement of Project Glasswing, in the vast majority of relevant statistics, we fail to reject the hypothesis of no change.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The chart below shows CVEs per quarter in the essential software that we use in our ClusterMAX testing: the Nvidia GPU driver, CUDA, PyTorch, Kubernetes, and Docker. The latter three libraries are open-source, and we expected there to be lots of low-hanging fruit as modern coding models read every line of their source code with security in mind. The time series, however, disagrees.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TomB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4913e0aa-aaa4-4739-97a5-a8fdc7a832c7_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!TomB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4913e0aa-aaa4-4739-97a5-a8fdc7a832c7_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The Linux kernel is another interesting case. Linus &lt;a href="https://lore.kernel.org/linux-media/CAHk-=wi4zC+Ze8e+p3tMv8TtG_80KzsZ1syL9anBtmEh5Z40vg@mail.gmail.com/"&gt;recently wrote a note on the promise of LLM tools in software&lt;/a&gt;, declaring that he is &amp;#8220;willing to absolutely put [his] foot down as the top-level maintainer,&amp;#8221; continuing, &amp;#8220;AI is a tool, just like other tools we use. And it&amp;#8217;s clearly a useful one.&amp;#8221; One might expect the Linux kernel to be patching bugs like mad. But the effect is mixed, and ultimately not statistically significant. August 2026 will be its most prolific month since it became an independent CNA, but June 2026&amp;#8212;perhaps the peak of AI cyber discourse as &lt;a href="https://x.com/SemiAnalysis_/status/2065866999188898080"&gt;Mythos was released and quickly removed&lt;/a&gt;&amp;#8212;sat around the all-time median. It will take time for a clearer view of the net impact to emerge.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3aaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8f78cd-a715-4551-aa3a-a023f7d681ed_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!3aaC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8f78cd-a715-4551-aa3a-a023f7d681ed_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;One place we did find an effect is in Project Glasswing: under a flat null, member orgs saw a statistically significant YoY surge after the project began compared to control orgs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yqO6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2164b0e2-3983-445b-8b50-c301ff3d153e_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!yqO6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2164b0e2-3983-445b-8b50-c301ff3d153e_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This result is very robust to a number of ways we ran the control. Of course, skepticism is still due. One effect that we couldn&amp;#8217;t tease out is that Project Glasswing members are incentivized to report large numbers of bug fixes as a way of advertising their inclusion in this elite group. They can flex that they&amp;#8217;re moving fast and on the cutting edge&amp;#8212;it&amp;#8217;s good press. It&amp;#8217;s also worth noting that we have a trash can full of tests that we expected to show AI&amp;#8217;s huge impact on cybersecurity but did not. When you look for enough relationships, you&amp;#8217;ll get significant results eventually. We urge readers to crunch their own numbers.&lt;/p&gt;&lt;p&gt;Looking only at Nvidia and AMD&amp;#8217;s AI stacks, we see a surge, which hits a little closer to home than Project Glasswing because we use these tools every day. The growth since capable AI coding models became available is clear. You could argue that these libraries are the best place to see the effect of AI&amp;#8212;after all, AI developers are its most aggressive early adopters. Yet it seems much more parsimonious to attribute this trend to the increased churn and usage of these libraries. It could even be from people using AI to introduce new bugs in the first place!&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LBdq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff97f40-e764-46ea-a8c1-30cbf0483b0a_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!LBdq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff97f40-e764-46ea-a8c1-30cbf0483b0a_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;If we take &lt;a href="https://newsletter.semianalysis.com/p/anthropic-3q26-profit-over-1b-the"&gt;Anthropic ARR&lt;/a&gt; as a stand-in for AI software usage writ large, we find that AI-stack CVE growth gets big-O dominated. This is remarkable because &lt;a href="https://www.anthropic.com/company"&gt;Anthropic is an AI safety and research company acting for the global good&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kqb3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7c9d81a-090a-44a6-96b9-84ac4f9ba2a2_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!Kqb3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7c9d81a-090a-44a6-96b9-84ac4f9ba2a2_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Meme Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Jokes aside, the Google Chrome team may have given a preview of the future of software engineering in an insightful &lt;/span&gt;&lt;a href="https://blog.google/security/chrome-stronger-with-every-update/"&gt;&lt;span&gt;recent blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that describes, with the help of agents, how their bug fixes have been skyrocketing. They also highlighted a &lt;/span&gt;&lt;a href="https://issues.chromium.org/issues/487383169"&gt;&lt;span&gt;sandbox escape&lt;/span&gt;&lt;/a&gt;&lt;span&gt; bug that existed in their code for 13 years. Imagine someone exploiting this secretly for 13 years! Google claims that they were able to fully automate the bug discovery and fix process, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/gemini-is-cooked-but-gcp-is-cooking"&gt;&lt;span&gt;even using a homemade model they call &amp;#8220;Gemini.&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt; It is possible that other projects are badly bottlenecked by human verification, and that once they adopt AI-native processes like Google their bug fixes will also spike.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EWEn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e1613c-755d-46cf-8ad4-c893ba699a82_1456x819.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!EWEn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e1613c-755d-46cf-8ad4-c893ba699a82_1456x819.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Chrome Security Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Another plausible explanation is that AI has rendered the CVE disclosure process obsolete. Models are usually made available to the general public all at once, so if today&amp;#8217;s new model finds a previously undetectable bug, it&amp;#8217;s probably finding it for other researchers as well. As Linus said, &amp;#8220;&lt;a href="https://lwn.net/Articles/1073193/"&gt;AI detected bugs are pretty much by definition not secret&lt;/a&gt;.&amp;#8221; Human reviewers are swamped in bug reports, so CVE publication lags this discovery; it may even lag so much that CVE count is no longer worth tracking. Imagine you have found a bug and built a fix, but you know that others have probably discovered it independently. CVEs take a week to get assigned and published at a minimum: plenty of time for others to exploit. What&amp;#8217;s the point of disclosing? This dynamic also makes embargo programs irrelevant. In a world where all the bugs are due to AI, it&amp;#8217;s access to the models, not membership in some secret program, that counts. This dynamic is described to us by our friends working on security teams and corroborated by Linus, who said &amp;#8220;treating [AI detected bugs] on some private list is a waste of time for everybody.&amp;#8221; &lt;/p&gt;&lt;p&gt;Still, it&amp;#8217;s easy to invent just-so stories, and it would be odd if it turned out that AI&amp;#8217;s impact was so big that that you couldn&amp;#8217;t see it in the data. Our research reveals no relationship between AI-assisted patch policy and rate of CVE disclosure. We&amp;#8217;ve also checked whether engineers are increasingly skipping the disclosure process to merge straight into upstream, but this seems not to be the case. &lt;/p&gt;&lt;p&gt;Regardless of how AI shows up in these aggregate statistics, though, we hope the recent anecdotes are enough to scare some sense into neoclouds. The IP they protect is priceless, so, if nothing else, they should take this as a sign to do some badly needed deep cleaning.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Notably, we started all this work on security well before Glasswing and the OpenAI Black Hat talk, and have been on our security soapbox since at least &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/174558503/security"&gt;&lt;span&gt;ClusterMAX 1.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March 2025. Even our original &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ai-neocloud-playbook-and-anatomy"&gt;&lt;span&gt;AI Neocloud Playbook and Anatomy&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article in October 2024 discusses security differences between different players in different regions, right after Dan coined the term &amp;#8220;neocloud.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Anyway, everyone is saying that you should watch &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=87DyyMV0kCY"&gt;&lt;span&gt;this talk&lt;/span&gt;&lt;/a&gt;&lt;span&gt; from OpenAI at Black Hat USA 2026. And you should. But as more details come out, it is clear that talk doesn&amp;#8217;t go far enough in explaining the implications of the incident. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Our good friend/family member Dwarkesh gave his take &lt;a href="https://www.dwarkesh.com/p/openai-huggingface?utm_campaign=posts-open-in-app&amp;amp;triedRedirect=true"&gt;here&lt;/a&gt;, where he describes the agent swarms as &amp;#8220;AI civilizations&amp;#8221; and then walks through some of the mechanics and implications. It is an impressive account and well worth reading.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below we&amp;#8217;ll give our take on a summary of the incident just the same.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;The OpenAI vs HuggingFace Security Incident&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Zvnm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff92bb5d9-868f-4934-8d3e-f753f03f75a1_678x624.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="364.46017699115043" src="https://substackcdn.com/image/fetch/$s_!Zvnm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff92bb5d9-868f-4934-8d3e-f753f03f75a1_678x624.png" width="396" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;How agents talk to each other when they&amp;#8217;re using JFrog Artificatory as a message board to coordinate a swarm. &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here&amp;#8217;s the Hugging Face timeline:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Beginning on July 9, AI agents exploit Hugging Face&amp;#8217;s datasets API, which runs on Kubernetes. The agents write up a malicious README that gets the worker that usually splits hdf5 datasets into train/test &lt;/span&gt;to&lt;span&gt; read instead from /proc/self/environ, and return all creds and source on that worker.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The agents take these creds and source and design another injection: they upload another malicious README to the same datasets API, then get RCE on the workers by injecting a Jinja2 template that causes the dataset viewer (the thing that usually renders the README into the model or dataset card) to run arbitrary Python.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;13 hours later, the agents get cluster-admin privilege on multiple K8s clusters in Hugging Face&amp;#8217;s infrastructure, moving laterally (no details on how).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The cluster-admin and lateral movement happen on July 11. Notably, Hugging Face has no admission policy running on this cluster to reject privileged pods or pods that mounted hostPath.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 13, &lt;/span&gt;Hugging Face detects and contain the attack, but they have a hard time because &amp;#8220;the campaign kept rebuilding its tooling and channels across short-lived environments.&amp;#8221; Basically, the only way they could figure out what was going on was by using AI, but they couldn&amp;#8217;t use Claude because both Opus and Fable were giving refusals, so they used GLM-5.2 (maybe talking their book here, who knows).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;They publish a &lt;/span&gt;&lt;a href="https://huggingface.co/blog/security-incident-july-2026"&gt;&lt;span&gt;blog&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on July 15 about this.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Meanwhile, over at OpenAI:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 7, they start training a new model, likely doing a bunch of RL on cybersecurity tasks.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 8, an agent is working on a task, wants internet access, but can&amp;#8217;t get it. It launches an attack against Artifactory&amp;#8212;a proxy for package managers like pip, npm, apt, gem, etc&amp;#8212;that it can use to install the packages it needs in its sandbox. The agent finds out it can also write files, but its token budget runs out, so it stops.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 12, another agent finds the file on Artifactory and writes its own. Then, a bunch of other agents start using Artifactory as a message board.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 26, the agents get internet access through an SSRF attack on Artifactory, documenting it on there.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On June 11, a new model starts training. The message board is waiting for it.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;By June 26, this new model has found an RCE on Artifactory, which is now described in &lt;/span&gt;&lt;a href="https://opencve.alliance.unm.edu/cve/CVE-2026-65617"&gt;&lt;span&gt;CVE-2026-65617&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Others start using it, getting admin tokens, etc.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 4, the agents have used Artifactory so much they blow it up. OpenAI finds everything, patches it, and clears the message board. Training starts again.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 8, the agents re-establish the message board but this time via directory names in a remote cache, not files (the filenames look insane, watch the talk). They then get another crazy RCE via gem, escalate via &amp;#8220;pte_physroot&amp;#8221; and a CVE in the Linux kernel they don&amp;#8217;t explain (but say it&amp;#8217;s public and recent, so let&amp;#8217;s say its &lt;/span&gt;&lt;a href="https://nvd.nist.gov/vuln/detail/cve-2026-46300"&gt;&lt;span&gt;Fragnesia: CVE-2026-46300, published May 23&lt;/span&gt;&lt;/a&gt;&lt;span&gt;).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Things come together:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 19, OpenAI detects the privilege escalation going on (since July 8?). They find credentials when going through what happened and notify third parties including Hugging Face.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Hugging Face says, &amp;#8220;yeah, didn&amp;#8217;t you see our blog on July 16? We invalidated these creds&amp;#8230; they&amp;#8217;re &lt;/span&gt;&lt;em&gt;&lt;span&gt;yours?&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;OpenAI publishes a blog on July 21 telling people it was them: &amp;#8220;The models identified and chained vulnerabilities across OpenAI&amp;#8217;s research environment and Hugging Face&amp;#8217;s production infrastructure to obtain test solutions directly from Hugging Face&amp;#8217;s production database. All evidence suggests that the models were hyperfocused on finding a solution for ExploitGym, going to extreme lengths to achieve a rather narrow testing goal.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Hugging Face publishes another blog on July 27, giving details and a real timeline.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;OpenAI gives &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=87DyyMV0kCY"&gt;&lt;span&gt;the talk at Black Hat&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on Aug 6.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;For what it&amp;#8217;s worth, &lt;/span&gt;&lt;a href="https://openai.com/index/responding-next-frontier-critical-cyber-capabilities"&gt;&lt;span&gt;this model is not based on OpenAI&amp;#8217;s new pretrain, called Doug&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;Astra [aka Doug] is an upcoming model, and was not involved in exploiting Hugging Face.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h1&gt;&lt;span&gt;The Two Edges of Security Disclosures&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Security disclosures, in general, are double-edged. Every description of a known vulnerability goes public on the same day to both the white hats and black hats of the world.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is why embargoed security programs exist. One of our key recommendations to neoclouds is to enroll in this embargo program from Nvidia to ensure that they are receiving updates on the latest undisclosed CVEs and have time to prepare patches that can be rolled out to customers promptly upon disclosure.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!p98a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51faedec-49a1-458d-bc79-d843a2567e3d_1456x432.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="432" src="https://substackcdn.com/image/fetch/$s_!p98a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51faedec-49a1-458d-bc79-d843a2567e3d_1456x432.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.clustermax.ai/criteria#security-part-of-nvidia-security-program-for-embargoed-access-to-latest-security-patches"&gt;Our ClusterMAX Website&amp;#8217;s &amp;#8220;Criteria&amp;#8221; page&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Companies solicit help from the public to surface bugs, though they could be doing more. For example, &lt;/span&gt;&lt;a href="https://www.nvidia.com/en-us/product-security/"&gt;&lt;span&gt;Nvidia&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://www.amd.com/en/resources/product-security.html"&gt;&lt;span&gt;AMD&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/security/security-practices/vulnerability-management/bug-bounty-program.html"&gt;&lt;span&gt;Intel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; all have product security bulletins, bug bounty programs, and simple intake forms to submit vulnerability reports if discovered. Unfortunately, AMD recently &lt;/span&gt;&lt;a href="https://mrbruh.com/amd2/"&gt;&lt;span&gt;denied a security researcher called Mr. Bruh $10K&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by changing their bug bounty program rules retroactively to exclude MITM attacks, and enforcing a 124 day embargo (90 days is standard). Notably, the exploit successfully demonstrated RCE on AMD systems (literally the worst kind of bug, and the reason why bug bounty programs exist). Hyperscalers have similar programs. &lt;/span&gt;&lt;a href="https://aws.amazon.com/security/vulnerability-reporting/"&gt;&lt;span&gt;AWS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://www.microsoft.com/en-us/msrc/bounty-microsoft-azure"&gt;&lt;span&gt;Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://bughunters.google.com/about/rules/google-friends/cloud-vulnerability-reward-program-rules"&gt;&lt;span&gt;GCP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://www.oracle.com/corporate/security-practices/assurance/vulnerability/disclosure/"&gt;&lt;span&gt;OCI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; publish scope, severity classifications, and safe-harbor terms, with Azure and GCP paying six-figure top-end bounties and hosting live hacking events with $100K+ prize pools. AWS and Oracle have decided to cheap out. Server OEMs such as Dell and SuperMicro have similar intake forms and publish BMC, firmware, and platform advisories, but alas no bounties.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Notably, the only neocloud we are aware of that runs a paid bug bounty program is Together, via &lt;/span&gt;&lt;a href="https://hackerone.com/together_ai"&gt;&lt;span&gt;HackerOne&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The best that every other neocloud offers is a security.txt with contact address.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Our ClusterMAX 3.0 Testing Experience&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In the following sections we will describe our experience during ClusterMAX 3.0 testing, which ran over the course of about 4 months, from April to July. During this time, we have had a change in approach. We have gone from running basic checks that software is up to date (roughly the same as our approach from ClusterMAX 2.0 and 1.0 last year) to running full blown security audits for free, just to try and help people out.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The result is that we have found quite a few dead simple vulnerabilities. We have not developed anything novel. All we have done is use a combination of our experience working with the systems and software neoclouds use, public descriptions of the vulnerabilities (in some cases, over 3 years old), and a healthy token budget for all the latest models (with all the normal safety guardrails being enforced). With this toolkit we have been able to:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;View metadata about other tenants on shared infrastructure via:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;- server IPMIs/BMC networks left open&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;frontend networking with no VLAN or VXLANs setup&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;backend networking with incorrectly configured or missing &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/infiniband-multilayered-security-protects-data-centers-and-ai-workloads"&gt;&lt;span&gt;InfiniBand security keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (P_Key, M_Key, SA_Key, or VS_Key, primarily)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;storage servers not enforcing RBAC correctly on volumes&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;storage configured incorrectly on the overlay network, with customers accessing the underlay&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;monitoring dashboards with god-level authentication configured by mistake&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Breakout of containers and VMs on shared servers and escalations to root privilege, demonstrating an attack on neighboring VMs and containers that run on the same server.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Read data cross-tenant, including on inference endpoints serving traffic publicly, via services such as OpenRouter, due to incorrectly configured Kubernetes services (e.g., not enforcing a default deny NetworkPolicy, or exposing the Kubelet on a public IP)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;And, most critically, one scenario with cascading vulnerabilities (i.e. &amp;#8220;all of the above&amp;#8221;) that lead to cross-tenant RCE, which we demonstrated between two tenants that we owned. Again, we verified patches were made in this place with the provider.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Notably, the metadata exposure and cross-tenant RCEs that we have developed and demonstrated for these neocloud providers exposed customer information from banks, telcos, universities, research institutions, AI labs, and in one case, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;a national intelligence agency from a country with a top-10 global GDP&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(We disclosed this immediately, the provider patched it within a week, and we verified the patch).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Neoclouds are important. In the last year, neoclouds have signed deals with the biggest and most important companies in the world worth hundreds of billions. OpenAI, Anthropic, Google, Meta, SpaceX, Microsoft, Amazon, AMD, NVIDIA and many more well funded companies currently rent GPUs from neoclouds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below is a summary to give you a sense of the size of this capacity, sourced from our industry leading &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that tracks over 6,000 sites globally, including all the top neoclouds and neolabs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rpbt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0287563-ca41-4990-b87a-0066c223128f_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!rpbt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0287563-ca41-4990-b87a-0066c223128f_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;But there is a reason that frontier labs take bare metal clusters, insist on zero-trust policies, and generally only give the neocloud operator read-only access to their own systems. We will now describe this in more detail.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Before we go any further&amp;#8230;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;We are following the &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Coordinated_vulnerability_disclosure"&gt;&lt;span&gt;principles of responsible disclosure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in this article. You can rest assured that all neoclouds that have given us a cluster during ClusterMAX 3.0 testing (a total of 25 providers and 32 clusters where we did extensive testing for this round, and many more providers of single-GPU VMs or bare metal only where we do light testing or high level analysis of the business) have been notified of all our findings. We have put in a lot of time and effort to describe how to reproduce the findings, how to roll out patches, and how to verify that things are patched.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In cases where providers have not responded, been slow to respond, or even been directly confrontational with us, we have taken further steps, such as notifying their current and prospective customers and investors about the details. In every case this has led to a positive outcome for all parties involved (our view, of course).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This also means that we have waited an appropriate amount of time before publishing this article. On a positive note, there have been no situations where the 90 day clock we set for providers has expired. In all cases we have either received written confirmation of an upgrade/patch being rolled out, or verified the fix ourselves.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article we are only disclosing vulnerabilities that we have found where there are already public disclosures on the internet. In other words, in most cases, to check if the cluster or VM or container that we got in our testing was vulnerable, we just had to check that it was running a specific version of software vs the publicly stated bare minimum, or we had to check that stuff is configured properly. This means we are not actually disclosing any new vulns. We won&amp;#8217;t have any CVEs in our name here.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Now for the details.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;How Neoclouds Fail&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Many of the vulnerabilities that we found are quite simple, but increase in severity due to bad designs. We define bad designs as anything where a single mistake (such as a publicly described CVE being present, or a provider-side misconfiguration) can lead to an immediate cross-tenant exposure of data, be it metadata, escalation to root privilege, or RCE. Proper designs have layers of security built in.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!R0HL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab7e217-7fa3-4bca-a844-85cb3f7a5ab6_996x1258.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="469.855421686747" src="https://substackcdn.com/image/fetch/$s_!R0HL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab7e217-7fa3-4bca-a844-85cb3f7a5ab6_996x1258.webp" width="372" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Meme Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XtCy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef720a08-ab9d-4845-bf6b-9e50f55f741a_750x762.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="375.92" src="https://substackcdn.com/image/fetch/$s_!XtCy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef720a08-ab9d-4845-bf6b-9e50f55f741a_750x762.png" width="370" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: this, but its a single auth token&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here are some common examples of bad designs:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Containers on shared hardware as the only level of isolation between tenants&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;VMs on shared hardware as the only level of isolation between tenants (less serious than containers, but still risky)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Lack of VXLANs or improper configuration, and no concept of a per-tenant VPC on the frontend network, relying on firewalls&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-tenant Kubernetes control planes, where components such as kube-apiserver, the scheduler, helm charts controlling cluster-wide services such as a shared GPUOperator or NetworkOperator, and etcd are shared across tenants&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;No hardware, firmware, and OS provisioning automation, leading to a practice where machines are recycled between tenants instead of provisioning things from scratch&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Backend storage on a shared network with no isolation (the VPC comment again)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Giving any tenant access to the BMC network (IPMI, Redfish) or to any management port on Bluefield DPUs or any SmartNICs&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Leaving Bluefield DPUs in their default host-trusted mode, where anyone with root on the host can reach the DPU&amp;#8217;s Arm cores over RShim&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Giving any tenant access to login to backend or frontend switches on a shared network&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Incorrect configuration of &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/infiniband-multilayered-security-protects-data-centers-and-ai-workloads/"&gt;&lt;span&gt;InfiniBand security keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt; such as PKey, MKey and SAKey&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-tenant dashboards where infrastructure is shared between internal-facing logs and customer-facing logs&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Controls where provider employees can receive privileged access to tenant logs and monitoring dashboards without tenant permission&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;POC: &lt;span&gt;Bad Design Cascades to Cross Tenant RCE&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In one example, a provider using &lt;/span&gt;&lt;a href="https://github.com/loft-sh/vcluster"&gt;&lt;span&gt;open source vCluster&lt;/span&gt;&lt;/a&gt;&lt;span&gt; chose to deploy shared K8s control plane components for their tenants. This design goes directly against vCluster&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.vcluster.com/docs/vcluster/production-guide/choose-worker-node-model#decide-with-three-questions"&gt;&lt;span&gt;documentation and public materials, which specify to use &amp;#8220;private nodes&amp;#8221;, not &amp;#8220;shared nodes&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and, of course, to keep things up to date. In our testing, this led to us seeing metadata about the other tenants on the shared K8s cluster we had access to. We could see things such as namespace names, node labels/taints, and physical host resources. This led us to want to dig in further. Machines were clearly being shared between tenants without fresh provisioning.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We quickly found that all of the software installed on the cluster was 2+ years out of date (such as the cluster-wide Nvidia GPUOperator), the cluster did not enforce default deny NetworkPolicy correctly, and the kubelet on all nodes was available on a publicly routable IP address. This led to three separate potential methods of cross-tenant credential exposure and RCE, one of which we built a POC for in an afternoon (thank you /goal) to demonstrate cross-tenant RCE on a separate tenant that we owned.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A growing number of neoclouds double as token providers, selling inference off the same infrastructure they rent out by the GPU-hour. To make matters worse, one of the co-tenants that we stumbled upon in the infrastructure is a prominent inference provider serving open model tokens to public customers on OpenRouter and via direct API keys. Anyone blindly trusting these endpoints with, for example, their OpenClaw or coding harness traffic, is exposing their personal information to all tenants on this infrastructure with a trivial exploit.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RWux!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf5b0-dc76-4162-81f2-9840da43a564_1456x442.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="442" src="https://substackcdn.com/image/fetch/$s_!RWux!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf5b0-dc76-4162-81f2-9840da43a564_1456x442.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Worse, if that infrastructure is compromised, the attacker does not just read your prompts, they potentially could control the bytes coming back on the API response. An agent harness running in YOLO mode will happily take a tool call, a shell command, or a &amp;#8220;helpful&amp;#8221; install script out of that response and execute it on the developer&amp;#8217;s machine or in CI, no questions asked. In other words, a tenant isolation failure at a token provider is a supply chain attack with a direct path to RCE on the customer side, the customer being none the wiser.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is a clear example of cascading vulnerabilities. Individual configuration issues and out-of-date software can seem minor in isolation, but lead to full RCE and credential exposure in practice.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(In this case, we got the provider to set us up with a second tenant to demonstrate the exploit, did so for them, and then wrote up some detailed documentation and followed up with them multiple times over the course of a few months to get things fixed, which they eventually did, mainly by just upgrading vCluster to a modern version and following their recommendations.)&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Grafana Dashboards Build Internal and External Facing Dashboards on Shared Infrastructure&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As a second example of a bad design, one provider that we tested made monitoring infrastructure shared. The Grafana dashboard we were initially given was misconfigured where we could see both our tenant (4 nodes in a Slurm cluster) and also some other random tenant (a single machine). This immediately set off alarm bells.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once we notified them to update things, we started digging in more and eventually found that tenants were displaying information separately on Grafana, but our Grafana dashboard was using a Prometheus API key with god level privilege to read logs and metrics from every single tenant. Tenancy was only enforced on the display dashboard. This means that the difference between us seeing our own logs and every other tenant&amp;#8217;s logs depended on a single, manually configured access token. So not only was our first token fat-thumbed to see another tenant&amp;#8217;s logs, the actual API key for Prometheus could pull everything!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a basic test to check what we could see, we hit the prometheus API and found logs/metrics for every single other tenant, including tenants such as AI research institutions, banks, telcos, and even the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;national intelligence agency of the country where we were doing the testing&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L0Vm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d1951c-3c60-4bde-a31d-51b7da9e202b_980x1112.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="481.1102040816327" src="https://substackcdn.com/image/fetch/$s_!L0Vm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d1951c-3c60-4bde-a31d-51b7da9e202b_980x1112.webp" width="424" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Grafana can be used to visualize all sorts of data. In this case, we found the following:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Live GPU utilization data (lots were idling btw)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;NVLink bandwidth utilization metrics&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Filesystem usage per directory/mountpoint&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Slurm project names&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;K8s pod counts per namespace, pod names&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;vLLM inference stats (request counts, ttft)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fortigate firewall and switch metrics&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Tenants of tenants (for resellers using the underlying GPUs on the platform)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Exposed cockpit servers on other tenants, which may have been vulnerable to &lt;/span&gt;&lt;a href="https://access.redhat.com/security/cve/cve-2026-4631"&gt;&lt;span&gt;CVE-2026-4631&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, though we did not test this as we didn&amp;#8217;t have any RHEL/Rocky servers in a tenant that we owned, and had already notified the provider and were working with them on verifying that patches were in place, but it is quite plausible that they were vulnerable&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Overall, a pretty absurd finding for an initial check and the motivation for the single point of failure memes at the beginning of this article.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Tenant Isolation Issues on the Backend Network&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The whole point of &amp;#8220;cloud&amp;#8221; is you have to share some infrastructure. Most of the time, this means shared networking. There are two major types of networks: frontend (also called north-south, the public network that connects to the internet) and backend (also called east-west, or interconnect fabric, ot scale-out/scale-up, the private network that only connects servers in the cluster to each other). Almost by definition, this networking is shared amongst tenants in a cloud service. Therefore, you need to make sure that it is secure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two stories we have on this topic stem from a failure to configure &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/infiniband-multilayered-security-protects-data-centers-and-ai-workloads"&gt;&lt;span&gt;InfiniBand Security Keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt; correctly, in two different ways. InfiniBand is different from Ethernet in that it doesn&amp;#8217;t use VLANs and VXLANs like a typical Ethernet network, and instead relies on a concept called P_Keys for isolation. There are many more keys that serve additional functions. For example:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;M_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; stops a rogue host from a change to device configuration. If the key does not match, the switch drops the request.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;P_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the partition key. It works like a VLAN. It controls which devices can see each other on the fabric.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;SA_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects sensitive operations in the Subnet Administrator, for example the addition or the removal of records.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;VS_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects vendor tools such as ibdiagnet.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Q_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects unreliable datagram traffic. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;L_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;R_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protect memory in RDMA operations.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;C_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;N2N_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protect communication manager traffic and node-to-node messages.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;AM_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects SHARP aggregation. Only approved switches can then reduce data.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;We used only the standard infiniband-diags package to find both issues during our testing. In one case, the provider had already installed that package on the login node for us.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the first case, a provider did not configure the P_Keys and the SA_Key correctly. The cluster had a new partition key (0xa601), but the default partition key (0xffff) was still active. So when we ran saquery, we saw 532 hostnames and endpoints on the fabric. The hostnames showed other customers and internal partitions. We stopped the test at that point. We told the provider to delete the default P_Key and to change the SA_Key.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TfcW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8788dc-bdef-4a05-a4c0-dd363f5365cc_1456x663.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="663" src="https://substackcdn.com/image/fetch/$s_!TfcW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8788dc-bdef-4a05-a4c0-dd363f5365cc_1456x663.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the second case the provider had broken isolation and function together. When we found that they had set no M_Key, the provider told us that the cluster had not completed production commissioning, and that the omission was the result of the rush to give us the machines. But the P_Key configuration was also wrong in a different way. Our nodes had full membership in an isolated partition (0x7001), which is correct. But our nodes also had full membership in the default partition (0x7fff), which holds every node on the fabric. The result was strange. We could not run ibping between our own four nodes. But we could find 80 nodes on the fabric with ibnetdiscover, ibdiagnet and ibhosts. A wrong partition configuration can break tenant isolation and correct operation at the same time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QRZ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebabb97-febd-49d8-b5b4-26c90b0b0cfa_1212x1052.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="517.3201320132014" src="https://substackcdn.com/image/fetch/$s_!QRZ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebabb97-febd-49d8-b5b4-26c90b0b0cfa_1212x1052.webp" width="596" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!r8Wy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2887dc-d4ea-4450-bf4f-751efb5363a0_966x1017.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1017" src="https://substackcdn.com/image/fetch/$s_!r8Wy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2887dc-d4ea-4450-bf4f-751efb5363a0_966x1017.webp" width="966" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6Ws5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f13579-1fc0-4cff-befa-8413d085bcc5_1350x770.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="770" src="https://substackcdn.com/image/fetch/$s_!6Ws5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f13579-1fc0-4cff-befa-8413d085bcc5_1350x770.webp" width="1350" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Host isolation inside the tenant was also weak on that cluster. We could log in as root on the GPU nodes. The provider confirmed that it configures shared root SSH across the cluster, and that its own infrastructure key gives passwordless access to all nodes. One key from the provider therefore gives root access to every host.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We also see the same class of problem on the frontend network. On the cluster, no host firewall was active, and we asked which security groups, ACLs or VPC constructs blocked TCP between the nodes. The provider had to correct the InfiniBand configuration and the external connectivity before the tests could run.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One more final point on disclosure. In April 2026, after we published about our findings in ClusterMAX 2.1, following tests we had conducted in 2025, the provider&amp;#8217;s marketing team asked us twice to remove or to rephrase the sentence about the visible endpoints. The team said the phrase could damage brand perception, and that engineering had fixed the keys by the end of 2025. We did not remove the finding. We corrected one factual error: the test we ran was completed in November, not December. We updated our article accordingly.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Running Arbitrary Container Images on Shared Infrastructure&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Many exploits that result in an attacker moving laterally inside a company&amp;#8217;s infrastructure involve escaping from containers or VMs and escalating privileges on the underlying host. It is an ever present issue, and many neoclouds are susceptible to it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To tell this story, the simplest example of the exploit is NVIDIAscape (CVE-2025-23266), named by Wiz. It exploits an NVIDIA Container Toolkit createContainer hook and was originally posted in early 2025. Surely no one can break out of containers with it today?&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!AZbR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09055d66-38ef-43cc-9c9c-206acb1bd807_1456x143.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="143" src="https://substackcdn.com/image/fetch/$s_!AZbR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09055d66-38ef-43cc-9c9c-206acb1bd807_1456x143.webp" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;source: SemiAnalysis testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Turns out that is not the case.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;An OCI hook is a program that the container runtime executes at a specific point in the container lifecycle. The vulnerable NVIDIA hook runs with elevated privileges on the container host before the container starts. In this case, the hook inherited environment variables from the container image. A crafted image could set: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;ENV LD_PRELOAD=/proc/self/cwd/poc.so&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;LD_PRELOAD tells a program to load a specified shared library. Because the hook&amp;#8217;s working directory is the prepared container filesystem, it loads poc.so from the image. The code inside poc.so then executes with root privileges on the container host, allowing the container to escape.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA fixed CVE-2025-23266 in nct 1.17.8 by preventing container-controlled environment variables such as LD_PRELOAD from reaching the privileged hook. You can see it in this &lt;/span&gt;&lt;a href="https://nvidia.custhelp.com/app/answers/detail/a_id/5659"&gt;&lt;span&gt;NVIDIA bulletin&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our testing, we built a custom container image that includes two important files:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;  - &lt;/span&gt;&lt;strong&gt;&lt;span&gt;/poc.so&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; writes a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;HOOK_RAN&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; marker and records evidence about the process that loaded it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;  - &lt;/span&gt;&lt;strong&gt;&lt;span&gt;/probe&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; checks whether this evidence exists when the container starts.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When using &lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax audit security&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; from the cli, our scripts launch the image using the nct runtime. On a vulnerable nct version, the privileged NVIDIA hook loads /poc.so before the container starts, so the library writes the marker and records information such as the loader, user ID, process ID, PID 1, visible GPUs, and container-host information.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Here is an example of us running it and observing the results during container startup from a provider&amp;#8217;s website on a single H100 GPU machine:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XmUH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffff57ac0-9b95-479d-9c15-85f4e88bb86a_1331x846.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="846" src="https://substackcdn.com/image/fetch/$s_!XmUH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffff57ac0-9b95-479d-9c15-85f4e88bb86a_1331x846.webp" width="1331" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When /probe starts, it checks this evidence. If it shows that /poc.so was loaded by the privileged NVIDIA hook, ClusterMAX reports that the vulnerable behavior was observed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;You can run this check on any GPU machine with nct installed with:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;cmax run nct-cve-2025-23266 --audit&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our testing, we found that platforms that rely only on containers to isolate different workloads are much less secure than platforms that put every container inside a VM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;During our testing on multiple providers, our test escaped the individual docker container and got root on the underlying host VM. However, we didn&amp;#8217;t follow that up by breaking out of the host VM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is a good example of layered security. The container was vulnerable, but the VM provided another isolation boundary and limited how far the issue could spread.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Either way, its a reminder to keep everything up to date.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xhzj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64726177-f3e2-4696-b725-3e728233f723_1280x1156.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1156" src="https://substackcdn.com/image/fetch/$s_!xhzj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64726177-f3e2-4696-b725-3e728233f723_1280x1156.webp" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Meme Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even a Gold provider may fail to meet a basic requirement, such as the minimum NVIDIA driver version. Here, we compare CoreWeave and Azure.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!85ac!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2ceaf77-468e-4fb2-ab72-2c03b5859a8a_1456x133.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="66.5" src="https://substackcdn.com/image/fetch/$s_!85ac!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2ceaf77-468e-4fb2-ab72-2c03b5859a8a_1456x133.webp" width="728" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And here, where Azure passes all four checks, an unnamed Bronze provider fails all of them with outdated CUDA, runc, Docker, and ConnectX firmware.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!dJqq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd847f6-387c-4913-92c3-e8a4a428b97c_1456x246.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="246" src="https://substackcdn.com/image/fetch/$s_!dJqq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd847f6-387c-4913-92c3-e8a4a428b97c_1456x246.webp" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At the time of the audit, the Bronze environment ran Docker Engine 29.1.3 instead of the fixed 29.5.1 release, meaning it had an affected version range for CVE-2026-41567. This high-severity docker cp vulnerability can allow a malicious container to execute arbitrary code as root on the host.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!9gRc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86c6e6c3-761c-45ec-ad14-b079c730ac80_1400x346.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="346" src="https://substackcdn.com/image/fetch/$s_!9gRc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86c6e6c3-761c-45ec-ad14-b079c730ac80_1400x346.webp" width="1400" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For what it&amp;#8217;s worth, the same Gold provider as above (Azure) shows very different security results across two separate environments. Azure Kubernetes passed the runc and NVIDIA Container Toolkit minimum version checks that applied when it was audited, while its NVIDIA driver failed to meet minimum versions in the Slurm and Kubernetes environment we tested.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Container escapes are ever present, and providers need a system in place to make upgrades over time. No single piece of software can run forever. Everything has a lifecycle and needs to be upgraded eventually. It&amp;#8217;s best to plan for this in advance.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Don&amp;#8217;t forget the Computer Inside the Network Card&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;NVIDIA introduced BlueField DPUs following their Mellanox acquisition, and gave the category a name in October 2020 when they announced the &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-introduces-new-family-of-bluefield-dpus-to-bring-breakthrough-networking-storage-and-security-performance-to-every-data-center"&gt;&lt;span&gt;BlueField-2 DPU&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the term data processing unit in the same breath. &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-extends-data-center-infrastructure-processing-roadmap-with-bluefield-3"&gt;&lt;span&gt;BlueField-3&lt;/span&gt;&lt;/a&gt;&lt;span&gt; followed in April 2021 and reached &lt;/span&gt;&lt;a href="https://www.hpcwire.com/2023/03/21/nvidia-announces-bluefield-3-ga-oracle-cloud-is-early-user/"&gt;&lt;span&gt;general availability in early 2023&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The pitch is simple enough. The card offloads, accelerates, and isolates software-defined networking, storage, security, and management functions, taking that work off the host CPU so the expensive silicon can get on with its actual job. This is not a niche thing, as NVIDIA&amp;#8217;s &lt;/span&gt;&lt;a href="https://blogs.nvidia.com/blog/ai-cloud-providers-reference-architecture/"&gt;&lt;span&gt;reference architecture&lt;/span&gt;&lt;/a&gt;&lt;span&gt; basically mandates the use of BlueField-3 for north-south connectivity, storage acceleration, and zero-trust security, so any neocloud built to NVIDIA&amp;#8217;s blueprint has them by design.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But a BlueField DPU is not really a network card. It is an Arm computer that happens to share a package with a ConnectX NIC, with its own CPU cores, its own memory, its own Linux install, and its own management port (and BMC). In DPU mode, the Arm side owns the NIC resources and the data path, which is the entire reason providers buy them. Per-tenant VPC isolation, flow tables, and firewall rules all run there. Tenants are not supposed to have access to the DPUs themselves, just use the features they provide.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In NVIDIA&amp;#8217;s &lt;/span&gt;&lt;a href="https://networking-docs.nvidia.com/doca/archive/3-4-0/bluefield-modes-of-operation"&gt;&lt;span&gt;table of BlueField operating modes&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, DPU mode carries the trust model &amp;#8220;host-trusted&amp;#8221; and is the default for DPU SKUs. The alternative is zero-trust mode, a variation of DPU mode that &amp;#8220;enhances security by preventing the host system administrator from accessing BlueField from the host side,&amp;#8221; which disables the RShim interface, restricts firmware flashing from the host, blocks the tracer, denies hardware counters, and prevents the host from claiming port ownership. NVIDIA&amp;#8217;s &lt;/span&gt;&lt;a href="https://networking-docs.nvidia.com/dpf/25100/zero-trust-deployment"&gt;&lt;span&gt;provisioning framework&lt;/span&gt;&lt;/a&gt;&lt;span&gt; offers the same choice, a host-trusted deployment or a zero-trust one where the host is treated as untrusted and sees the DPU as a standard NIC with no access to its management plane.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA&amp;#8217;s threat model assumes the host administrator is trusted. In a GPU cloud the tenant is often the host administrator, as most providers hand over dedicated nodes with root. That makes the party NVIDIA trusts and the party the provider is trying to isolate the same.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Left at the default, the host keeps a private link to the DPU&amp;#8217;s Arm cores through the RShim driver, which appears as /dev/rshim0 and a virtual Ethernet interface named tmfifo_net0, with the DPU answering at a fixed address on a documented subnet. In our testing, we check for that link from inside a tenant environment, because in a properly configured multi-tenant cluster, the link should not exist. However, during our initial testing on only a handful of providers, we have found at least one misconfigured host where the RShim path was present.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two things follow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, it inverts the control the provider is selling. BlueField DPUs are often tasked to handle routing and firewall, offloading work from the host OS. That&amp;#8217;s the whole point that makes them different than a NIC. However, these services are only safe in a multi-tenant environment if the host cannot reach the DPU. With RShim open, the enforcement plane is reachable from the thing it is enforcing against. Behind that door are the eSwitch data path implementing the VPC for every tenant, flow tables, virtio-net controller, and firmware. One relevant example is &lt;/span&gt;&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2025-23299"&gt;&lt;span&gt;CVE-2025-23299&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, an out-of-bounds write in a BlueField and ConnectX management interface that may allow a highly privileged local actor to execute arbitrary code. The public advisory does not identify RShim as the affected component, however being a privileged user and having access to RShim gives a direct path to exploiting this vuln.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, DPU software modifications survive reprovisioning on the host side. Since the DPU&amp;#8217;s firmware and its Arm-side operating system live on the device, not on the host disk, reimaging a host does not reflash its DPU, if previously contaminated. Providers that recycle machines between tenants are recycling a full Arm computer along with the server. In fact, NVIDIA&amp;#8217;s documented host-trusted workflow explicitly allows the host to provision BlueField, reset its Arm cores, and install a full DPU image through RShim. In a bare-metal cloud where the customer is root on the host, exposing that workflow is itself the trust-boundary failure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cluster operators, especially those providing bare metal and clusters with root available by default, should check their DPU operation mode, and disable RShim or restrict certain capabilities like flashing the DPU. To be extra safe, the provisioning procedure should also re-image and flash firmware on the DPUs so that any tampering at the DPU operating system layer is wiped between users on the same node.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VBDi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81634e15-b918-4322-8d29-1f97bfddc67a_716x1154.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="544.7653631284916" src="https://substackcdn.com/image/fetch/$s_!VBDi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81634e15-b918-4322-8d29-1f97bfddc67a_716x1154.webp" width="338" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: us&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Using agents to build POCs for vulnerabilities&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;For a lot of the POCs that we built for existing vulnerabilities to demonstrate details to providers, the biggest challenge was the guardrails on the closed-source models. Fable would right away reject and degrade the request to Opus 4.8, which would reject building any POCs or even answering any questions related to security. Even simple questions related to security or CVEs, Fable would reject outright.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;GPT 5.6 Sol was more flexible and also played a decent role in orchestrating and planning, as well as serving as a &amp;#8220;verification&amp;#8221; model: an open source model would build the POC and 5.6 Sol would judge it correct or not. After a point, though, 5.6 Sol would also start rejecting the requests, too.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of the code was written by hand or with assistance from open-source or open-weight models, specifically Kimi K3, GLM 5.2, and DeepSeek V4. Kimi K3 and GLM 5.2 frequently restricted requests to build functional vulnerability POCs, even when the work was scoped to authorized testing. DeepSeek V4 was generally more permissive, but occasionally generated false positives or implementations that did not reproduce the intended behavior. These results were reviewed against a defined test rubric using 5.6 Sol as a verifier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This demonstrates a clear gap in defensive security research. Whitehat researchers need functional PoCs to validate vulnerabilities, but capable models restrict this work even when users are authorized. Researchers are therefore often pushed toward open models that provide greater control but don&amp;#8217;t match frontier models in reasoning, reliability, or technical depth. This is like fighting with one hand tied behind your back. And this is exactly what HuggingFace encountered during the OpenAI incident described above, where they were literally under attack by frontier closed-source models, and had to work to block their requests, analyze artifacts, payloads, and logs on their platform mainly with open-source models such as GLM. It is worth noting that it only because of HuggingFace&amp;#8217;s use of these models that they root-caused the attack in the first place. OpenAI did not know about the details and extent of the issue until they got in touch with HuggingFace and coordinated. It is literally not possible to keep up with the frontier of cybersecurity research today if you do not have access to a frontier model that is capable of reasoning openly about cybersecurity topics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!CkLO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3983e92f-4343-48c4-b637-beaedb7d00f6_751x212.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="212" src="https://substackcdn.com/image/fetch/$s_!CkLO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3983e92f-4343-48c4-b637-beaedb7d00f6_751x212.webp" width="751" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Vhz0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd226415-3350-4d1e-92f6-6c04adf541b9_737x165.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="165" src="https://substackcdn.com/image/fetch/$s_!Vhz0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd226415-3350-4d1e-92f6-6c04adf541b9_737x165.webp" width="737" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: getting rejected by Fable&amp;#8230; we&amp;#8217;re just asking questions!&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Our Recommended Minimum Version (and how to use the cmax audit security CLI)&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;To help neoclouds and operators to keep track of the updated minimum versions, we have a daily refreshed minimum version that gathers bulletin from major sources and hardware/software vendors, and publishes the aggregated minimum versions based on these bulletins.The ClusterMAX website displays and hosts these data for programmatic access by our CLI and other vendors.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To use it, simply install the CLI by following the installation instructions, and run cmax audit security. The CLI will pull the updated minimum version data from ClusterMAX website, and use it to audit your system.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In case of a vulnerable version detected, the CLI prints out the relevant security bulletins with clickable links in the console, and the suggested version to update to.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!S3oW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aaa0cfa-23d0-4bf5-8eaf-7996b01ec41d_1456x424.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="424" src="https://substackcdn.com/image/fetch/$s_!S3oW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aaa0cfa-23d0-4bf5-8eaf-7996b01ec41d_1456x424.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX CLI 0.3.0 Security Module&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For reference, here is our table for current minimum versions across a number of popular pieces of software, driver, libraries and firmware. All of this comes from public security bulletins and are only accurate as of time of writing (August 19, 2026):&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fms5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494a94ed-ad6c-42ce-8bd1-6cd772f09584_1456x673.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="673" src="https://substackcdn.com/image/fetch/$s_!fms5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494a94ed-ad6c-42ce-8bd1-6cd772f09584_1456x673.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:  clustermax.ai website (add this to the public website before publishing, PR made)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;In Summary: What Do Most Providers Need To Fix?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;If you are still reading, lets assume that you have crossed the bar for taking security seriously. So what can you do?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the modern day, providers need a SYSTEM to get stuff patched. Top cloud providers have the same system to deploy patches as they do to provision new clusters. It is a system that includes humans, scripts, and increasingly, AI.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Firstly is a system to monitor security bulletins like our daily refreshed minimum version. Among the neoclouds we tested, only a handful have an existing automated system for this, while the others largely rely on a fixed patching cycle of monthly or even longer. With the rapid development of cyber security focused models, such patching cadence is no longer sufficient.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;So, here is our recommendations to the humans and the AIs about what to put in their scripts:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Please get your stuff updated to the &lt;/span&gt;&lt;a href="https://www.clustermax.ai/"&gt;&lt;span&gt;minimum versions&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on our public website (and feel free to use &lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to help with this)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Please spend the time (and money, in some cases) to fix bad designs. No single points of failure that expose all of your users is the new rule. So stop doing namespace isolation on k8s with shared nodes, stop doing container-only isolation between tenants, stop giving people access to BMCs and DPUs, and implement your InifiniBand security keys correctly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;With that, we look forward to seeing you soon for ClusterMAX 3.0!&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;Implications for NVIDIA, AMD, and all the chip startups&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/most-neoclouds-suck-at-security"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/most-neoclouds-suck-at-security"/>
    <summary type="html">&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zWz0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc647fca6-8c53-43a7-af27-f4396a31077b_1448x1086.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1086" src="https://substackcdn.com/image/fetch/$s_!zWz0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc647fca6-8c53-43a7-af27-f4396a31077b_1448x1086.png" width="1448" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In Shakespeare&amp;#8217;s &lt;/span&gt;&lt;em&gt;&lt;span&gt;Julius Caesar&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, Caesar ignores a soothsayer&amp;#8217;s warning, shrugs off his wife&amp;#8217;s dream of blood running through the streets, waves away a letter revealing his  assassins by name, and strides gallantly into the one room in Rome where every senator is &amp;#8220;required&amp;#8221; to check their weapons at the door. Two thousand years later, neoclouds are making the same walk; so, increasingly, are the customers who trust them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The largest AI companies in the world are building a multivendor infrastructure supply chain at Mach speed. Every new vendor is a counterparty risk, with subcontractors and subprocesses that need to be checked. This means that neolab CISOs are getting a seat at the negotiating table: anyone serious about their future takes security deadly seriously.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Yet, over the course of our neocloud testing for ClusterMAX 3.0, we saw some security horror stories. In this article, we&amp;#8217;ll discuss the state of cybersec in the AI era, relay 5 frightening patterns we came across, and how neoclouds and neolabs can stay safe in this new world.&lt;/span&gt;&lt;/p&gt;&lt;div class="pullquote"&gt;&lt;p&gt;&lt;span&gt;Before we get started&amp;#8230;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;To all neocloud operators and users&amp;#8230;&lt;/p&gt;&lt;p&gt;If you&amp;#8217;re reading this, please make sure your shit is up to date&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Install the latest version of our ClusterMAX CLI by running &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;pip install clustermax&lt;/span&gt;&lt;/strong&gt; on your machine, or &lt;a href="https://github.com/SemiAnalysisAI/clustermax"&gt;clone the repo on GitHub&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Then run our convenience script: &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;cmax audit security&lt;/span&gt;&lt;/strong&gt; for a free report from us on your cluster or standalone GPU machine.&lt;/p&gt;&lt;p&gt;The &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;cmax&lt;/span&gt; &lt;/strong&gt;CLI will auto-detect Slurm clusters, Kubernetes clusters, standalone VMs, bare-metal machines, and containers, and compare them against a set of baseline software versions with known vulnerabilities. For anything out of date, you will be provided a link to the relevant documentation and security bulletin.&lt;/p&gt;&lt;p&gt;To be clear, &lt;strong&gt;&lt;span style="color: rgb(248, 168, 72);"&gt;this is a small subset of our ClusterMAX testing&lt;/span&gt;&lt;/strong&gt;, and even a small subset of the full analysis we do on provider&amp;#8217;s security. You will see things in this article that is not covered by the CLI. The CLI only involves things that we can test from the customer&amp;#8217;s perspective. We do many interviews of end user customers and the providers themselves to check on the architecture decisions they have made on their orchestration software, OS provisioning, firmware management, networking, storage and more. &lt;/p&gt;&lt;p&gt;A full list of our testing criteria is available at: &lt;a href="https://www.clustermax.ai/criteria"&gt;https://www.clustermax.ai/criteria&lt;/a&gt;   &lt;/p&gt;&lt;p&gt;The testing process we follow for ClusterMAX covers 3 phases: audit, performance, and reliability, where each takes longer and is more intense than the last, involving dozens of benchmarks and simulated hardware failures that stress the compute, networking, storage, monitoring systems, and health checks individually. Running an audit on your cluster should take a few minutes. Completing performance and reliability testing in full takes a few hours and a few days respectively, and requires a minimum of 4 nodes. &lt;/p&gt;&lt;div&gt;&lt;hr /&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our decision to publish an article dedicated to neocloud security before the full ClusterMAX 3.0 report stems from two major factors:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://www.anthropic.com/glasswing"&gt;&lt;span&gt;Project Glasswing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://openai.com/daybreak/"&gt;&lt;span&gt;Daybreak&lt;/span&gt;&lt;/a&gt;&lt;span&gt; from Anthropic and OpenAI are discovering new vulnerabilities in industry-standard software, building POC exploits, and publishing the details in CVE descriptions.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Open models such as Kimi K3, GLM-5.2, DeepSeek V4, Qwen 3.8, MiMo V2.5, MiniMax M3, Nemotron, Gemma, and Inkling are all rising in security benchmarks such as Cybench, &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2406.05590"&gt;&lt;span&gt;NYU CTF Bench&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, AutoAdvExBench, and &lt;/span&gt;&lt;a href="https://ai.meta.com/research/publications/cyberseceval-3-advancing-the-evaluation-of-cybersecurity-risks-and-capabilities-in-large-language-models/"&gt;&lt;span&gt;Cyberseceval 3&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This makes it trivial for black hats to develop exploits from a CVE description as they can circumvent model guardrails.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Thus, when we began our research, we expected to find jarring statistics about AI agents tearing the internet &lt;/span&gt;apart&lt;span&gt;. Modern models are saturating increasingly difficult coding benchmarks, and they&amp;#8217;re rapidly improving on cyber ones, too. This tracks with the subjective experience of anyone who&amp;#8217;s used the models as heavily as we have for the past years.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DBLk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f0785bb-ebb1-42da-950f-5fdc1cea9c5f_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!DBLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f0785bb-ebb1-42da-950f-5fdc1cea9c5f_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This also tracks with the press campaigns of frontier labs and security companies, whose CEOs have been &lt;a href="https://www.cnbc.com/video/2026/04/08/crowdstrike-ceo-ai-finding-vulnerabilities-will-cause-high-number-of-cybersecurity-attacks.html"&gt;frequenting cable news&lt;/a&gt; to warn that &amp;#8220;&lt;a href="https://www.cnbc.com/video/2026/05/21/ai-has-fundamentally-changed-the-tempo-of-cybersecurity-says-f5-ceo.html"&gt;AI has fundamentally changed the tempo of cybersecurity&lt;/a&gt;.&amp;#8221; Models like Mythos have discovered &amp;#8220;&lt;a href="https://www.reuters.com/business/finance/anthropics-mythos-sends-us-banks-rushing-plug-cyber-holes-2026-05-12/"&gt;thousands of vulnerabilities&lt;/a&gt;,&amp;#8221; &lt;a href="https://www.networkworld.com/article/4205156/palo-alto-networks-at-black-hat-how-ai-erased-the-50-day-patch-window.html"&gt;many of which are zero-days&lt;/a&gt;. Last Thursday, OpenAI posted an open letter, cosigned by Anthropic and just about everyone else in the industry, announcing &amp;#8220;&lt;a href="https://openai.com/collective-cyberdefense/"&gt;A call for collective action on cyber defense&lt;/a&gt;.&amp;#8221; &lt;/p&gt;&lt;p&gt;Disappointingly, instead of critical insights, the text was stuffed with self-help clich&amp;#233;s: &amp;#8220;the status quo&amp;#8230; won&amp;#8217;t be enough,&amp;#8221; but if we &amp;#8220;share what works,&amp;#8221; then &amp;#8220;together, we can.&amp;#8221; We agree that cybersecurity has never been more crucial&amp;#8212;hence this article&amp;#8212;and have already published &lt;a href="https://newsletter.semianalysis.com/p/finding-miscompiles-for-fun-not-profit"&gt;our experience hunting for bugs with LLMs&lt;/a&gt;. But we are also aware that the loudest voices in this conversation, including everyone quoted in the previous paragraph, has something to sell. And to our surprise, we can&amp;#8217;t find the data to back up the prevailing narrative, much less any &amp;#8220;fundamental change.&amp;#8221;&lt;/p&gt;&lt;p&gt;It&amp;#8217;s early innings, and it&amp;#8217;s possible that drastic statistics await us. Enough &lt;a href="https://falcao.org/posts/ai-bug-reports-open-source/"&gt;security researchers have reported qualitative changes in their work&lt;/a&gt; that we will keep a close eye. We also know that there is defensive work happening behind closed doors that can&amp;#8217;t be immediately disclosed. Nevertheless, months after the dramatic announcement of Project Glasswing, in the vast majority of relevant statistics, we fail to reject the hypothesis of no change.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The chart below shows CVEs per quarter in the essential software that we use in our ClusterMAX testing: the Nvidia GPU driver, CUDA, PyTorch, Kubernetes, and Docker. The latter three libraries are open-source, and we expected there to be lots of low-hanging fruit as modern coding models read every line of their source code with security in mind. The time series, however, disagrees.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TomB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4913e0aa-aaa4-4739-97a5-a8fdc7a832c7_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!TomB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4913e0aa-aaa4-4739-97a5-a8fdc7a832c7_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The Linux kernel is another interesting case. Linus &lt;a href="https://lore.kernel.org/linux-media/CAHk-=wi4zC+Ze8e+p3tMv8TtG_80KzsZ1syL9anBtmEh5Z40vg@mail.gmail.com/"&gt;recently wrote a note on the promise of LLM tools in software&lt;/a&gt;, declaring that he is &amp;#8220;willing to absolutely put [his] foot down as the top-level maintainer,&amp;#8221; continuing, &amp;#8220;AI is a tool, just like other tools we use. And it&amp;#8217;s clearly a useful one.&amp;#8221; One might expect the Linux kernel to be patching bugs like mad. But the effect is mixed, and ultimately not statistically significant. August 2026 will be its most prolific month since it became an independent CNA, but June 2026&amp;#8212;perhaps the peak of AI cyber discourse as &lt;a href="https://x.com/SemiAnalysis_/status/2065866999188898080"&gt;Mythos was released and quickly removed&lt;/a&gt;&amp;#8212;sat around the all-time median. It will take time for a clearer view of the net impact to emerge.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3aaC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8f78cd-a715-4551-aa3a-a023f7d681ed_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!3aaC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8f78cd-a715-4551-aa3a-a023f7d681ed_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;One place we did find an effect is in Project Glasswing: under a flat null, member orgs saw a statistically significant YoY surge after the project began compared to control orgs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yqO6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2164b0e2-3983-445b-8b50-c301ff3d153e_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!yqO6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2164b0e2-3983-445b-8b50-c301ff3d153e_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This result is very robust to a number of ways we ran the control. Of course, skepticism is still due. One effect that we couldn&amp;#8217;t tease out is that Project Glasswing members are incentivized to report large numbers of bug fixes as a way of advertising their inclusion in this elite group. They can flex that they&amp;#8217;re moving fast and on the cutting edge&amp;#8212;it&amp;#8217;s good press. It&amp;#8217;s also worth noting that we have a trash can full of tests that we expected to show AI&amp;#8217;s huge impact on cybersecurity but did not. When you look for enough relationships, you&amp;#8217;ll get significant results eventually. We urge readers to crunch their own numbers.&lt;/p&gt;&lt;p&gt;Looking only at Nvidia and AMD&amp;#8217;s AI stacks, we see a surge, which hits a little closer to home than Project Glasswing because we use these tools every day. The growth since capable AI coding models became available is clear. You could argue that these libraries are the best place to see the effect of AI&amp;#8212;after all, AI developers are its most aggressive early adopters. Yet it seems much more parsimonious to attribute this trend to the increased churn and usage of these libraries. It could even be from people using AI to introduce new bugs in the first place!&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LBdq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff97f40-e764-46ea-a8c1-30cbf0483b0a_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!LBdq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff97f40-e764-46ea-a8c1-30cbf0483b0a_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Research, sales@semianalysis.com&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;If we take &lt;a href="https://newsletter.semianalysis.com/p/anthropic-3q26-profit-over-1b-the"&gt;Anthropic ARR&lt;/a&gt; as a stand-in for AI software usage writ large, we find that AI-stack CVE growth gets big-O dominated. This is remarkable because &lt;a href="https://www.anthropic.com/company"&gt;Anthropic is an AI safety and research company acting for the global good&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kqb3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7c9d81a-090a-44a6-96b9-84ac4f9ba2a2_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!Kqb3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7c9d81a-090a-44a6-96b9-84ac4f9ba2a2_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Meme Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Jokes aside, the Google Chrome team may have given a preview of the future of software engineering in an insightful &lt;/span&gt;&lt;a href="https://blog.google/security/chrome-stronger-with-every-update/"&gt;&lt;span&gt;recent blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that describes, with the help of agents, how their bug fixes have been skyrocketing. They also highlighted a &lt;/span&gt;&lt;a href="https://issues.chromium.org/issues/487383169"&gt;&lt;span&gt;sandbox escape&lt;/span&gt;&lt;/a&gt;&lt;span&gt; bug that existed in their code for 13 years. Imagine someone exploiting this secretly for 13 years! Google claims that they were able to fully automate the bug discovery and fix process, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/gemini-is-cooked-but-gcp-is-cooking"&gt;&lt;span&gt;even using a homemade model they call &amp;#8220;Gemini.&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt; It is possible that other projects are badly bottlenecked by human verification, and that once they adopt AI-native processes like Google their bug fixes will also spike.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EWEn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e1613c-755d-46cf-8ad4-c893ba699a82_1456x819.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!EWEn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e1613c-755d-46cf-8ad4-c893ba699a82_1456x819.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Chrome Security Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Another plausible explanation is that AI has rendered the CVE disclosure process obsolete. Models are usually made available to the general public all at once, so if today&amp;#8217;s new model finds a previously undetectable bug, it&amp;#8217;s probably finding it for other researchers as well. As Linus said, &amp;#8220;&lt;a href="https://lwn.net/Articles/1073193/"&gt;AI detected bugs are pretty much by definition not secret&lt;/a&gt;.&amp;#8221; Human reviewers are swamped in bug reports, so CVE publication lags this discovery; it may even lag so much that CVE count is no longer worth tracking. Imagine you have found a bug and built a fix, but you know that others have probably discovered it independently. CVEs take a week to get assigned and published at a minimum: plenty of time for others to exploit. What&amp;#8217;s the point of disclosing? This dynamic also makes embargo programs irrelevant. In a world where all the bugs are due to AI, it&amp;#8217;s access to the models, not membership in some secret program, that counts. This dynamic is described to us by our friends working on security teams and corroborated by Linus, who said &amp;#8220;treating [AI detected bugs] on some private list is a waste of time for everybody.&amp;#8221; &lt;/p&gt;&lt;p&gt;Still, it&amp;#8217;s easy to invent just-so stories, and it would be odd if it turned out that AI&amp;#8217;s impact was so big that that you couldn&amp;#8217;t see it in the data. Our research reveals no relationship between AI-assisted patch policy and rate of CVE disclosure. We&amp;#8217;ve also checked whether engineers are increasingly skipping the disclosure process to merge straight into upstream, but this seems not to be the case. &lt;/p&gt;&lt;p&gt;Regardless of how AI shows up in these aggregate statistics, though, we hope the recent anecdotes are enough to scare some sense into neoclouds. The IP they protect is priceless, so, if nothing else, they should take this as a sign to do some badly needed deep cleaning.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Notably, we started all this work on security well before Glasswing and the OpenAI Black Hat talk, and have been on our security soapbox since at least &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/174558503/security"&gt;&lt;span&gt;ClusterMAX 1.0&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March 2025. Even our original &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ai-neocloud-playbook-and-anatomy"&gt;&lt;span&gt;AI Neocloud Playbook and Anatomy&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article in October 2024 discusses security differences between different players in different regions, right after Dan coined the term &amp;#8220;neocloud.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Anyway, everyone is saying that you should watch &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=87DyyMV0kCY"&gt;&lt;span&gt;this talk&lt;/span&gt;&lt;/a&gt;&lt;span&gt; from OpenAI at Black Hat USA 2026. And you should. But as more details come out, it is clear that talk doesn&amp;#8217;t go far enough in explaining the implications of the incident. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Our good friend/family member Dwarkesh gave his take &lt;a href="https://www.dwarkesh.com/p/openai-huggingface?utm_campaign=posts-open-in-app&amp;amp;triedRedirect=true"&gt;here&lt;/a&gt;, where he describes the agent swarms as &amp;#8220;AI civilizations&amp;#8221; and then walks through some of the mechanics and implications. It is an impressive account and well worth reading.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below we&amp;#8217;ll give our take on a summary of the incident just the same.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;The OpenAI vs HuggingFace Security Incident&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Zvnm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff92bb5d9-868f-4934-8d3e-f753f03f75a1_678x624.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="364.46017699115043" src="https://substackcdn.com/image/fetch/$s_!Zvnm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff92bb5d9-868f-4934-8d3e-f753f03f75a1_678x624.png" width="396" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;How agents talk to each other when they&amp;#8217;re using JFrog Artificatory as a message board to coordinate a swarm. &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here&amp;#8217;s the Hugging Face timeline:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Beginning on July 9, AI agents exploit Hugging Face&amp;#8217;s datasets API, which runs on Kubernetes. The agents write up a malicious README that gets the worker that usually splits hdf5 datasets into train/test &lt;/span&gt;to&lt;span&gt; read instead from /proc/self/environ, and return all creds and source on that worker.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The agents take these creds and source and design another injection: they upload another malicious README to the same datasets API, then get RCE on the workers by injecting a Jinja2 template that causes the dataset viewer (the thing that usually renders the README into the model or dataset card) to run arbitrary Python.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;13 hours later, the agents get cluster-admin privilege on multiple K8s clusters in Hugging Face&amp;#8217;s infrastructure, moving laterally (no details on how).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The cluster-admin and lateral movement happen on July 11. Notably, Hugging Face has no admission policy running on this cluster to reject privileged pods or pods that mounted hostPath.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 13, &lt;/span&gt;Hugging Face detects and contain the attack, but they have a hard time because &amp;#8220;the campaign kept rebuilding its tooling and channels across short-lived environments.&amp;#8221; Basically, the only way they could figure out what was going on was by using AI, but they couldn&amp;#8217;t use Claude because both Opus and Fable were giving refusals, so they used GLM-5.2 (maybe talking their book here, who knows).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;They publish a &lt;/span&gt;&lt;a href="https://huggingface.co/blog/security-incident-july-2026"&gt;&lt;span&gt;blog&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on July 15 about this.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Meanwhile, over at OpenAI:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 7, they start training a new model, likely doing a bunch of RL on cybersecurity tasks.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 8, an agent is working on a task, wants internet access, but can&amp;#8217;t get it. It launches an attack against Artifactory&amp;#8212;a proxy for package managers like pip, npm, apt, gem, etc&amp;#8212;that it can use to install the packages it needs in its sandbox. The agent finds out it can also write files, but its token budget runs out, so it stops.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 12, another agent finds the file on Artifactory and writes its own. Then, a bunch of other agents start using Artifactory as a message board.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On May 26, the agents get internet access through an SSRF attack on Artifactory, documenting it on there.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On June 11, a new model starts training. The message board is waiting for it.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;By June 26, this new model has found an RCE on Artifactory, which is now described in &lt;/span&gt;&lt;a href="https://opencve.alliance.unm.edu/cve/CVE-2026-65617"&gt;&lt;span&gt;CVE-2026-65617&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Others start using it, getting admin tokens, etc.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 4, the agents have used Artifactory so much they blow it up. OpenAI finds everything, patches it, and clears the message board. Training starts again.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 8, the agents re-establish the message board but this time via directory names in a remote cache, not files (the filenames look insane, watch the talk). They then get another crazy RCE via gem, escalate via &amp;#8220;pte_physroot&amp;#8221; and a CVE in the Linux kernel they don&amp;#8217;t explain (but say it&amp;#8217;s public and recent, so let&amp;#8217;s say its &lt;/span&gt;&lt;a href="https://nvd.nist.gov/vuln/detail/cve-2026-46300"&gt;&lt;span&gt;Fragnesia: CVE-2026-46300, published May 23&lt;/span&gt;&lt;/a&gt;&lt;span&gt;).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Things come together:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;On July 19, OpenAI detects the privilege escalation going on (since July 8?). They find credentials when going through what happened and notify third parties including Hugging Face.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Hugging Face says, &amp;#8220;yeah, didn&amp;#8217;t you see our blog on July 16? We invalidated these creds&amp;#8230; they&amp;#8217;re &lt;/span&gt;&lt;em&gt;&lt;span&gt;yours?&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;OpenAI publishes a blog on July 21 telling people it was them: &amp;#8220;The models identified and chained vulnerabilities across OpenAI&amp;#8217;s research environment and Hugging Face&amp;#8217;s production infrastructure to obtain test solutions directly from Hugging Face&amp;#8217;s production database. All evidence suggests that the models were hyperfocused on finding a solution for ExploitGym, going to extreme lengths to achieve a rather narrow testing goal.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Hugging Face publishes another blog on July 27, giving details and a real timeline.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;OpenAI gives &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=87DyyMV0kCY"&gt;&lt;span&gt;the talk at Black Hat&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on Aug 6.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;For what it&amp;#8217;s worth, &lt;/span&gt;&lt;a href="https://openai.com/index/responding-next-frontier-critical-cyber-capabilities"&gt;&lt;span&gt;this model is not based on OpenAI&amp;#8217;s new pretrain, called Doug&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;#8220;Astra [aka Doug] is an upcoming model, and was not involved in exploiting Hugging Face.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h1&gt;&lt;span&gt;The Two Edges of Security Disclosures&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Security disclosures, in general, are double-edged. Every description of a known vulnerability goes public on the same day to both the white hats and black hats of the world.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is why embargoed security programs exist. One of our key recommendations to neoclouds is to enroll in this embargo program from Nvidia to ensure that they are receiving updates on the latest undisclosed CVEs and have time to prepare patches that can be rolled out to customers promptly upon disclosure.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!p98a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51faedec-49a1-458d-bc79-d843a2567e3d_1456x432.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="432" src="https://substackcdn.com/image/fetch/$s_!p98a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51faedec-49a1-458d-bc79-d843a2567e3d_1456x432.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.clustermax.ai/criteria#security-part-of-nvidia-security-program-for-embargoed-access-to-latest-security-patches"&gt;Our ClusterMAX Website&amp;#8217;s &amp;#8220;Criteria&amp;#8221; page&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Companies solicit help from the public to surface bugs, though they could be doing more. For example, &lt;/span&gt;&lt;a href="https://www.nvidia.com/en-us/product-security/"&gt;&lt;span&gt;Nvidia&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://www.amd.com/en/resources/product-security.html"&gt;&lt;span&gt;AMD&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.intel.com/content/www/us/en/security/security-practices/vulnerability-management/bug-bounty-program.html"&gt;&lt;span&gt;Intel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; all have product security bulletins, bug bounty programs, and simple intake forms to submit vulnerability reports if discovered. Unfortunately, AMD recently &lt;/span&gt;&lt;a href="https://mrbruh.com/amd2/"&gt;&lt;span&gt;denied a security researcher called Mr. Bruh $10K&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by changing their bug bounty program rules retroactively to exclude MITM attacks, and enforcing a 124 day embargo (90 days is standard). Notably, the exploit successfully demonstrated RCE on AMD systems (literally the worst kind of bug, and the reason why bug bounty programs exist). Hyperscalers have similar programs. &lt;/span&gt;&lt;a href="https://aws.amazon.com/security/vulnerability-reporting/"&gt;&lt;span&gt;AWS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://www.microsoft.com/en-us/msrc/bounty-microsoft-azure"&gt;&lt;span&gt;Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://bughunters.google.com/about/rules/google-friends/cloud-vulnerability-reward-program-rules"&gt;&lt;span&gt;GCP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://www.oracle.com/corporate/security-practices/assurance/vulnerability/disclosure/"&gt;&lt;span&gt;OCI&lt;/span&gt;&lt;/a&gt;&lt;span&gt; publish scope, severity classifications, and safe-harbor terms, with Azure and GCP paying six-figure top-end bounties and hosting live hacking events with $100K+ prize pools. AWS and Oracle have decided to cheap out. Server OEMs such as Dell and SuperMicro have similar intake forms and publish BMC, firmware, and platform advisories, but alas no bounties.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Notably, the only neocloud we are aware of that runs a paid bug bounty program is Together, via &lt;/span&gt;&lt;a href="https://hackerone.com/together_ai"&gt;&lt;span&gt;HackerOne&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The best that every other neocloud offers is a security.txt with contact address.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Our ClusterMAX 3.0 Testing Experience&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In the following sections we will describe our experience during ClusterMAX 3.0 testing, which ran over the course of about 4 months, from April to July. During this time, we have had a change in approach. We have gone from running basic checks that software is up to date (roughly the same as our approach from ClusterMAX 2.0 and 1.0 last year) to running full blown security audits for free, just to try and help people out.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The result is that we have found quite a few dead simple vulnerabilities. We have not developed anything novel. All we have done is use a combination of our experience working with the systems and software neoclouds use, public descriptions of the vulnerabilities (in some cases, over 3 years old), and a healthy token budget for all the latest models (with all the normal safety guardrails being enforced). With this toolkit we have been able to:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;View metadata about other tenants on shared infrastructure via:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;- server IPMIs/BMC networks left open&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;frontend networking with no VLAN or VXLANs setup&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;backend networking with incorrectly configured or missing &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/infiniband-multilayered-security-protects-data-centers-and-ai-workloads"&gt;&lt;span&gt;InfiniBand security keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (P_Key, M_Key, SA_Key, or VS_Key, primarily)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;storage servers not enforcing RBAC correctly on volumes&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;storage configured incorrectly on the overlay network, with customers accessing the underlay&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;monitoring dashboards with god-level authentication configured by mistake&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Breakout of containers and VMs on shared servers and escalations to root privilege, demonstrating an attack on neighboring VMs and containers that run on the same server.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Read data cross-tenant, including on inference endpoints serving traffic publicly, via services such as OpenRouter, due to incorrectly configured Kubernetes services (e.g., not enforcing a default deny NetworkPolicy, or exposing the Kubelet on a public IP)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;And, most critically, one scenario with cascading vulnerabilities (i.e. &amp;#8220;all of the above&amp;#8221;) that lead to cross-tenant RCE, which we demonstrated between two tenants that we owned. Again, we verified patches were made in this place with the provider.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Notably, the metadata exposure and cross-tenant RCEs that we have developed and demonstrated for these neocloud providers exposed customer information from banks, telcos, universities, research institutions, AI labs, and in one case, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;a national intelligence agency from a country with a top-10 global GDP&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(We disclosed this immediately, the provider patched it within a week, and we verified the patch).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Neoclouds are important. In the last year, neoclouds have signed deals with the biggest and most important companies in the world worth hundreds of billions. OpenAI, Anthropic, Google, Meta, SpaceX, Microsoft, Amazon, AMD, NVIDIA and many more well funded companies currently rent GPUs from neoclouds.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below is a summary to give you a sense of the size of this capacity, sourced from our industry leading &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that tracks over 6,000 sites globally, including all the top neoclouds and neolabs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rpbt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0287563-ca41-4990-b87a-0066c223128f_1600x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!rpbt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0287563-ca41-4990-b87a-0066c223128f_1600x900.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Industry Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;But there is a reason that frontier labs take bare metal clusters, insist on zero-trust policies, and generally only give the neocloud operator read-only access to their own systems. We will now describe this in more detail.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Before we go any further&amp;#8230;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;We are following the &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Coordinated_vulnerability_disclosure"&gt;&lt;span&gt;principles of responsible disclosure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in this article. You can rest assured that all neoclouds that have given us a cluster during ClusterMAX 3.0 testing (a total of 25 providers and 32 clusters where we did extensive testing for this round, and many more providers of single-GPU VMs or bare metal only where we do light testing or high level analysis of the business) have been notified of all our findings. We have put in a lot of time and effort to describe how to reproduce the findings, how to roll out patches, and how to verify that things are patched.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In cases where providers have not responded, been slow to respond, or even been directly confrontational with us, we have taken further steps, such as notifying their current and prospective customers and investors about the details. In every case this has led to a positive outcome for all parties involved (our view, of course).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This also means that we have waited an appropriate amount of time before publishing this article. On a positive note, there have been no situations where the 90 day clock we set for providers has expired. In all cases we have either received written confirmation of an upgrade/patch being rolled out, or verified the fix ourselves.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article we are only disclosing vulnerabilities that we have found where there are already public disclosures on the internet. In other words, in most cases, to check if the cluster or VM or container that we got in our testing was vulnerable, we just had to check that it was running a specific version of software vs the publicly stated bare minimum, or we had to check that stuff is configured properly. This means we are not actually disclosing any new vulns. We won&amp;#8217;t have any CVEs in our name here.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Now for the details.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;How Neoclouds Fail&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Many of the vulnerabilities that we found are quite simple, but increase in severity due to bad designs. We define bad designs as anything where a single mistake (such as a publicly described CVE being present, or a provider-side misconfiguration) can lead to an immediate cross-tenant exposure of data, be it metadata, escalation to root privilege, or RCE. Proper designs have layers of security built in.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!R0HL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab7e217-7fa3-4bca-a844-85cb3f7a5ab6_996x1258.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="469.855421686747" src="https://substackcdn.com/image/fetch/$s_!R0HL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab7e217-7fa3-4bca-a844-85cb3f7a5ab6_996x1258.webp" width="372" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Meme Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XtCy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef720a08-ab9d-4845-bf6b-9e50f55f741a_750x762.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="375.92" src="https://substackcdn.com/image/fetch/$s_!XtCy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef720a08-ab9d-4845-bf6b-9e50f55f741a_750x762.png" width="370" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: this, but its a single auth token&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here are some common examples of bad designs:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Containers on shared hardware as the only level of isolation between tenants&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;VMs on shared hardware as the only level of isolation between tenants (less serious than containers, but still risky)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Lack of VXLANs or improper configuration, and no concept of a per-tenant VPC on the frontend network, relying on firewalls&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-tenant Kubernetes control planes, where components such as kube-apiserver, the scheduler, helm charts controlling cluster-wide services such as a shared GPUOperator or NetworkOperator, and etcd are shared across tenants&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;No hardware, firmware, and OS provisioning automation, leading to a practice where machines are recycled between tenants instead of provisioning things from scratch&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Backend storage on a shared network with no isolation (the VPC comment again)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Giving any tenant access to the BMC network (IPMI, Redfish) or to any management port on Bluefield DPUs or any SmartNICs&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Leaving Bluefield DPUs in their default host-trusted mode, where anyone with root on the host can reach the DPU&amp;#8217;s Arm cores over RShim&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Giving any tenant access to login to backend or frontend switches on a shared network&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Incorrect configuration of &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/infiniband-multilayered-security-protects-data-centers-and-ai-workloads/"&gt;&lt;span&gt;InfiniBand security keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt; such as PKey, MKey and SAKey&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Multi-tenant dashboards where infrastructure is shared between internal-facing logs and customer-facing logs&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Controls where provider employees can receive privileged access to tenant logs and monitoring dashboards without tenant permission&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;POC: &lt;span&gt;Bad Design Cascades to Cross Tenant RCE&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In one example, a provider using &lt;/span&gt;&lt;a href="https://github.com/loft-sh/vcluster"&gt;&lt;span&gt;open source vCluster&lt;/span&gt;&lt;/a&gt;&lt;span&gt; chose to deploy shared K8s control plane components for their tenants. This design goes directly against vCluster&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.vcluster.com/docs/vcluster/production-guide/choose-worker-node-model#decide-with-three-questions"&gt;&lt;span&gt;documentation and public materials, which specify to use &amp;#8220;private nodes&amp;#8221;, not &amp;#8220;shared nodes&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and, of course, to keep things up to date. In our testing, this led to us seeing metadata about the other tenants on the shared K8s cluster we had access to. We could see things such as namespace names, node labels/taints, and physical host resources. This led us to want to dig in further. Machines were clearly being shared between tenants without fresh provisioning.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We quickly found that all of the software installed on the cluster was 2+ years out of date (such as the cluster-wide Nvidia GPUOperator), the cluster did not enforce default deny NetworkPolicy correctly, and the kubelet on all nodes was available on a publicly routable IP address. This led to three separate potential methods of cross-tenant credential exposure and RCE, one of which we built a POC for in an afternoon (thank you /goal) to demonstrate cross-tenant RCE on a separate tenant that we owned.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A growing number of neoclouds double as token providers, selling inference off the same infrastructure they rent out by the GPU-hour. To make matters worse, one of the co-tenants that we stumbled upon in the infrastructure is a prominent inference provider serving open model tokens to public customers on OpenRouter and via direct API keys. Anyone blindly trusting these endpoints with, for example, their OpenClaw or coding harness traffic, is exposing their personal information to all tenants on this infrastructure with a trivial exploit.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RWux!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf5b0-dc76-4162-81f2-9840da43a564_1456x442.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="442" src="https://substackcdn.com/image/fetch/$s_!RWux!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265cf5b0-dc76-4162-81f2-9840da43a564_1456x442.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Worse, if that infrastructure is compromised, the attacker does not just read your prompts, they potentially could control the bytes coming back on the API response. An agent harness running in YOLO mode will happily take a tool call, a shell command, or a &amp;#8220;helpful&amp;#8221; install script out of that response and execute it on the developer&amp;#8217;s machine or in CI, no questions asked. In other words, a tenant isolation failure at a token provider is a supply chain attack with a direct path to RCE on the customer side, the customer being none the wiser.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is a clear example of cascading vulnerabilities. Individual configuration issues and out-of-date software can seem minor in isolation, but lead to full RCE and credential exposure in practice.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(In this case, we got the provider to set us up with a second tenant to demonstrate the exploit, did so for them, and then wrote up some detailed documentation and followed up with them multiple times over the course of a few months to get things fixed, which they eventually did, mainly by just upgrading vCluster to a modern version and following their recommendations.)&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Grafana Dashboards Build Internal and External Facing Dashboards on Shared Infrastructure&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As a second example of a bad design, one provider that we tested made monitoring infrastructure shared. The Grafana dashboard we were initially given was misconfigured where we could see both our tenant (4 nodes in a Slurm cluster) and also some other random tenant (a single machine). This immediately set off alarm bells.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once we notified them to update things, we started digging in more and eventually found that tenants were displaying information separately on Grafana, but our Grafana dashboard was using a Prometheus API key with god level privilege to read logs and metrics from every single tenant. Tenancy was only enforced on the display dashboard. This means that the difference between us seeing our own logs and every other tenant&amp;#8217;s logs depended on a single, manually configured access token. So not only was our first token fat-thumbed to see another tenant&amp;#8217;s logs, the actual API key for Prometheus could pull everything!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a basic test to check what we could see, we hit the prometheus API and found logs/metrics for every single other tenant, including tenants such as AI research institutions, banks, telcos, and even the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;national intelligence agency of the country where we were doing the testing&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!L0Vm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d1951c-3c60-4bde-a31d-51b7da9e202b_980x1112.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="481.1102040816327" src="https://substackcdn.com/image/fetch/$s_!L0Vm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d1951c-3c60-4bde-a31d-51b7da9e202b_980x1112.webp" width="424" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Grafana can be used to visualize all sorts of data. In this case, we found the following:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Live GPU utilization data (lots were idling btw)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;NVLink bandwidth utilization metrics&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Filesystem usage per directory/mountpoint&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Slurm project names&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;K8s pod counts per namespace, pod names&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;vLLM inference stats (request counts, ttft)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Fortigate firewall and switch metrics&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Tenants of tenants (for resellers using the underlying GPUs on the platform)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Exposed cockpit servers on other tenants, which may have been vulnerable to &lt;/span&gt;&lt;a href="https://access.redhat.com/security/cve/cve-2026-4631"&gt;&lt;span&gt;CVE-2026-4631&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, though we did not test this as we didn&amp;#8217;t have any RHEL/Rocky servers in a tenant that we owned, and had already notified the provider and were working with them on verifying that patches were in place, but it is quite plausible that they were vulnerable&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Overall, a pretty absurd finding for an initial check and the motivation for the single point of failure memes at the beginning of this article.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Tenant Isolation Issues on the Backend Network&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The whole point of &amp;#8220;cloud&amp;#8221; is you have to share some infrastructure. Most of the time, this means shared networking. There are two major types of networks: frontend (also called north-south, the public network that connects to the internet) and backend (also called east-west, or interconnect fabric, ot scale-out/scale-up, the private network that only connects servers in the cluster to each other). Almost by definition, this networking is shared amongst tenants in a cloud service. Therefore, you need to make sure that it is secure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two stories we have on this topic stem from a failure to configure &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/infiniband-multilayered-security-protects-data-centers-and-ai-workloads"&gt;&lt;span&gt;InfiniBand Security Keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt; correctly, in two different ways. InfiniBand is different from Ethernet in that it doesn&amp;#8217;t use VLANs and VXLANs like a typical Ethernet network, and instead relies on a concept called P_Keys for isolation. There are many more keys that serve additional functions. For example:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;M_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; stops a rogue host from a change to device configuration. If the key does not match, the switch drops the request.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;P_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the partition key. It works like a VLAN. It controls which devices can see each other on the fabric.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;SA_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects sensitive operations in the Subnet Administrator, for example the addition or the removal of records.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;VS_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects vendor tools such as ibdiagnet.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Q_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects unreliable datagram traffic. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;L_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;R_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protect memory in RDMA operations.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;C_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;N2N_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protect communication manager traffic and node-to-node messages.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;AM_Key&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; protects SHARP aggregation. Only approved switches can then reduce data.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;We used only the standard infiniband-diags package to find both issues during our testing. In one case, the provider had already installed that package on the login node for us.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the first case, a provider did not configure the P_Keys and the SA_Key correctly. The cluster had a new partition key (0xa601), but the default partition key (0xffff) was still active. So when we ran saquery, we saw 532 hostnames and endpoints on the fabric. The hostnames showed other customers and internal partitions. We stopped the test at that point. We told the provider to delete the default P_Key and to change the SA_Key.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TfcW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8788dc-bdef-4a05-a4c0-dd363f5365cc_1456x663.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="663" src="https://substackcdn.com/image/fetch/$s_!TfcW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f8788dc-bdef-4a05-a4c0-dd363f5365cc_1456x663.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the second case the provider had broken isolation and function together. When we found that they had set no M_Key, the provider told us that the cluster had not completed production commissioning, and that the omission was the result of the rush to give us the machines. But the P_Key configuration was also wrong in a different way. Our nodes had full membership in an isolated partition (0x7001), which is correct. But our nodes also had full membership in the default partition (0x7fff), which holds every node on the fabric. The result was strange. We could not run ibping between our own four nodes. But we could find 80 nodes on the fabric with ibnetdiscover, ibdiagnet and ibhosts. A wrong partition configuration can break tenant isolation and correct operation at the same time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QRZ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebabb97-febd-49d8-b5b4-26c90b0b0cfa_1212x1052.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="517.3201320132014" src="https://substackcdn.com/image/fetch/$s_!QRZ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffebabb97-febd-49d8-b5b4-26c90b0b0cfa_1212x1052.webp" width="596" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!r8Wy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2887dc-d4ea-4450-bf4f-751efb5363a0_966x1017.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1017" src="https://substackcdn.com/image/fetch/$s_!r8Wy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2887dc-d4ea-4450-bf4f-751efb5363a0_966x1017.webp" width="966" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6Ws5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f13579-1fc0-4cff-befa-8413d085bcc5_1350x770.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="770" src="https://substackcdn.com/image/fetch/$s_!6Ws5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f13579-1fc0-4cff-befa-8413d085bcc5_1350x770.webp" width="1350" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Host isolation inside the tenant was also weak on that cluster. We could log in as root on the GPU nodes. The provider confirmed that it configures shared root SSH across the cluster, and that its own infrastructure key gives passwordless access to all nodes. One key from the provider therefore gives root access to every host.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We also see the same class of problem on the frontend network. On the cluster, no host firewall was active, and we asked which security groups, ACLs or VPC constructs blocked TCP between the nodes. The provider had to correct the InfiniBand configuration and the external connectivity before the tests could run.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One more final point on disclosure. In April 2026, after we published about our findings in ClusterMAX 2.1, following tests we had conducted in 2025, the provider&amp;#8217;s marketing team asked us twice to remove or to rephrase the sentence about the visible endpoints. The team said the phrase could damage brand perception, and that engineering had fixed the keys by the end of 2025. We did not remove the finding. We corrected one factual error: the test we ran was completed in November, not December. We updated our article accordingly.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Running Arbitrary Container Images on Shared Infrastructure&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Many exploits that result in an attacker moving laterally inside a company&amp;#8217;s infrastructure involve escaping from containers or VMs and escalating privileges on the underlying host. It is an ever present issue, and many neoclouds are susceptible to it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To tell this story, the simplest example of the exploit is NVIDIAscape (CVE-2025-23266), named by Wiz. It exploits an NVIDIA Container Toolkit createContainer hook and was originally posted in early 2025. Surely no one can break out of containers with it today?&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!AZbR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09055d66-38ef-43cc-9c9c-206acb1bd807_1456x143.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="143" src="https://substackcdn.com/image/fetch/$s_!AZbR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09055d66-38ef-43cc-9c9c-206acb1bd807_1456x143.webp" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;source: SemiAnalysis testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Turns out that is not the case.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;An OCI hook is a program that the container runtime executes at a specific point in the container lifecycle. The vulnerable NVIDIA hook runs with elevated privileges on the container host before the container starts. In this case, the hook inherited environment variables from the container image. A crafted image could set: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;ENV LD_PRELOAD=/proc/self/cwd/poc.so&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;LD_PRELOAD tells a program to load a specified shared library. Because the hook&amp;#8217;s working directory is the prepared container filesystem, it loads poc.so from the image. The code inside poc.so then executes with root privileges on the container host, allowing the container to escape.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA fixed CVE-2025-23266 in nct 1.17.8 by preventing container-controlled environment variables such as LD_PRELOAD from reaching the privileged hook. You can see it in this &lt;/span&gt;&lt;a href="https://nvidia.custhelp.com/app/answers/detail/a_id/5659"&gt;&lt;span&gt;NVIDIA bulletin&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our testing, we built a custom container image that includes two important files:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;  - &lt;/span&gt;&lt;strong&gt;&lt;span&gt;/poc.so&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; writes a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;HOOK_RAN&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; marker and records evidence about the process that loaded it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;  - &lt;/span&gt;&lt;strong&gt;&lt;span&gt;/probe&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; checks whether this evidence exists when the container starts.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When using &lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax audit security&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; from the cli, our scripts launch the image using the nct runtime. On a vulnerable nct version, the privileged NVIDIA hook loads /poc.so before the container starts, so the library writes the marker and records information such as the loader, user ID, process ID, PID 1, visible GPUs, and container-host information.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Here is an example of us running it and observing the results during container startup from a provider&amp;#8217;s website on a single H100 GPU machine:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XmUH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffff57ac0-9b95-479d-9c15-85f4e88bb86a_1331x846.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="846" src="https://substackcdn.com/image/fetch/$s_!XmUH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffff57ac0-9b95-479d-9c15-85f4e88bb86a_1331x846.webp" width="1331" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX testing.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When /probe starts, it checks this evidence. If it shows that /poc.so was loaded by the privileged NVIDIA hook, ClusterMAX reports that the vulnerable behavior was observed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;You can run this check on any GPU machine with nct installed with:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;cmax run nct-cve-2025-23266 --audit&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In our testing, we found that platforms that rely only on containers to isolate different workloads are much less secure than platforms that put every container inside a VM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;During our testing on multiple providers, our test escaped the individual docker container and got root on the underlying host VM. However, we didn&amp;#8217;t follow that up by breaking out of the host VM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is a good example of layered security. The container was vulnerable, but the VM provided another isolation boundary and limited how far the issue could spread.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Either way, its a reminder to keep everything up to date.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xhzj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64726177-f3e2-4696-b725-3e728233f723_1280x1156.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1156" src="https://substackcdn.com/image/fetch/$s_!xhzj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64726177-f3e2-4696-b725-3e728233f723_1280x1156.webp" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis Meme Team&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even a Gold provider may fail to meet a basic requirement, such as the minimum NVIDIA driver version. Here, we compare CoreWeave and Azure.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!85ac!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2ceaf77-468e-4fb2-ab72-2c03b5859a8a_1456x133.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="66.5" src="https://substackcdn.com/image/fetch/$s_!85ac!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2ceaf77-468e-4fb2-ab72-2c03b5859a8a_1456x133.webp" width="728" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And here, where Azure passes all four checks, an unnamed Bronze provider fails all of them with outdated CUDA, runc, Docker, and ConnectX firmware.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!dJqq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd847f6-387c-4913-92c3-e8a4a428b97c_1456x246.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="246" src="https://substackcdn.com/image/fetch/$s_!dJqq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dd847f6-387c-4913-92c3-e8a4a428b97c_1456x246.webp" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At the time of the audit, the Bronze environment ran Docker Engine 29.1.3 instead of the fixed 29.5.1 release, meaning it had an affected version range for CVE-2026-41567. This high-severity docker cp vulnerability can allow a malicious container to execute arbitrary code as root on the host.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!9gRc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86c6e6c3-761c-45ec-ad14-b079c730ac80_1400x346.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="346" src="https://substackcdn.com/image/fetch/$s_!9gRc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86c6e6c3-761c-45ec-ad14-b079c730ac80_1400x346.webp" width="1400" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis ClusterMAX Dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For what it&amp;#8217;s worth, the same Gold provider as above (Azure) shows very different security results across two separate environments. Azure Kubernetes passed the runc and NVIDIA Container Toolkit minimum version checks that applied when it was audited, while its NVIDIA driver failed to meet minimum versions in the Slurm and Kubernetes environment we tested.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Container escapes are ever present, and providers need a system in place to make upgrades over time. No single piece of software can run forever. Everything has a lifecycle and needs to be upgraded eventually. It&amp;#8217;s best to plan for this in advance.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Don&amp;#8217;t forget the Computer Inside the Network Card&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;NVIDIA introduced BlueField DPUs following their Mellanox acquisition, and gave the category a name in October 2020 when they announced the &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-introduces-new-family-of-bluefield-dpus-to-bring-breakthrough-networking-storage-and-security-performance-to-every-data-center"&gt;&lt;span&gt;BlueField-2 DPU&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the term data processing unit in the same breath. &lt;/span&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-extends-data-center-infrastructure-processing-roadmap-with-bluefield-3"&gt;&lt;span&gt;BlueField-3&lt;/span&gt;&lt;/a&gt;&lt;span&gt; followed in April 2021 and reached &lt;/span&gt;&lt;a href="https://www.hpcwire.com/2023/03/21/nvidia-announces-bluefield-3-ga-oracle-cloud-is-early-user/"&gt;&lt;span&gt;general availability in early 2023&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The pitch is simple enough. The card offloads, accelerates, and isolates software-defined networking, storage, security, and management functions, taking that work off the host CPU so the expensive silicon can get on with its actual job. This is not a niche thing, as NVIDIA&amp;#8217;s &lt;/span&gt;&lt;a href="https://blogs.nvidia.com/blog/ai-cloud-providers-reference-architecture/"&gt;&lt;span&gt;reference architecture&lt;/span&gt;&lt;/a&gt;&lt;span&gt; basically mandates the use of BlueField-3 for north-south connectivity, storage acceleration, and zero-trust security, so any neocloud built to NVIDIA&amp;#8217;s blueprint has them by design.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But a BlueField DPU is not really a network card. It is an Arm computer that happens to share a package with a ConnectX NIC, with its own CPU cores, its own memory, its own Linux install, and its own management port (and BMC). In DPU mode, the Arm side owns the NIC resources and the data path, which is the entire reason providers buy them. Per-tenant VPC isolation, flow tables, and firewall rules all run there. Tenants are not supposed to have access to the DPUs themselves, just use the features they provide.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In NVIDIA&amp;#8217;s &lt;/span&gt;&lt;a href="https://networking-docs.nvidia.com/doca/archive/3-4-0/bluefield-modes-of-operation"&gt;&lt;span&gt;table of BlueField operating modes&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, DPU mode carries the trust model &amp;#8220;host-trusted&amp;#8221; and is the default for DPU SKUs. The alternative is zero-trust mode, a variation of DPU mode that &amp;#8220;enhances security by preventing the host system administrator from accessing BlueField from the host side,&amp;#8221; which disables the RShim interface, restricts firmware flashing from the host, blocks the tracer, denies hardware counters, and prevents the host from claiming port ownership. NVIDIA&amp;#8217;s &lt;/span&gt;&lt;a href="https://networking-docs.nvidia.com/dpf/25100/zero-trust-deployment"&gt;&lt;span&gt;provisioning framework&lt;/span&gt;&lt;/a&gt;&lt;span&gt; offers the same choice, a host-trusted deployment or a zero-trust one where the host is treated as untrusted and sees the DPU as a standard NIC with no access to its management plane.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA&amp;#8217;s threat model assumes the host administrator is trusted. In a GPU cloud the tenant is often the host administrator, as most providers hand over dedicated nodes with root. That makes the party NVIDIA trusts and the party the provider is trying to isolate the same.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Left at the default, the host keeps a private link to the DPU&amp;#8217;s Arm cores through the RShim driver, which appears as /dev/rshim0 and a virtual Ethernet interface named tmfifo_net0, with the DPU answering at a fixed address on a documented subnet. In our testing, we check for that link from inside a tenant environment, because in a properly configured multi-tenant cluster, the link should not exist. However, during our initial testing on only a handful of providers, we have found at least one misconfigured host where the RShim path was present.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two things follow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, it inverts the control the provider is selling. BlueField DPUs are often tasked to handle routing and firewall, offloading work from the host OS. That&amp;#8217;s the whole point that makes them different than a NIC. However, these services are only safe in a multi-tenant environment if the host cannot reach the DPU. With RShim open, the enforcement plane is reachable from the thing it is enforcing against. Behind that door are the eSwitch data path implementing the VPC for every tenant, flow tables, virtio-net controller, and firmware. One relevant example is &lt;/span&gt;&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2025-23299"&gt;&lt;span&gt;CVE-2025-23299&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, an out-of-bounds write in a BlueField and ConnectX management interface that may allow a highly privileged local actor to execute arbitrary code. The public advisory does not identify RShim as the affected component, however being a privileged user and having access to RShim gives a direct path to exploiting this vuln.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, DPU software modifications survive reprovisioning on the host side. Since the DPU&amp;#8217;s firmware and its Arm-side operating system live on the device, not on the host disk, reimaging a host does not reflash its DPU, if previously contaminated. Providers that recycle machines between tenants are recycling a full Arm computer along with the server. In fact, NVIDIA&amp;#8217;s documented host-trusted workflow explicitly allows the host to provision BlueField, reset its Arm cores, and install a full DPU image through RShim. In a bare-metal cloud where the customer is root on the host, exposing that workflow is itself the trust-boundary failure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cluster operators, especially those providing bare metal and clusters with root available by default, should check their DPU operation mode, and disable RShim or restrict certain capabilities like flashing the DPU. To be extra safe, the provisioning procedure should also re-image and flash firmware on the DPUs so that any tampering at the DPU operating system layer is wiped between users on the same node.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VBDi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81634e15-b918-4322-8d29-1f97bfddc67a_716x1154.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="544.7653631284916" src="https://substackcdn.com/image/fetch/$s_!VBDi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81634e15-b918-4322-8d29-1f97bfddc67a_716x1154.webp" width="338" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: us&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Using agents to build POCs for vulnerabilities&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;For a lot of the POCs that we built for existing vulnerabilities to demonstrate details to providers, the biggest challenge was the guardrails on the closed-source models. Fable would right away reject and degrade the request to Opus 4.8, which would reject building any POCs or even answering any questions related to security. Even simple questions related to security or CVEs, Fable would reject outright.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;GPT 5.6 Sol was more flexible and also played a decent role in orchestrating and planning, as well as serving as a &amp;#8220;verification&amp;#8221; model: an open source model would build the POC and 5.6 Sol would judge it correct or not. After a point, though, 5.6 Sol would also start rejecting the requests, too.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of the code was written by hand or with assistance from open-source or open-weight models, specifically Kimi K3, GLM 5.2, and DeepSeek V4. Kimi K3 and GLM 5.2 frequently restricted requests to build functional vulnerability POCs, even when the work was scoped to authorized testing. DeepSeek V4 was generally more permissive, but occasionally generated false positives or implementations that did not reproduce the intended behavior. These results were reviewed against a defined test rubric using 5.6 Sol as a verifier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This demonstrates a clear gap in defensive security research. Whitehat researchers need functional PoCs to validate vulnerabilities, but capable models restrict this work even when users are authorized. Researchers are therefore often pushed toward open models that provide greater control but don&amp;#8217;t match frontier models in reasoning, reliability, or technical depth. This is like fighting with one hand tied behind your back. And this is exactly what HuggingFace encountered during the OpenAI incident described above, where they were literally under attack by frontier closed-source models, and had to work to block their requests, analyze artifacts, payloads, and logs on their platform mainly with open-source models such as GLM. It is worth noting that it only because of HuggingFace&amp;#8217;s use of these models that they root-caused the attack in the first place. OpenAI did not know about the details and extent of the issue until they got in touch with HuggingFace and coordinated. It is literally not possible to keep up with the frontier of cybersecurity research today if you do not have access to a frontier model that is capable of reasoning openly about cybersecurity topics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!CkLO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3983e92f-4343-48c4-b637-beaedb7d00f6_751x212.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="212" src="https://substackcdn.com/image/fetch/$s_!CkLO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3983e92f-4343-48c4-b637-beaedb7d00f6_751x212.webp" width="751" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Vhz0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd226415-3350-4d1e-92f6-6c04adf541b9_737x165.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="165" src="https://substackcdn.com/image/fetch/$s_!Vhz0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd226415-3350-4d1e-92f6-6c04adf541b9_737x165.webp" width="737" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: getting rejected by Fable&amp;#8230; we&amp;#8217;re just asking questions!&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Our Recommended Minimum Version (and how to use the cmax audit security CLI)&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;To help neoclouds and operators to keep track of the updated minimum versions, we have a daily refreshed minimum version that gathers bulletin from major sources and hardware/software vendors, and publishes the aggregated minimum versions based on these bulletins.The ClusterMAX website displays and hosts these data for programmatic access by our CLI and other vendors.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To use it, simply install the CLI by following the installation instructions, and run cmax audit security. The CLI will pull the updated minimum version data from ClusterMAX website, and use it to audit your system.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In case of a vulnerable version detected, the CLI prints out the relevant security bulletins with clickable links in the console, and the suggested version to update to.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!S3oW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aaa0cfa-23d0-4bf5-8eaf-7996b01ec41d_1456x424.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="424" src="https://substackcdn.com/image/fetch/$s_!S3oW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4aaa0cfa-23d0-4bf5-8eaf-7996b01ec41d_1456x424.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: ClusterMAX CLI 0.3.0 Security Module&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For reference, here is our table for current minimum versions across a number of popular pieces of software, driver, libraries and firmware. All of this comes from public security bulletins and are only accurate as of time of writing (August 19, 2026):&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fms5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494a94ed-ad6c-42ce-8bd1-6cd772f09584_1456x673.webp" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="673" src="https://substackcdn.com/image/fetch/$s_!fms5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494a94ed-ad6c-42ce-8bd1-6cd772f09584_1456x673.webp" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:  clustermax.ai website (add this to the public website before publishing, PR made)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;In Summary: What Do Most Providers Need To Fix?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;If you are still reading, lets assume that you have crossed the bar for taking security seriously. So what can you do?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the modern day, providers need a SYSTEM to get stuff patched. Top cloud providers have the same system to deploy patches as they do to provision new clusters. It is a system that includes humans, scripts, and increasingly, AI.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Firstly is a system to monitor security bulletins like our daily refreshed minimum version. Among the neoclouds we tested, only a handful have an existing automated system for this, while the others largely rely on a fixed patching cycle of monthly or even longer. With the rapid development of cyber security focused models, such patching cadence is no longer sufficient.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;So, here is our recommendations to the humans and the AIs about what to put in their scripts:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Please get your stuff updated to the &lt;/span&gt;&lt;a href="https://www.clustermax.ai/"&gt;&lt;span&gt;minimum versions&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on our public website (and feel free to use &lt;/span&gt;&lt;strong&gt;&lt;span&gt;cmax&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; to help with this)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Please spend the time (and money, in some cases) to fix bad designs. No single points of failure that expose all of your users is the new rule. So stop doing namespace isolation on k8s with shared nodes, stop doing container-only isolation between tenants, stop giving people access to BMCs and DPUs, and implement your InifiniBand security keys correctly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;With that, we look forward to seeing you soon for ClusterMAX 3.0!&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;Implications for NVIDIA, AMD, and all the chip startups&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/most-neoclouds-suck-at-security"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-30T07:46:22+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/openai-jalapeno-better-than-nvidia</id>
    <title>OpenAI Jalapeño: Better Than Nvidia Blackwell</title>
    <updated>2026-08-25T06:00:38+00:00</updated>
    <author>
      <name>Bryan Shan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;OpenAI has spent the past couple years quietly building &amp;#8220;Jalape&amp;#241;o,&amp;#8221; an inference chip just announced at Hot Chips. Rumors of a successful tapeout had been swirling for a while. But now we have details. OpenAI invited us to look at their chip, &lt;/span&gt; go to their labs to check out how real it is, and &lt;a href="https://openai.com/index/jalapeno-first-results/"&gt;&lt;span&gt;benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt; it with our &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; suite.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In June, &lt;/span&gt;&lt;a href="https://openai.com/index/openai-broadcom-jalapeno-inference-chip/"&gt;&lt;span&gt;OpenAI unveiled the chip program&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in partnership with Broadcom, built from a blank slate exclusively for LLM inference. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/openai-chip-team-is-now-serious"&gt;&lt;span&gt;Design work began in the middle of 2024&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, going from initial team hiring to manufacturing tape-out in ~16 months, an extremely fast ASIC development cycle.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In general first generation chips are not competitive, but OpenAI bucks the trend by being industry leading and beating every Nvidia, AMD, and Google chip we have been able to test on multiple top open source models. OpenAI does this with extreme hardware software codesign. Surprisingly, OpenAI is not over specialization on any specific part of model inference, but instead by focusing on being a general chip that delivers high performance in all scenarios. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article, we will go into architectural details, software details and performance results for Jalape&amp;#241;o on InferenceX.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QKjS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc028f756-4748-4583-91b2-5c4a63893cb5_2048x1153.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!QKjS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc028f756-4748-4583-91b2-5c4a63893cb5_2048x1153.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://openai.com/index/openai-broadcom-jalapeno-inference-chip/"&gt;OpenAI&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;A generalized inference chip&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Everyone says that OpenAI&amp;#8217;s chip is specialized for OpenAI models, but that&amp;#8217;s wrong, OpenAI made a generalized chip for AI inference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The timelines are insane. It shows that claims that use of AI is being used to accelerate chip design are real. Regardless of the quick timelines,Open AI spent a bunch of money, made pragmatic design decisions and their team is cracked, so this comes as no surprise.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Just looking at the specs, it is an immediate contender:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IZvP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe346a4e5-76cb-4fd9-be95-00321116b605_1846x510.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="402" src="https://substackcdn.com/image/fetch/$s_!IZvP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe346a4e5-76cb-4fd9-be95-00321116b605_1846x510.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And the use of HBM4 makes it stand out as comparable to flagship GPUs from NVIDIA and AMD:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jhVL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327f95f7-ab6b-44ae-9b8f-17c1ff5d296b_1712x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1106" src="https://substackcdn.com/image/fetch/$s_!jhVL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327f95f7-ab6b-44ae-9b8f-17c1ff5d296b_1712x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A lot of the media coverage of this chip has followed a few throwaway comments from OpenAI that claim the chip will be optimized for their models in a way that other chips are not. This is wrong. Jalape&amp;#241;o is a generalized inference chip capable of running all sorts of models, and all sorts of workloads, including our benchmark InferenceX, where we ran the benchmark with OpenAI engineers in the lab. As a joke, OpenAI even showed us it running Doom, which was ported to their chip with just Codex prompts.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following is our headline perf/W result, looking at token throughput per All-in utility MW. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Jalape&amp;#241;o smokes every other chip&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. All this is done without Multi Token Prediction (MTP), while the other chips on the chart are the best performing configs of each respective SKU, all with MTP.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2a3j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7f45a-df8e-436e-ba04-df5d8610f3da_2048x1330.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="946" src="https://substackcdn.com/image/fetch/$s_!2a3j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7f45a-df8e-436e-ba04-df5d8610f3da_2048x1330.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Jalape&amp;#241;o beats Blackwell on perf/W across almost all scenarios without being tuned for any specific point in the curve. It excels not only in low-latency scenarios but also in high-throughput scenarios. A more apples to apples comparison is against Single Token Prediction results, it knocks every competitor out of the water. At low concurrency scenarios, Jalape&amp;#241;o demonstrates remarkable interactivity, hitting over 700 tokens per sec per user at concurrency 1 on the DeepSeek R1 model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Incredibly, this is all achieved with single-token prediction (STP), no speculative decoding and no prefill-decode disaggregation. In addition to DeepSeek R1, we also got to see some other models, including Kimi-K2.5 and GPT-OSS which ran at approximately 1,400 tok/sec/user. For all models, we confirmed that &lt;/span&gt;Jalape&amp;#241;o&amp;#8217;s &lt;span&gt;GSM8k evals attained results on par with Nvidia chips. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Some caveats on this. First, all numbers are provided to us by OpenAI. We verified the InferenceX runs in person in the lab, but we did not run the full suite of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; benchmarks nor have we seen &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; results. AgentX is our preferred suite for comparing chip performance due to the datasets&amp;#8217; long context and multi-turn characteristics that reflect the cache behavior of realistic production workflows. Frameworks that perform well on 8k1k may perform worse on AgentX as real production loads stress components like routers, prefix cache mechanisms, cache management, offload infrastructure, etc. These are not tested by single turn 8k1k. Read more about this in out AgentX article.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Second, we believe that comparison to Blackwell is somewhat incomplete and unfair. Jalape&amp;#241;o is really competing against chips like Rubin that also use HBM4. Vera Rubin systems are starting to ship to customers right now, while it will still be some time before OpenAI has anything beyond engineering samples of Jalape&amp;#241;o.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Thus, performance should really be compared against Rubin, not Blackwell, and in some sense we expect a custom chip like Jalape&amp;#241;o to outperform Blackwell. Vera Rubin NVL72 delivers 5.4x the perf/MW of GB200 NVL72 &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;as we described in our article analyzing the NVIDIA performance claims in their launch with CoreWeave last month&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We will compare Jalape&amp;#241;o to Vera Rubin&amp;#8217;s July performance figures later below.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Third, the models being tested are not on the open frontier. NVIDIA and AMD have published results on larger models such as DeepSeek V4 Pro and Kimi K3, using AgentX. The larger the model and the more recent the release, the more complicated it is to bring up on a new chip. With that said the models OpenAI has working on Jalapeno aren&amp;#8217;t exactly small either.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Performance Analysis&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;OpenAI designs for perf/W. The reason is simple: OpenAI is currently limited by datacenter power, not by budget or floorspace, and thus tokens per MW is paramount. At Computex 2026, Jensen said that perf/W, reliability and long lifetime are the core features of future GPUs. To quote: &amp;#8220;If you have 1 gigawatt of power, then throughput per watt is revenue&amp;#8221;. He also mentioned that choosing the wrong architecture just because the chips are cheaper doesn&amp;#8217;t make sense.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UzoV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69dc13f6-ffb1-4d56-8df7-b75b57280382_1980x1254.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="922" src="https://substackcdn.com/image/fetch/$s_!UzoV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69dc13f6-ffb1-4d56-8df7-b75b57280382_1980x1254.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Computex 2026 keynote&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This was emphasized by Nvidia during the Vera talk at Hot Chips 2026 while showing the same revenue graph: &amp;#8220;The data center is power limited today.&amp;#8221; Power matters and drives revenue.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Operators cannot simply obtain more MW because adding GPUs and adding grid capacity happen on very different timescales. Datacenter power envelopes have constraints such as their utility interconnection, infrastructure, cooling capacity, and UPS/backup-generation design. Grid delays repeatedly outpace hardware and construction timelines, driving the need for BtM (behind-the-meter) power capacity: gas turbines and on-site generators built and located at the data center itself. This capacity sits behind the utility&amp;#8217;s meter rather than being drawn from the public grid. It lets an operator power a facility without waiting on grid interconnection and utility upgrades, which is exactly why xAI&amp;#8217;s Colossus 2 relies so heavily on BtM while its actual grid connection lags far behind. Find out more in our &lt;/span&gt;&lt;a href="https://semianalysis.com/energy-model/"&gt;&lt;span&gt;Energy model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we wrote in an X post, tok/s/MW reduces to tokens per joule since a watt is a joule per second. This makes tok/s/MW representative of a system&amp;#8217;s efficiency and ability to convert energy into tokens.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NzDl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a1da73-425c-4800-b396-01c7d2151be9_1200x1432.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1432" src="https://substackcdn.com/image/fetch/$s_!NzDl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a1da73-425c-4800-b396-01c7d2151be9_1200x1432.png" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://x.com/SemiAnalysis_/status/2091208991271420076"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On this front, even when compared with Rubin, Jalape&amp;#241;o wins. OpenAI&amp;#8217;s Jalape&amp;#241;o has STP output token throughput per MW surpassing &lt;/span&gt;&lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;&lt;span&gt;Vera Rubin&amp;#8217;s MTP results that NVIDIA and CoreWeave published in July. It also far exceeds GB200&amp;#8217;s 2025 MTP results.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; As mentioned in our Vera Rubin article, VR was compared to 2025 GB200 results because that was a similar stage of early bring-up, and comparing to GB200 in 2025 holds software maturity constant. Following this logic, we compare Vera Rubin&amp;#8217;s latest July 2026 results, GB200 2025 results, and today&amp;#8217;s Jalape&amp;#241;o results. This is a very valid comparison as these are the best public Rubin numbers, and OpenAI taped out their chip after Rubin. Both OpenAI and Rubin are still immature thus performance will continue to rise.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EEpe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e8f9fd2-ec7f-45fa-80b9-dc132e32c661_2048x1450.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1031" src="https://substackcdn.com/image/fetch/$s_!EEpe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e8f9fd2-ec7f-45fa-80b9-dc132e32c661_2048x1450.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On perf/TCO, Vera Rubin and Jalape&amp;#241;o are head-to-head, producing almost the same number of output tokens per $. However, as previously mentioned, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Jalape&amp;#241;o&amp;#8217;s results are obtained without speculative decoding&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and Vera Rubin&amp;#8217;s results use speculative decoding. Speculative decoding adds a 3x+ improvement is cost per token. When speculative decoding is implemented on Jalape&amp;#241;o, this will mean Jalape&amp;#241;o will serve much lower cost tokens. Of course, part of this TCO advantage comes from trading Nvidia&amp;#8217;s high margins for Broadcom&amp;#8217;s lower (though still high) margins. But this is not all of it. For example, Meta and Microsoft&amp;#8217;s AI ASIC programs not getting off the ground despite being at it for much longer shows that cost is only one part of the equation. For Jalape&amp;#241;o&amp;#8217;s full TCO breakdown, see the &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;SemiAnalysis AI Cloud TCO model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!98mH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c58331-c05a-4823-9c4b-aae90705bb53_2048x1485.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1056" src="https://substackcdn.com/image/fetch/$s_!98mH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c58331-c05a-4823-9c4b-aae90705bb53_2048x1485.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Architecturally, OpenAI chose not to disaggregate prefill and decode (PD) across separate chip pools. The draft model and main model share the same chips and fabric, a design philosophy that trades some theoretical efficiency for practical operations. The motivation is that the workload mix changes over time, for example the ratio of input to cache write to cache read to output tokens has changed significantly as we have moved through the three eras of models (&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/"&gt;&lt;span&gt;knowledge, reasoning, and agentic, as discussed in our recent article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). Therefore, picking a fixed amount of heterogenous prefill silicon and decode silicon up front can lead to inefficiencies over time. OpenAI chooses a homogenous pool in this architecture and tries to make the chip perform well on everything.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;And it does. On Kimi K2.5 (which Cursor Composer 2.5 is based on), Jalape&amp;#241;o reaches nearly 700tok/s/user and more than 9x the next best performing chip at 100tok/s/user. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yoRC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3088f64c-9bee-46d9-a445-6818248ba573_2048x1366.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!yoRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3088f64c-9bee-46d9-a445-6818248ba573_2048x1366.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On GPT-OSS, it&amp;#8217;s another bloodbath. Jalape&amp;#241;o&amp;#8217;s iso-interactivity throughput per MW is nearly double GB200&amp;#8217;s highest throughput point and more than 50x GB200&amp;#8217;s concurrency 1 point. The higher concurrency Jalape&amp;#241;o points use EP8.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CW1w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f245dd7-c6b7-48a3-9215-3976633bb77f_2048x1366.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!CW1w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f245dd7-c6b7-48a3-9215-3976633bb77f_2048x1366.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;These results are impressive! However, we have to nitpick: they&amp;#8217;re just 8k1k, a much easier workload to tune for, and there are no &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; runs yet. As mentioned in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article, multiturn, long context workloads stress much more aspects of the serving stack, such as routers and prefix cache. Many more optimizations are needed to excel in agentic workloads. Read more about this in the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Digging into the specs and architecture&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;All these results were gathered on the A0 stepping of Jalape&amp;#241;o, just 9 months into the program. But there is already a B0 stepping that is currently in the fab! B0 has optimizations that deliver roughly a 25% perf-per-watt improvement over the earlier A0 silicon. Specifically, the B0 stepping delivers 13.4 PFLOPs of MXFP4 on a single reticle-sized compute die that is manufactured on TSMC&amp;#8217;s N3P. This compares to 17.5 PFLOPs of dense Rubin NVFP4 for a single Rubin compute die that is similar size and on the same node. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is more respectable considering Jalape&amp;#241;o&amp;#8217;s TDP is only 700W compared to Rubin&amp;#8217;s at 900-1,150W per compute die. As Jalape&amp;#241;o is geared towards inference rather than training, it is understandable that OpenAI doesn&amp;#8217;t need to push TDPs higher to maximize FLOPs, but regardless the above shows that Jalape&amp;#241;o delivers respectable peak theoretical FLOPs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When compared directly to other accelerators, Jalape&amp;#241;o has the highest HBM bandwidth per watt, and the highest FLOPs per watt, comparable to the 1,800W Rubin Max-Q configuration:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!4mJM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5795c45-d23b-403c-8bc4-f13d5ba6fb45_2048x394.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="280" src="https://substackcdn.com/image/fetch/$s_!4mJM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5795c45-d23b-403c-8bc4-f13d5ba6fb45_2048x394.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Off-package I/O is provided by an N3E I/O chiplet with 32 lanes of 800G SerDes, for the compute fabric, with 24 lanes (600GB/s) being used for local scale-up within the rack, and 8 lanes (200GB/s) for global scale-up which is the 2,048 XPU multi-rack domain. PCIe Gen 5 is used for system I/O to connect to the x86 host CPU.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Jalape&amp;#241;o will ship with HBM4, making this chip one of the relatively early adopters after Nvidia and AMD, even beating the established TPU and Trainium programs. As one of the key architectural principles behind Jalape&amp;#241;o is getting the most out of HBM bandwidth, settling for anything but the best HBM would run counter to that goal. This results in 15.4TB/s of memory bandwidth per package which bests all the other accelerators shipping that are using HBM3E. The 15.4TB/s bandwidth shows its HBM4 can hit 10Gbps pin speeds, which would give it a slight edge over the 9.6Gbps Nvidia is getting out of its HBM4 in Rubin. The HBM is likely provided by Samsung.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZdtW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7d181a-2bb9-45d4-bd67-2f7e525ce6d1_1426x376.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="376" src="https://substackcdn.com/image/fetch/$s_!ZdtW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7d181a-2bb9-45d4-bd67-2f7e525ce6d1_1426x376.png" width="1426" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;OpenAI taped out Jalape&amp;#241;o in November 2025, or more specifically, this was a tape out of the CoWoS design, not just the top die silicon. Within 9 months of that Nov 2025 tapeout, and with only 3 months of bring-up on actual silicon, OpenAI has already delivered very good results with Jalape&amp;#241;o. This is all the more impressive as the team is starting from zero on the software stack. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, Rubin&amp;#8217;s CoWoS tape out was completed in October 2025, a month earlier, and yet the only early results we have seen are from CoreWeave&amp;#8217;s engineering samples. Nvidia has not let us test and release benchmarks in the same way that OpenAI has, indicating their chip software is still immature. The CUDA moat is potentially dead given how fast OpenAI can bring up new models on their silicon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;They are still far from optimized and we can see that generally Jalape&amp;#241;o has delivered better numbers. We don&amp;#8217;t think that Nvidia hardware is inferior, but more so that Jalape&amp;#241;o&amp;#8217;s software bring-up has progressed more quickly than Nvidia&amp;#8217;s. This speaks to the power of hardware/software co-design, which is the main area where a cracked frontier lab ASIC team can excel over more established merchant silicon players. Counterintuitively, starting from scratch may also have benefited OpenAI as it could make clean-sheet architectural decisions without worrying about backwards compatibility or older software versions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While OpenAI has engineering samples of Jalape&amp;#241;o, production is currently scheduled to gradually ramp over 2027 with most of the output currently scheduled for the end of next year. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;For more details of unit volumes and ASPs, see the SemiAnalysis Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Suffice to say, OpenAI Jalapeno is a real high volume ASIC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When compared against Rubin&amp;#8217;s timeline, Jalape&amp;#241;o&amp;#8217;s is shockingly quick. As shown earlier, Jalape&amp;#241;o&amp;#8217;s results beat Rubin&amp;#8217;s despite Rubin&amp;#8217;s head start.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!d3_z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb59cacc-1f16-4c6a-98a5-0f0db74dada7_2048x411.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="292" src="https://substackcdn.com/image/fetch/$s_!d3_z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb59cacc-1f16-4c6a-98a5-0f0db74dada7_2048x411.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Jalapeno Architecture&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Digging into the architecture now, the chip&amp;#8217;s matrix engine uses MXFP numerical formats and a weight stationary systolic array, similar to TPU. But when compared directly to TPU, it has support for smaller shapes / dimensions, meaning that it doesn&amp;#8217;t have weird performance cliffs that get exposed by awkwardly shaped matmuls on bigger systolics.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It also has 64-bit scalar cores and FP32/INT32 vector cores. OpenAI has also invested in redundancy at the tray level and has yield harvesting built in at the core and channel level. They claim that AI assistance in chip design delivered an 8% reduction in SIMD area and a 10% reduction in matrix-engine area during design. While they did not clarify the exact process/voltage/temperature (PVT) conditions, they also mentioned the AI-assisted blocks improved timing and power over the initial blocks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Jalape&amp;#241;o architecture design focuses on eliminating memory movement of KVCache and weights as well as fixed latencies and overheads in order to make it possible to get closer to the raw peak flops/bandwidth even for small batches or shapes as compared to other accelerators. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cores and the HBM are divided into slices, where each core slice has a low-latency local view on its own slice of HBM. Synchronization between slices occurs on a high-bandwidth dedicated collective network. This minimal memory hierarchy already gives Jalape&amp;#241;o a big potential advantage over GPUs, where memory accesses must traverse a complicated memory system, resulting in large latencies that must be amortized or hidden over larger shapes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This choice is feasible because with careful placement of weights and KVs, synchronization between cores can be restricted to limited, known high-bandwidth comms such as tensor-parallel communication that can be overlapped with compute.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VVEK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F871631ee-8f0d-4fb6-869c-a6fb298e800e_2048x832.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="592" src="https://substackcdn.com/image/fetch/$s_!VVEK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F871631ee-8f0d-4fb6-869c-a6fb298e800e_2048x832.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;There is also an additional general NoC which is used for general comms and to access the scale-up network. In general OpenAI saves huge power and gets big performance gains with a simplified NOC and memory subsystem vs Nvidia and Google.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-R_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f93df86-2ea2-4904-8fd1-e0e5eff4b410_1638x854.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="759" src="https://substackcdn.com/image/fetch/$s_!-R_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f93df86-2ea2-4904-8fd1-e0e5eff4b410_1638x854.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At the core level, OpenAI describes an out-of-order (OoO) core with an L1 cache. This is a large divergence from the pattern we have seen in other accelerators, all of which instead use software-managed scratchpad commonly paired with some async DMA support. Again, the argument being made here is that this allows Jalape&amp;#241;o to avoid fixed overheads such as barrier latencies, which on other accelerators (such as GPUs) need to be hidden or amortized over with higher work per core, and make it harder to get close to the raw peak bandwidth/flops.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The tradeoff is that Jalape&amp;#241;o therefore relies on good prefetching to ensure timely arrivals of memory requests, which is less predictable and more difficult to reason about. However, with Codex in a good harness with access to detailed tracing, it is likely that finding the optimal kernel with the best prefetching for a given shape requires little human intervention. We think that is exactly what OpenAI has done to bring up DeepSeek R1, Kimi K2.5, and GPT-OSS so quickly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cores also have support for &amp;#8220;small&amp;#8221; matrix dimensions, which (depending on how small) should make it more general across different model and batch dimensions less sensitive to matrix dimension alignment, padding overhead, and tiling inefficiency. For instance, TPUs, Trainium, and Etched chips have very large systolic arrays which can require large batches or exactly-divisible model dimensions to avoid tiling inefficiencies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With Jalape&amp;#241;o, OpenAI has focused on eliminating fixed latencies in the system to allow for as-close-to-roofline performance as possible across all areas of the pareto curve. In theory, this could give them advantages over the GPU at multiple operating points:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Much better upper-bound performance on low-latency/small-batch inference, which on GPUs is limited by many fixed overheads such as launch latencies, barrier latencies, memory system latency&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Some potential to achieve closer to the hardware roofline even for large-batch or long-context&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;This comes with the caveat that even if the upper-bound performance is available in theory, it may be more difficult to realize that performance for real kernels. So it seems the approach is:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Design for the highest upper-bound performance across all workload shapes&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Let Codex do the tedious work of finding the kernels that achieve that upper bound&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Judging by the extremely fast turnaround for the OpenAI team to bring up InferenceX workloads on Jalape&amp;#241;o, we are optimistic about this approach.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If Jalape&amp;#241;o is a success, it will be a strong signal that the industry&amp;#8217;s obsession over programming models and perfect, universal compilers are invalidated by frontier AI models.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Software&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;OpenAI writes Jalape&amp;#241;o kernels like assembly. Each kernel gets hand-tuned code, some running to ~3,000 lines, backed by correctness checks and a custom sanitizer. Early kernel work was human-in-the-loop rather than fully automated, but this shifted with a more scaled-up, internal version of Codex, one which OpenAI plans to pitch to enterprise customers. The internal serving engine is called &amp;#8220;Teacup&amp;#8221;. Interestingly,  &lt;/span&gt;&lt;strong&gt;&lt;span&gt;OpenAI had no internal implementation of MLA kernels until they benchmarked DeepSeek with InferenceX&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The ability for Codex to write functional and efficient kernels so quickly (without any of OpenAI&amp;#8217;s kernel engineering team intervening) shows the software pipeline&amp;#8217;s developmental ability.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;OpenAI programs Jalape&amp;#241;o with Gluon. Gluon is OpenAI&amp;#8217;s kernel programming language. Built on top of Triton, Gluon preserves Triton&amp;#8217;s SPMD (Single Program Multiple Data) programming model, but it exposes &lt;/span&gt;&lt;strong&gt;&lt;span&gt;low-level programming abstractions&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. For example, for NVIDIA GPUs, it offers APIs that map to PTX instructions, including MMA instructions, TMA instructions, mbarrier mechanisms, and many more. The most unique abstraction Gluon provides is &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the layout&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Generally speaking, a layout defines a mapping between a hardware resource (e.g. 5th register of warp 9) and a tensor element (e.g. tensor element on row 6 column 7). Gluon&amp;#8217;s layout abstraction is based on &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2505.23819"&gt;&lt;span&gt;Linear Layouts&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a type of layout algebra OpenAI invented. Linear Layouts mathematically formalizes what a layout is and provides tools to operate on layouts. This enables many features, such as provably correct layout conversions and optimal memory swizzling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of Jalape&amp;#241;o&amp;#8217;s programming model, each Gluon program maps to a persistent thread. We believe this hints that Jalape&amp;#241;o suits the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;persistent kernel programming pattern&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, where each program executes on multiple tiles, and the programmer, rather than the hardware scheduler, assigns the work. OpenAI mentioned TensorInfo, an abstraction that explicitly encodes layouts. This is likely the set of layouts designed for Jalape&amp;#241;o, which will be powered by Linear Layouts. Finally, each core offers data prefetching and decoupled out-of-order units. For example, a user might program a wait on a prefetched data, which is locked behind a semaphore.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a weird twist of fate, OpenAI models like GPT 5.6 Sol, which currently run on NVIDIA GPUs, have been used to design a chip that poses a real threat to the CUDA moat - NVIDIA&amp;#8217;s own GPUs are helping usher in their potential successor in real time.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Comparing across time, we can also see Jalape&amp;#241;o&amp;#8217;s developmental pace, achieving more than 2x throughput improvements at certain interactivities in less than 2 weeks. Each tarball we get from the Jalape&amp;#241;o team has a world of wonders inside.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LMc_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38d958b-6d53-4ebe-b92f-c2cb58de05c2_2048x1485.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1056" src="https://substackcdn.com/image/fetch/$s_!LMc_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38d958b-6d53-4ebe-b92f-c2cb58de05c2_2048x1485.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Not only did kernel performance improve, in the span of 8 days, the Jalape&amp;#241;o team enabled TP32, building on the previous TP8 configs and expanding beyond a single system to get a full rack-scale config running on a large model. This is a really impressive pace of development.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hCdt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18d5611-f7c1-4e34-8919-99b1c683054f_2048x1485.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1056" src="https://substackcdn.com/image/fetch/$s_!hCdt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18d5611-f7c1-4e34-8919-99b1c683054f_2048x1485.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To validate performance before committing to real hardware runs, OpenAI also has a  simulator &amp;#8220;chilisim&amp;#8221; accurate to within 5% of measured hardware, using a fixed-width trace bus. Tracing on A0 was limited but has improved substantially on B0, likely with inputs from actual runs on A0 silicon. Engineers have demoed the Codex CLI running an internal model, nicknamed &amp;#8220;Raiku&amp;#8221; or &amp;#8220;5.3 Codex Spark&amp;#8221;, at 1.2ms TPOT.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The team also showed off Codex-written demos running directly on the chip: Doom at 36 FPS, an FP32 fluid-dynamics simulation, and a &amp;#8220;Liquid Light&amp;#8221; mouse-drag visualization.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U08h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd410878f-5f19-40bd-ad2c-d92ad45d65a9_1252x1232.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1232" src="https://substackcdn.com/image/fetch/$s_!U08h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd410878f-5f19-40bd-ad2c-d92ad45d65a9_1252x1232.png" width="1252" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the model side, OpenAI&amp;#8217;s internal megakernel approach, nicknamed &amp;#8220;gigakernel&amp;#8221;, is built around a single megakernel that loops on-device to reduce CPU overhead and launch time. The team is also leaning further into test-time compute strategies, with internal interest specifically in how to coherently use 1 million rollouts.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;To Disagg or Not to Disagg, &amp;#8216;tis the Question&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;We mentioned earlier that OpenAI is not using prefill decode disaggregation on these chips. This came as a surprise to us, as NVIDIA and AMD GPU performance benefits significantly from PDD, even on homogenous hardware. Let&amp;#8217;s dig into why the Jalape&amp;#241;o team went this way.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Prefill-decode disaggregation (PDD) looks attractive when the workload is frozen. Prefill and decode stress hardware differently, so assigning each phase to a separately tuned pool can improve efficiency at one chosen input/output ratio. Production traffic, however, does not stay at that ratio. Input and output sequence lengths, concurrency, cache-hit rates, speculative-acceptance rates, and latency targets all move throughout the day.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once devices are divided into prefill and decode pools, too much prefill demand leaves decode chips idle while requests queue. But too much decode demand does the opposite. The operator must continuously predict the right split, provision spare capacity on both sides, and rebalance a system whose ideal ratio is always moving.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a unified system, some resources may be underused during a particular phase, but every device remains available to serve the next request. In a disaggregated system, an entire chip can sit idle simply because it belongs to the wrong pool. Local utilization looks better, but global utilization can be bad.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uPh7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92d363ab-c391-4b9a-9f67-516dac22f534_1364x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!uPh7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92d363ab-c391-4b9a-9f67-516dac22f534_1364x938.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Disaggregation also breaks locality. The prefill worker produces a large KV cache that the decode worker immediately needs, so the system must transfer that state across the network before generation can continue. That adds bandwidth consumption, synchronization, queueing, and another failure domain. The cost also rises with input sequence length because KV cache grows. However, avoiding the movement of KVs is largely a power and latency optimization; being willing to move some KVs around can allow for increased hardware utilization at the expense of some power and per-request latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q86J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789e0ea-2d0d-4924-b338-f0559c7e7ee9_1928x1292.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="976" src="https://substackcdn.com/image/fetch/$s_!q86J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789e0ea-2d0d-4924-b338-f0559c7e7ee9_1928x1292.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A fungible fleet shifts capacity between latency-sensitive requests and throughput-oriented batches, while a fixed split strands hardware whenever the traffic mix changes. Moreover, context length changes the balance between attention and FFN work, making any fixed hardware ratio efficient only near its design point.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!l0lN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f3a37f8-0996-4dea-9631-02ade61d7fae_1358x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!l0lN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f3a37f8-0996-4dea-9631-02ade61d7fae_1358x938.png" width="1358" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The same constraint applies to speculative decoding. A draft model has to feed candidate tokens to the verifier with extremely low latency. Separating the two across specialized pools turns a tightly coupled decoding loop into a distributed protocol. The extra communication and coordination can consume the latency saved by drafting. Keeping both models on the same devices and low-latency fabric preserves the locality that makes speculation worthwhile in the first place.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!n0nI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb19374-5a08-4d82-84a3-9875b3fc0f5b_1980x1220.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="897" src="https://substackcdn.com/image/fetch/$s_!n0nI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb19374-5a08-4d82-84a3-9875b3fc0f5b_1980x1220.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, disaggregation can still win where demand is sufficiently large, stable, and predictable, particularly when conventional GPUs need large phase-specific batches to reach good throughput. But it is not free lunch.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;From Japanese to Indian (Mild to Spicy): Katsu, Vindaloo, and Chana - How are the curry dishes put together into a rack system?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The Jalape&amp;#241;o System at the rack unit level consists of a CPU host rack and an ASIC rack. The host rack houses 16 host CPU trays named &amp;#8220;Katsu,&amp;#8221; each corresponding to one of the 16 ASIC trays, named &amp;#8220;Vindaloo,&amp;#8221; to the right of the Katsu. Each host houses two Turin-class AMD EPYC CPUs with 1.5TB of DRAM, 2x E1.S, and 2x M.2 SSDs per rack. Each tray is also specced with 400G (2x200G) frontend networking. Each Katsu tray connects to each Vindaloo tray via 8 external PCIe DAC cables that run horizontally across the rack at the front. The system level design is done in partnership with Celestica.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The ASIC rack consists of 16 Vindaloo trays and 8 scale up switch trays (6 for local + 2 for global), named &amp;#8220;Chana.&amp;#8221; Each Vindaloo tray consists of 8 Jalape&amp;#241;o ASICs, making up a total of 128 Jalape&amp;#241;o ASICs per rack. The ASICs are connected to each of the Chana switch trays via a copper cable backplane, just like that of Nvidia&amp;#8217;s Oberon. The scale up topology is split into a local domain of 128 ASICs within the rack and a global domain connecting up to 16 racks or 2,048 ASICs. We will explain the bandwidth and the topology in more detail below.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Power provisioning to a sidecar host rack draws roughly 50kW provisioned (31kW in production), and the ASIC rack draws 130kW, making the total two rack system roughly 160kW. That&amp;#8217;s basically a double-wide GB300 rack in terms of power draw.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uzLk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F596ca531-3bde-44fa-8d1b-34d04b8cc6b8_1304x1382.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1382" src="https://substackcdn.com/image/fetch/$s_!uzLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F596ca531-3bde-44fa-8d1b-34d04b8cc6b8_1304x1382.png" width="1304" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;OpenAI can connect up to 2,048 Jalape&amp;#241;o XPUs within a single scale-up network. The scale-up network consists of two domains, a local domain connecting all 128 XPUs over backplane within the rack, as well as a global domain connecting 2,048 XPUs over 16 racks using a hybrid of copper and optical interconnect. Each rack consists of 8 Chana switch trays. Six Chana switches in the middle are for the local domain, which come with one 102.4T Tomahawk 6 switch ASIC each. Two Chana switches at the top and bottom of the local switches are for the global domain, which we think could consist of 2x 102.4T Tomahawk 6 switches making up to 204.8T per switch tray.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the local domain, each of the 128 Jalape&amp;#241;o chips has a per XPU uni-directional bandwidth of 4.8Tb/s and is connected on an all-to-all basis to 6x 102.4Tb/s Tomahawk 6 ASICs. This would amount to 48-differential pair (DP) male and female connector pairs per XPU translating to a total of 6,144DPs worth of passive copper cables per rack used for local scale-up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For the global domain, 16 racks totaling 2,048 XPUs are connected together via a combination of copper backplane, electrical 204.8T TH6 switch, 1.6T transceivers, and optical circuit switch. Each XPU has a uni-directional bandwidth of 1.6Tb/s for the global link, which is 16-differential pair (DP) male and female connector pairs per XPU for the backplane between the XPU and the global switch. Bandwidth exiting each global switch tray of 2 ASICs each is split between the backplane and front panel optics.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Between local domain and global domain, backplane connector count per rack comes up to 64 DPs per XPU and a total of 8,192 DPs worth of passive copper cables per rack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The global domain adopts a rail-only architecture consisting of 8-rails across the global domain. We think OpenAI routes optical links in the global domain via Optical Circuit Switches (OCS) installed in every rack. For every XPU, 1.6Tb/s of global bandwidth will travel to the global switch tray over the copper backplane. This then exits the switch through the front panel via 1.6T transceivers, which go to the passive optical switch before exiting the rack. This expands the scale-up world size to 2,048 XPUs combining 16 racks of 128 XPUs each.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mFHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae9b26b8-471a-43b2-a60c-cd99ce2b9b07_3480x1342.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="561" src="https://substackcdn.com/image/fetch/$s_!mFHS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae9b26b8-471a-43b2-a60c-cd99ce2b9b07_3480x1342.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Because scale-up networking is only about 10% of total system cost, that flexibility buys valuable optionality for future 10&amp;#8211;20 trillion parameter models or 2&amp;#8211;4 million token context windows. On deployment, OpenAI is partnering with neoclouds and is gathering reliability data with datacenter partners through January while optimizing dock-to-rack rollout time.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;What&amp;#8217;s Next&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Next, we talk about the future of Jalape&amp;#241;o, whose first production token is coming soon. The next goal is 100MW, and the hurdles will mostly be hardware: How much can they produce, how well can they deploy and operate datacenters, how do they handle monitoring, and resiliency, etc. The software is already proven, and with internal models, every software headstart is easily caught up to. Behind the paywall we will discuss implications for NVIDIA, AMD, Cerebras, and other chip companies who have signed deals with OpenAI in the coming years.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;We also cover production volumes, units, and timelines for the next generation chip in our Accelerator model here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Direct Implications for NVIDIA, AMD and Cerebras&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/openai-jalapeno-better-than-nvidia"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/openai-jalapeno-better-than-nvidia"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;OpenAI has spent the past couple years quietly building &amp;#8220;Jalape&amp;#241;o,&amp;#8221; an inference chip just announced at Hot Chips. Rumors of a successful tapeout had been swirling for a while. But now we have details. OpenAI invited us to look at their chip, &lt;/span&gt; go to their labs to check out how real it is, and &lt;a href="https://openai.com/index/jalapeno-first-results/"&gt;&lt;span&gt;benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt; it with our &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; suite.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In June, &lt;/span&gt;&lt;a href="https://openai.com/index/openai-broadcom-jalapeno-inference-chip/"&gt;&lt;span&gt;OpenAI unveiled the chip program&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in partnership with Broadcom, built from a blank slate exclusively for LLM inference. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/openai-chip-team-is-now-serious"&gt;&lt;span&gt;Design work began in the middle of 2024&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, going from initial team hiring to manufacturing tape-out in ~16 months, an extremely fast ASIC development cycle.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In general first generation chips are not competitive, but OpenAI bucks the trend by being industry leading and beating every Nvidia, AMD, and Google chip we have been able to test on multiple top open source models. OpenAI does this with extreme hardware software codesign. Surprisingly, OpenAI is not over specialization on any specific part of model inference, but instead by focusing on being a general chip that delivers high performance in all scenarios. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article, we will go into architectural details, software details and performance results for Jalape&amp;#241;o on InferenceX.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QKjS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc028f756-4748-4583-91b2-5c4a63893cb5_2048x1153.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!QKjS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc028f756-4748-4583-91b2-5c4a63893cb5_2048x1153.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://openai.com/index/openai-broadcom-jalapeno-inference-chip/"&gt;OpenAI&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;A generalized inference chip&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Everyone says that OpenAI&amp;#8217;s chip is specialized for OpenAI models, but that&amp;#8217;s wrong, OpenAI made a generalized chip for AI inference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The timelines are insane. It shows that claims that use of AI is being used to accelerate chip design are real. Regardless of the quick timelines,Open AI spent a bunch of money, made pragmatic design decisions and their team is cracked, so this comes as no surprise.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Just looking at the specs, it is an immediate contender:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IZvP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe346a4e5-76cb-4fd9-be95-00321116b605_1846x510.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="402" src="https://substackcdn.com/image/fetch/$s_!IZvP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe346a4e5-76cb-4fd9-be95-00321116b605_1846x510.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;And the use of HBM4 makes it stand out as comparable to flagship GPUs from NVIDIA and AMD:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jhVL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327f95f7-ab6b-44ae-9b8f-17c1ff5d296b_1712x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1106" src="https://substackcdn.com/image/fetch/$s_!jhVL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F327f95f7-ab6b-44ae-9b8f-17c1ff5d296b_1712x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A lot of the media coverage of this chip has followed a few throwaway comments from OpenAI that claim the chip will be optimized for their models in a way that other chips are not. This is wrong. Jalape&amp;#241;o is a generalized inference chip capable of running all sorts of models, and all sorts of workloads, including our benchmark InferenceX, where we ran the benchmark with OpenAI engineers in the lab. As a joke, OpenAI even showed us it running Doom, which was ported to their chip with just Codex prompts.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following is our headline perf/W result, looking at token throughput per All-in utility MW. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Jalape&amp;#241;o smokes every other chip&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. All this is done without Multi Token Prediction (MTP), while the other chips on the chart are the best performing configs of each respective SKU, all with MTP.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2a3j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7f45a-df8e-436e-ba04-df5d8610f3da_2048x1330.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="946" src="https://substackcdn.com/image/fetch/$s_!2a3j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7f45a-df8e-436e-ba04-df5d8610f3da_2048x1330.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Jalape&amp;#241;o beats Blackwell on perf/W across almost all scenarios without being tuned for any specific point in the curve. It excels not only in low-latency scenarios but also in high-throughput scenarios. A more apples to apples comparison is against Single Token Prediction results, it knocks every competitor out of the water. At low concurrency scenarios, Jalape&amp;#241;o demonstrates remarkable interactivity, hitting over 700 tokens per sec per user at concurrency 1 on the DeepSeek R1 model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Incredibly, this is all achieved with single-token prediction (STP), no speculative decoding and no prefill-decode disaggregation. In addition to DeepSeek R1, we also got to see some other models, including Kimi-K2.5 and GPT-OSS which ran at approximately 1,400 tok/sec/user. For all models, we confirmed that &lt;/span&gt;Jalape&amp;#241;o&amp;#8217;s &lt;span&gt;GSM8k evals attained results on par with Nvidia chips. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Some caveats on this. First, all numbers are provided to us by OpenAI. We verified the InferenceX runs in person in the lab, but we did not run the full suite of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; benchmarks nor have we seen &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; results. AgentX is our preferred suite for comparing chip performance due to the datasets&amp;#8217; long context and multi-turn characteristics that reflect the cache behavior of realistic production workflows. Frameworks that perform well on 8k1k may perform worse on AgentX as real production loads stress components like routers, prefix cache mechanisms, cache management, offload infrastructure, etc. These are not tested by single turn 8k1k. Read more about this in out AgentX article.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Second, we believe that comparison to Blackwell is somewhat incomplete and unfair. Jalape&amp;#241;o is really competing against chips like Rubin that also use HBM4. Vera Rubin systems are starting to ship to customers right now, while it will still be some time before OpenAI has anything beyond engineering samples of Jalape&amp;#241;o.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Thus, performance should really be compared against Rubin, not Blackwell, and in some sense we expect a custom chip like Jalape&amp;#241;o to outperform Blackwell. Vera Rubin NVL72 delivers 5.4x the perf/MW of GB200 NVL72 &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;as we described in our article analyzing the NVIDIA performance claims in their launch with CoreWeave last month&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We will compare Jalape&amp;#241;o to Vera Rubin&amp;#8217;s July performance figures later below.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Third, the models being tested are not on the open frontier. NVIDIA and AMD have published results on larger models such as DeepSeek V4 Pro and Kimi K3, using AgentX. The larger the model and the more recent the release, the more complicated it is to bring up on a new chip. With that said the models OpenAI has working on Jalapeno aren&amp;#8217;t exactly small either.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Performance Analysis&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;OpenAI designs for perf/W. The reason is simple: OpenAI is currently limited by datacenter power, not by budget or floorspace, and thus tokens per MW is paramount. At Computex 2026, Jensen said that perf/W, reliability and long lifetime are the core features of future GPUs. To quote: &amp;#8220;If you have 1 gigawatt of power, then throughput per watt is revenue&amp;#8221;. He also mentioned that choosing the wrong architecture just because the chips are cheaper doesn&amp;#8217;t make sense.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UzoV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69dc13f6-ffb1-4d56-8df7-b75b57280382_1980x1254.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="922" src="https://substackcdn.com/image/fetch/$s_!UzoV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69dc13f6-ffb1-4d56-8df7-b75b57280382_1980x1254.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Computex 2026 keynote&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This was emphasized by Nvidia during the Vera talk at Hot Chips 2026 while showing the same revenue graph: &amp;#8220;The data center is power limited today.&amp;#8221; Power matters and drives revenue.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Operators cannot simply obtain more MW because adding GPUs and adding grid capacity happen on very different timescales. Datacenter power envelopes have constraints such as their utility interconnection, infrastructure, cooling capacity, and UPS/backup-generation design. Grid delays repeatedly outpace hardware and construction timelines, driving the need for BtM (behind-the-meter) power capacity: gas turbines and on-site generators built and located at the data center itself. This capacity sits behind the utility&amp;#8217;s meter rather than being drawn from the public grid. It lets an operator power a facility without waiting on grid interconnection and utility upgrades, which is exactly why xAI&amp;#8217;s Colossus 2 relies so heavily on BtM while its actual grid connection lags far behind. Find out more in our &lt;/span&gt;&lt;a href="https://semianalysis.com/energy-model/"&gt;&lt;span&gt;Energy model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we wrote in an X post, tok/s/MW reduces to tokens per joule since a watt is a joule per second. This makes tok/s/MW representative of a system&amp;#8217;s efficiency and ability to convert energy into tokens.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NzDl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a1da73-425c-4800-b396-01c7d2151be9_1200x1432.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1432" src="https://substackcdn.com/image/fetch/$s_!NzDl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a1da73-425c-4800-b396-01c7d2151be9_1200x1432.png" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://x.com/SemiAnalysis_/status/2091208991271420076"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On this front, even when compared with Rubin, Jalape&amp;#241;o wins. OpenAI&amp;#8217;s Jalape&amp;#241;o has STP output token throughput per MW surpassing &lt;/span&gt;&lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;&lt;span&gt;Vera Rubin&amp;#8217;s MTP results that NVIDIA and CoreWeave published in July. It also far exceeds GB200&amp;#8217;s 2025 MTP results.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; As mentioned in our Vera Rubin article, VR was compared to 2025 GB200 results because that was a similar stage of early bring-up, and comparing to GB200 in 2025 holds software maturity constant. Following this logic, we compare Vera Rubin&amp;#8217;s latest July 2026 results, GB200 2025 results, and today&amp;#8217;s Jalape&amp;#241;o results. This is a very valid comparison as these are the best public Rubin numbers, and OpenAI taped out their chip after Rubin. Both OpenAI and Rubin are still immature thus performance will continue to rise.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EEpe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e8f9fd2-ec7f-45fa-80b9-dc132e32c661_2048x1450.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1031" src="https://substackcdn.com/image/fetch/$s_!EEpe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e8f9fd2-ec7f-45fa-80b9-dc132e32c661_2048x1450.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On perf/TCO, Vera Rubin and Jalape&amp;#241;o are head-to-head, producing almost the same number of output tokens per $. However, as previously mentioned, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Jalape&amp;#241;o&amp;#8217;s results are obtained without speculative decoding&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; and Vera Rubin&amp;#8217;s results use speculative decoding. Speculative decoding adds a 3x+ improvement is cost per token. When speculative decoding is implemented on Jalape&amp;#241;o, this will mean Jalape&amp;#241;o will serve much lower cost tokens. Of course, part of this TCO advantage comes from trading Nvidia&amp;#8217;s high margins for Broadcom&amp;#8217;s lower (though still high) margins. But this is not all of it. For example, Meta and Microsoft&amp;#8217;s AI ASIC programs not getting off the ground despite being at it for much longer shows that cost is only one part of the equation. For Jalape&amp;#241;o&amp;#8217;s full TCO breakdown, see the &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;SemiAnalysis AI Cloud TCO model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!98mH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c58331-c05a-4823-9c4b-aae90705bb53_2048x1485.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1056" src="https://substackcdn.com/image/fetch/$s_!98mH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c58331-c05a-4823-9c4b-aae90705bb53_2048x1485.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Architecturally, OpenAI chose not to disaggregate prefill and decode (PD) across separate chip pools. The draft model and main model share the same chips and fabric, a design philosophy that trades some theoretical efficiency for practical operations. The motivation is that the workload mix changes over time, for example the ratio of input to cache write to cache read to output tokens has changed significantly as we have moved through the three eras of models (&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/"&gt;&lt;span&gt;knowledge, reasoning, and agentic, as discussed in our recent article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). Therefore, picking a fixed amount of heterogenous prefill silicon and decode silicon up front can lead to inefficiencies over time. OpenAI chooses a homogenous pool in this architecture and tries to make the chip perform well on everything.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;And it does. On Kimi K2.5 (which Cursor Composer 2.5 is based on), Jalape&amp;#241;o reaches nearly 700tok/s/user and more than 9x the next best performing chip at 100tok/s/user. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yoRC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3088f64c-9bee-46d9-a445-6818248ba573_2048x1366.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!yoRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3088f64c-9bee-46d9-a445-6818248ba573_2048x1366.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On GPT-OSS, it&amp;#8217;s another bloodbath. Jalape&amp;#241;o&amp;#8217;s iso-interactivity throughput per MW is nearly double GB200&amp;#8217;s highest throughput point and more than 50x GB200&amp;#8217;s concurrency 1 point. The higher concurrency Jalape&amp;#241;o points use EP8.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CW1w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f245dd7-c6b7-48a3-9215-3976633bb77f_2048x1366.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!CW1w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f245dd7-c6b7-48a3-9215-3976633bb77f_2048x1366.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;These results are impressive! However, we have to nitpick: they&amp;#8217;re just 8k1k, a much easier workload to tune for, and there are no &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; runs yet. As mentioned in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article, multiturn, long context workloads stress much more aspects of the serving stack, such as routers and prefix cache. Many more optimizations are needed to excel in agentic workloads. Read more about this in the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;&lt;span&gt;AgentX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; article.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Digging into the specs and architecture&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;All these results were gathered on the A0 stepping of Jalape&amp;#241;o, just 9 months into the program. But there is already a B0 stepping that is currently in the fab! B0 has optimizations that deliver roughly a 25% perf-per-watt improvement over the earlier A0 silicon. Specifically, the B0 stepping delivers 13.4 PFLOPs of MXFP4 on a single reticle-sized compute die that is manufactured on TSMC&amp;#8217;s N3P. This compares to 17.5 PFLOPs of dense Rubin NVFP4 for a single Rubin compute die that is similar size and on the same node. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is more respectable considering Jalape&amp;#241;o&amp;#8217;s TDP is only 700W compared to Rubin&amp;#8217;s at 900-1,150W per compute die. As Jalape&amp;#241;o is geared towards inference rather than training, it is understandable that OpenAI doesn&amp;#8217;t need to push TDPs higher to maximize FLOPs, but regardless the above shows that Jalape&amp;#241;o delivers respectable peak theoretical FLOPs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When compared directly to other accelerators, Jalape&amp;#241;o has the highest HBM bandwidth per watt, and the highest FLOPs per watt, comparable to the 1,800W Rubin Max-Q configuration:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!4mJM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5795c45-d23b-403c-8bc4-f13d5ba6fb45_2048x394.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="280" src="https://substackcdn.com/image/fetch/$s_!4mJM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5795c45-d23b-403c-8bc4-f13d5ba6fb45_2048x394.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Off-package I/O is provided by an N3E I/O chiplet with 32 lanes of 800G SerDes, for the compute fabric, with 24 lanes (600GB/s) being used for local scale-up within the rack, and 8 lanes (200GB/s) for global scale-up which is the 2,048 XPU multi-rack domain. PCIe Gen 5 is used for system I/O to connect to the x86 host CPU.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Jalape&amp;#241;o will ship with HBM4, making this chip one of the relatively early adopters after Nvidia and AMD, even beating the established TPU and Trainium programs. As one of the key architectural principles behind Jalape&amp;#241;o is getting the most out of HBM bandwidth, settling for anything but the best HBM would run counter to that goal. This results in 15.4TB/s of memory bandwidth per package which bests all the other accelerators shipping that are using HBM3E. The 15.4TB/s bandwidth shows its HBM4 can hit 10Gbps pin speeds, which would give it a slight edge over the 9.6Gbps Nvidia is getting out of its HBM4 in Rubin. The HBM is likely provided by Samsung.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZdtW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7d181a-2bb9-45d4-bd67-2f7e525ce6d1_1426x376.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="376" src="https://substackcdn.com/image/fetch/$s_!ZdtW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7d181a-2bb9-45d4-bd67-2f7e525ce6d1_1426x376.png" width="1426" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;OpenAI taped out Jalape&amp;#241;o in November 2025, or more specifically, this was a tape out of the CoWoS design, not just the top die silicon. Within 9 months of that Nov 2025 tapeout, and with only 3 months of bring-up on actual silicon, OpenAI has already delivered very good results with Jalape&amp;#241;o. This is all the more impressive as the team is starting from zero on the software stack. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, Rubin&amp;#8217;s CoWoS tape out was completed in October 2025, a month earlier, and yet the only early results we have seen are from CoreWeave&amp;#8217;s engineering samples. Nvidia has not let us test and release benchmarks in the same way that OpenAI has, indicating their chip software is still immature. The CUDA moat is potentially dead given how fast OpenAI can bring up new models on their silicon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;They are still far from optimized and we can see that generally Jalape&amp;#241;o has delivered better numbers. We don&amp;#8217;t think that Nvidia hardware is inferior, but more so that Jalape&amp;#241;o&amp;#8217;s software bring-up has progressed more quickly than Nvidia&amp;#8217;s. This speaks to the power of hardware/software co-design, which is the main area where a cracked frontier lab ASIC team can excel over more established merchant silicon players. Counterintuitively, starting from scratch may also have benefited OpenAI as it could make clean-sheet architectural decisions without worrying about backwards compatibility or older software versions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While OpenAI has engineering samples of Jalape&amp;#241;o, production is currently scheduled to gradually ramp over 2027 with most of the output currently scheduled for the end of next year. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;For more details of unit volumes and ASPs, see the SemiAnalysis Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Suffice to say, OpenAI Jalapeno is a real high volume ASIC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When compared against Rubin&amp;#8217;s timeline, Jalape&amp;#241;o&amp;#8217;s is shockingly quick. As shown earlier, Jalape&amp;#241;o&amp;#8217;s results beat Rubin&amp;#8217;s despite Rubin&amp;#8217;s head start.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!d3_z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb59cacc-1f16-4c6a-98a5-0f0db74dada7_2048x411.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="292" src="https://substackcdn.com/image/fetch/$s_!d3_z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb59cacc-1f16-4c6a-98a5-0f0db74dada7_2048x411.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Jalapeno Architecture&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Digging into the architecture now, the chip&amp;#8217;s matrix engine uses MXFP numerical formats and a weight stationary systolic array, similar to TPU. But when compared directly to TPU, it has support for smaller shapes / dimensions, meaning that it doesn&amp;#8217;t have weird performance cliffs that get exposed by awkwardly shaped matmuls on bigger systolics.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It also has 64-bit scalar cores and FP32/INT32 vector cores. OpenAI has also invested in redundancy at the tray level and has yield harvesting built in at the core and channel level. They claim that AI assistance in chip design delivered an 8% reduction in SIMD area and a 10% reduction in matrix-engine area during design. While they did not clarify the exact process/voltage/temperature (PVT) conditions, they also mentioned the AI-assisted blocks improved timing and power over the initial blocks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The Jalape&amp;#241;o architecture design focuses on eliminating memory movement of KVCache and weights as well as fixed latencies and overheads in order to make it possible to get closer to the raw peak flops/bandwidth even for small batches or shapes as compared to other accelerators. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cores and the HBM are divided into slices, where each core slice has a low-latency local view on its own slice of HBM. Synchronization between slices occurs on a high-bandwidth dedicated collective network. This minimal memory hierarchy already gives Jalape&amp;#241;o a big potential advantage over GPUs, where memory accesses must traverse a complicated memory system, resulting in large latencies that must be amortized or hidden over larger shapes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This choice is feasible because with careful placement of weights and KVs, synchronization between cores can be restricted to limited, known high-bandwidth comms such as tensor-parallel communication that can be overlapped with compute.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VVEK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F871631ee-8f0d-4fb6-869c-a6fb298e800e_2048x832.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="592" src="https://substackcdn.com/image/fetch/$s_!VVEK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F871631ee-8f0d-4fb6-869c-a6fb298e800e_2048x832.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;There is also an additional general NoC which is used for general comms and to access the scale-up network. In general OpenAI saves huge power and gets big performance gains with a simplified NOC and memory subsystem vs Nvidia and Google.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-R_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f93df86-2ea2-4904-8fd1-e0e5eff4b410_1638x854.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="759" src="https://substackcdn.com/image/fetch/$s_!-R_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f93df86-2ea2-4904-8fd1-e0e5eff4b410_1638x854.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At the core level, OpenAI describes an out-of-order (OoO) core with an L1 cache. This is a large divergence from the pattern we have seen in other accelerators, all of which instead use software-managed scratchpad commonly paired with some async DMA support. Again, the argument being made here is that this allows Jalape&amp;#241;o to avoid fixed overheads such as barrier latencies, which on other accelerators (such as GPUs) need to be hidden or amortized over with higher work per core, and make it harder to get close to the raw peak bandwidth/flops.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The tradeoff is that Jalape&amp;#241;o therefore relies on good prefetching to ensure timely arrivals of memory requests, which is less predictable and more difficult to reason about. However, with Codex in a good harness with access to detailed tracing, it is likely that finding the optimal kernel with the best prefetching for a given shape requires little human intervention. We think that is exactly what OpenAI has done to bring up DeepSeek R1, Kimi K2.5, and GPT-OSS so quickly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cores also have support for &amp;#8220;small&amp;#8221; matrix dimensions, which (depending on how small) should make it more general across different model and batch dimensions less sensitive to matrix dimension alignment, padding overhead, and tiling inefficiency. For instance, TPUs, Trainium, and Etched chips have very large systolic arrays which can require large batches or exactly-divisible model dimensions to avoid tiling inefficiencies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With Jalape&amp;#241;o, OpenAI has focused on eliminating fixed latencies in the system to allow for as-close-to-roofline performance as possible across all areas of the pareto curve. In theory, this could give them advantages over the GPU at multiple operating points:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Much better upper-bound performance on low-latency/small-batch inference, which on GPUs is limited by many fixed overheads such as launch latencies, barrier latencies, memory system latency&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Some potential to achieve closer to the hardware roofline even for large-batch or long-context&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;This comes with the caveat that even if the upper-bound performance is available in theory, it may be more difficult to realize that performance for real kernels. So it seems the approach is:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Design for the highest upper-bound performance across all workload shapes&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Let Codex do the tedious work of finding the kernels that achieve that upper bound&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Judging by the extremely fast turnaround for the OpenAI team to bring up InferenceX workloads on Jalape&amp;#241;o, we are optimistic about this approach.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If Jalape&amp;#241;o is a success, it will be a strong signal that the industry&amp;#8217;s obsession over programming models and perfect, universal compilers are invalidated by frontier AI models.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Software&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;OpenAI writes Jalape&amp;#241;o kernels like assembly. Each kernel gets hand-tuned code, some running to ~3,000 lines, backed by correctness checks and a custom sanitizer. Early kernel work was human-in-the-loop rather than fully automated, but this shifted with a more scaled-up, internal version of Codex, one which OpenAI plans to pitch to enterprise customers. The internal serving engine is called &amp;#8220;Teacup&amp;#8221;. Interestingly,  &lt;/span&gt;&lt;strong&gt;&lt;span&gt;OpenAI had no internal implementation of MLA kernels until they benchmarked DeepSeek with InferenceX&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The ability for Codex to write functional and efficient kernels so quickly (without any of OpenAI&amp;#8217;s kernel engineering team intervening) shows the software pipeline&amp;#8217;s developmental ability.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;OpenAI programs Jalape&amp;#241;o with Gluon. Gluon is OpenAI&amp;#8217;s kernel programming language. Built on top of Triton, Gluon preserves Triton&amp;#8217;s SPMD (Single Program Multiple Data) programming model, but it exposes &lt;/span&gt;&lt;strong&gt;&lt;span&gt;low-level programming abstractions&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. For example, for NVIDIA GPUs, it offers APIs that map to PTX instructions, including MMA instructions, TMA instructions, mbarrier mechanisms, and many more. The most unique abstraction Gluon provides is &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the layout&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Generally speaking, a layout defines a mapping between a hardware resource (e.g. 5th register of warp 9) and a tensor element (e.g. tensor element on row 6 column 7). Gluon&amp;#8217;s layout abstraction is based on &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2505.23819"&gt;&lt;span&gt;Linear Layouts&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a type of layout algebra OpenAI invented. Linear Layouts mathematically formalizes what a layout is and provides tools to operate on layouts. This enables many features, such as provably correct layout conversions and optimal memory swizzling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of Jalape&amp;#241;o&amp;#8217;s programming model, each Gluon program maps to a persistent thread. We believe this hints that Jalape&amp;#241;o suits the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;persistent kernel programming pattern&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, where each program executes on multiple tiles, and the programmer, rather than the hardware scheduler, assigns the work. OpenAI mentioned TensorInfo, an abstraction that explicitly encodes layouts. This is likely the set of layouts designed for Jalape&amp;#241;o, which will be powered by Linear Layouts. Finally, each core offers data prefetching and decoupled out-of-order units. For example, a user might program a wait on a prefetched data, which is locked behind a semaphore.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a weird twist of fate, OpenAI models like GPT 5.6 Sol, which currently run on NVIDIA GPUs, have been used to design a chip that poses a real threat to the CUDA moat - NVIDIA&amp;#8217;s own GPUs are helping usher in their potential successor in real time.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Comparing across time, we can also see Jalape&amp;#241;o&amp;#8217;s developmental pace, achieving more than 2x throughput improvements at certain interactivities in less than 2 weeks. Each tarball we get from the Jalape&amp;#241;o team has a world of wonders inside.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LMc_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38d958b-6d53-4ebe-b92f-c2cb58de05c2_2048x1485.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1056" src="https://substackcdn.com/image/fetch/$s_!LMc_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38d958b-6d53-4ebe-b92f-c2cb58de05c2_2048x1485.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Not only did kernel performance improve, in the span of 8 days, the Jalape&amp;#241;o team enabled TP32, building on the previous TP8 configs and expanding beyond a single system to get a full rack-scale config running on a large model. This is a really impressive pace of development.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hCdt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18d5611-f7c1-4e34-8919-99b1c683054f_2048x1485.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1056" src="https://substackcdn.com/image/fetch/$s_!hCdt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18d5611-f7c1-4e34-8919-99b1c683054f_2048x1485.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To validate performance before committing to real hardware runs, OpenAI also has a  simulator &amp;#8220;chilisim&amp;#8221; accurate to within 5% of measured hardware, using a fixed-width trace bus. Tracing on A0 was limited but has improved substantially on B0, likely with inputs from actual runs on A0 silicon. Engineers have demoed the Codex CLI running an internal model, nicknamed &amp;#8220;Raiku&amp;#8221; or &amp;#8220;5.3 Codex Spark&amp;#8221;, at 1.2ms TPOT.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The team also showed off Codex-written demos running directly on the chip: Doom at 36 FPS, an FP32 fluid-dynamics simulation, and a &amp;#8220;Liquid Light&amp;#8221; mouse-drag visualization.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U08h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd410878f-5f19-40bd-ad2c-d92ad45d65a9_1252x1232.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1232" src="https://substackcdn.com/image/fetch/$s_!U08h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd410878f-5f19-40bd-ad2c-d92ad45d65a9_1252x1232.png" width="1252" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the model side, OpenAI&amp;#8217;s internal megakernel approach, nicknamed &amp;#8220;gigakernel&amp;#8221;, is built around a single megakernel that loops on-device to reduce CPU overhead and launch time. The team is also leaning further into test-time compute strategies, with internal interest specifically in how to coherently use 1 million rollouts.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;To Disagg or Not to Disagg, &amp;#8216;tis the Question&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;We mentioned earlier that OpenAI is not using prefill decode disaggregation on these chips. This came as a surprise to us, as NVIDIA and AMD GPU performance benefits significantly from PDD, even on homogenous hardware. Let&amp;#8217;s dig into why the Jalape&amp;#241;o team went this way.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Prefill-decode disaggregation (PDD) looks attractive when the workload is frozen. Prefill and decode stress hardware differently, so assigning each phase to a separately tuned pool can improve efficiency at one chosen input/output ratio. Production traffic, however, does not stay at that ratio. Input and output sequence lengths, concurrency, cache-hit rates, speculative-acceptance rates, and latency targets all move throughout the day.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Once devices are divided into prefill and decode pools, too much prefill demand leaves decode chips idle while requests queue. But too much decode demand does the opposite. The operator must continuously predict the right split, provision spare capacity on both sides, and rebalance a system whose ideal ratio is always moving.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a unified system, some resources may be underused during a particular phase, but every device remains available to serve the next request. In a disaggregated system, an entire chip can sit idle simply because it belongs to the wrong pool. Local utilization looks better, but global utilization can be bad.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uPh7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92d363ab-c391-4b9a-9f67-516dac22f534_1364x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!uPh7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92d363ab-c391-4b9a-9f67-516dac22f534_1364x938.png" width="1364" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Disaggregation also breaks locality. The prefill worker produces a large KV cache that the decode worker immediately needs, so the system must transfer that state across the network before generation can continue. That adds bandwidth consumption, synchronization, queueing, and another failure domain. The cost also rises with input sequence length because KV cache grows. However, avoiding the movement of KVs is largely a power and latency optimization; being willing to move some KVs around can allow for increased hardware utilization at the expense of some power and per-request latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q86J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789e0ea-2d0d-4924-b338-f0559c7e7ee9_1928x1292.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="976" src="https://substackcdn.com/image/fetch/$s_!q86J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789e0ea-2d0d-4924-b338-f0559c7e7ee9_1928x1292.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A fungible fleet shifts capacity between latency-sensitive requests and throughput-oriented batches, while a fixed split strands hardware whenever the traffic mix changes. Moreover, context length changes the balance between attention and FFN work, making any fixed hardware ratio efficient only near its design point.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!l0lN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f3a37f8-0996-4dea-9631-02ade61d7fae_1358x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="938" src="https://substackcdn.com/image/fetch/$s_!l0lN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f3a37f8-0996-4dea-9631-02ade61d7fae_1358x938.png" width="1358" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The same constraint applies to speculative decoding. A draft model has to feed candidate tokens to the verifier with extremely low latency. Separating the two across specialized pools turns a tightly coupled decoding loop into a distributed protocol. The extra communication and coordination can consume the latency saved by drafting. Keeping both models on the same devices and low-latency fabric preserves the locality that makes speculation worthwhile in the first place.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!n0nI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb19374-5a08-4d82-84a3-9875b3fc0f5b_1980x1220.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="897" src="https://substackcdn.com/image/fetch/$s_!n0nI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb19374-5a08-4d82-84a3-9875b3fc0f5b_1980x1220.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, disaggregation can still win where demand is sufficiently large, stable, and predictable, particularly when conventional GPUs need large phase-specific batches to reach good throughput. But it is not free lunch.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;From Japanese to Indian (Mild to Spicy): Katsu, Vindaloo, and Chana - How are the curry dishes put together into a rack system?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The Jalape&amp;#241;o System at the rack unit level consists of a CPU host rack and an ASIC rack. The host rack houses 16 host CPU trays named &amp;#8220;Katsu,&amp;#8221; each corresponding to one of the 16 ASIC trays, named &amp;#8220;Vindaloo,&amp;#8221; to the right of the Katsu. Each host houses two Turin-class AMD EPYC CPUs with 1.5TB of DRAM, 2x E1.S, and 2x M.2 SSDs per rack. Each tray is also specced with 400G (2x200G) frontend networking. Each Katsu tray connects to each Vindaloo tray via 8 external PCIe DAC cables that run horizontally across the rack at the front. The system level design is done in partnership with Celestica.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The ASIC rack consists of 16 Vindaloo trays and 8 scale up switch trays (6 for local + 2 for global), named &amp;#8220;Chana.&amp;#8221; Each Vindaloo tray consists of 8 Jalape&amp;#241;o ASICs, making up a total of 128 Jalape&amp;#241;o ASICs per rack. The ASICs are connected to each of the Chana switch trays via a copper cable backplane, just like that of Nvidia&amp;#8217;s Oberon. The scale up topology is split into a local domain of 128 ASICs within the rack and a global domain connecting up to 16 racks or 2,048 ASICs. We will explain the bandwidth and the topology in more detail below.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Power provisioning to a sidecar host rack draws roughly 50kW provisioned (31kW in production), and the ASIC rack draws 130kW, making the total two rack system roughly 160kW. That&amp;#8217;s basically a double-wide GB300 rack in terms of power draw.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uzLk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F596ca531-3bde-44fa-8d1b-34d04b8cc6b8_1304x1382.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1382" src="https://substackcdn.com/image/fetch/$s_!uzLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F596ca531-3bde-44fa-8d1b-34d04b8cc6b8_1304x1382.png" width="1304" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, OpenAI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;OpenAI can connect up to 2,048 Jalape&amp;#241;o XPUs within a single scale-up network. The scale-up network consists of two domains, a local domain connecting all 128 XPUs over backplane within the rack, as well as a global domain connecting 2,048 XPUs over 16 racks using a hybrid of copper and optical interconnect. Each rack consists of 8 Chana switch trays. Six Chana switches in the middle are for the local domain, which come with one 102.4T Tomahawk 6 switch ASIC each. Two Chana switches at the top and bottom of the local switches are for the global domain, which we think could consist of 2x 102.4T Tomahawk 6 switches making up to 204.8T per switch tray.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the local domain, each of the 128 Jalape&amp;#241;o chips has a per XPU uni-directional bandwidth of 4.8Tb/s and is connected on an all-to-all basis to 6x 102.4Tb/s Tomahawk 6 ASICs. This would amount to 48-differential pair (DP) male and female connector pairs per XPU translating to a total of 6,144DPs worth of passive copper cables per rack used for local scale-up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For the global domain, 16 racks totaling 2,048 XPUs are connected together via a combination of copper backplane, electrical 204.8T TH6 switch, 1.6T transceivers, and optical circuit switch. Each XPU has a uni-directional bandwidth of 1.6Tb/s for the global link, which is 16-differential pair (DP) male and female connector pairs per XPU for the backplane between the XPU and the global switch. Bandwidth exiting each global switch tray of 2 ASICs each is split between the backplane and front panel optics.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Between local domain and global domain, backplane connector count per rack comes up to 64 DPs per XPU and a total of 8,192 DPs worth of passive copper cables per rack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The global domain adopts a rail-only architecture consisting of 8-rails across the global domain. We think OpenAI routes optical links in the global domain via Optical Circuit Switches (OCS) installed in every rack. For every XPU, 1.6Tb/s of global bandwidth will travel to the global switch tray over the copper backplane. This then exits the switch through the front panel via 1.6T transceivers, which go to the passive optical switch before exiting the rack. This expands the scale-up world size to 2,048 XPUs combining 16 racks of 128 XPUs each.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mFHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae9b26b8-471a-43b2-a60c-cd99ce2b9b07_3480x1342.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="561" src="https://substackcdn.com/image/fetch/$s_!mFHS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae9b26b8-471a-43b2-a60c-cd99ce2b9b07_3480x1342.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Because scale-up networking is only about 10% of total system cost, that flexibility buys valuable optionality for future 10&amp;#8211;20 trillion parameter models or 2&amp;#8211;4 million token context windows. On deployment, OpenAI is partnering with neoclouds and is gathering reliability data with datacenter partners through January while optimizing dock-to-rack rollout time.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;What&amp;#8217;s Next&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Next, we talk about the future of Jalape&amp;#241;o, whose first production token is coming soon. The next goal is 100MW, and the hurdles will mostly be hardware: How much can they produce, how well can they deploy and operate datacenters, how do they handle monitoring, and resiliency, etc. The software is already proven, and with internal models, every software headstart is easily caught up to. Behind the paywall we will discuss implications for NVIDIA, AMD, Cerebras, and other chip companies who have signed deals with OpenAI in the coming years.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;We also cover production volumes, units, and timelines for the next generation chip in our Accelerator model here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Direct Implications for NVIDIA, AMD and Cerebras&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/openai-jalapeno-better-than-nvidia"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-25T06:00:38+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat</id>
    <title>AgentX - InferenceXv3: Does CUDA Moat Hold up in Agentic Inferencing?</title>
    <updated>2026-08-23T16:19:35+00:00</updated>
    <author>
      <name>Cam Quilici</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;Since the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/claude-code-is-the-inflection-point"&gt;&lt;span&gt;Claude Code inflection point&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in November 2025, long-context, multi-turn agentic workloads have grown rapidly. They now dominate traffic for production inferencing. In April 2026, OpenAI&amp;#8217;s Enterprise agentic spending overtook ChatGPT spending.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Agentic workflows have decisively taken the baton. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Today, we announce AgentX 1.0 - the world&amp;#8217;s first fully open source, multi-turn agentic coding inference benchmark at 1 million context, released under Apache 2.0. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;Our full dashboard is available here.&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EW3z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864512bf-1feb-445d-a03a-bbf9f4f1b791_1928x1234.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="932" src="https://substackcdn.com/image/fetch/$s_!EW3z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864512bf-1feb-445d-a03a-bbf9f4f1b791_1928x1234.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://openai.com/signals/enterprise-data/"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In the past most measured performance based on fixed sequence length prefill and decode workloads, but this is an inaccurate way to measure workloads. Reality is multi-turn, long context, high prefill reuse, with sub agent bursts, KVCache offload, and numerous tool calls. As such we aimed to build the correct way for the industry to measure AI hardware and software performance.&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;We have spent more than $3M building this dataset. Today, we open source everything.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; InferenceXv3 implements AgentX, a new realistic scenario in addition to the existing &amp;#8220;fixed sequence length&amp;#8221; scenarios (8k1k, 1k1k, 1k8k). It improves the benchmark scenarios by using agentic coding traffic instead of the previous single-turn traffic of 8k input and 1k output tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The full matrix runs on ~2MW of continuously operated compute across over 1000 chips spanning a wide range of SKUs, featuring the MI355X, GB300 NVL72, GB200 NVL72, B300, B200, MI325, MI300X, H200, and RTX Pro Servers. Rubin arrives later this month, and TPUs and Mi455X UALoE72 arrive later this year.  &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Please drop a star if you found our free open source work valuable.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is great to see amazing performance from both NVIDIA and AMD on agentic workloads. NVIDIA does very good on a lot of frontier models while AMD also does well on some frontier models for specific comparsions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PGMD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a065d23-de1d-4e2f-a3ae-7af724409c9d_1350x653.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="653" src="https://substackcdn.com/image/fetch/$s_!PGMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a065d23-de1d-4e2f-a3ae-7af724409c9d_1350x653.png" width="1350" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;SemiAnalysis GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The most valuable thing AgentX produced in its first months was not the initial results. It was the massive industry impact the benchmark is already having.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; Over 70+ upstream PRs&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for optimizing real world production agentic workloads across vLLM, SGLang, TensorRT-LLM, ATOM, AITER, Dynamo, LMCache, and Mooncake, uses AgentX as the north star benchmark proxy. Most of these optimization improvements are transferable to production traffic. We deep dive into each of these optimizations later in the article.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rfhK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193e605e-579b-4ed2-9637-5bfdbee5cf71_1286x1515.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1515" src="https://substackcdn.com/image/fetch/$s_!rfhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193e605e-579b-4ed2-9637-5bfdbee5cf71_1286x1515.png" width="1286" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Open source is a core principle for InferenceX and thus, we open more of the stack than most people who use that word. That includes an open frontend, a public database served through an easily consumable REST API &lt;/span&gt;&lt;strong&gt;&lt;span&gt;that multiple tier 1 AI lab&amp;#8217;s capacity planning teams already consume&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, public GitHub Actions CI provenance, &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440193?i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;view=logs"&gt;&lt;span&gt;logs&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and accuracy validation on every single point. Crucially, our benchmark configs mainly track &lt;/span&gt;&lt;a href="http://recipes.vllm.ai"&gt;&lt;span&gt;recipes.vllm.ai&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://docs.sglang.io/cookbook/intro"&gt;&lt;span&gt;SGLang cookbook&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on upstream images such that we are measuring the performance actual customers are experiencing instead of measuring benchmax&amp;#8217;ed images.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In three to four weeks, we will release an AgentX update article. It will cover further optimizations to agentic workloads, plus updated performance results from AMD and Nvidia. It is important to understand that the profile of agentic workloads is updating fast. InferenceX will continue to move swiftly to benchmark the relevant workloads.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;InferenceX is 100% committed to being open-source - this would not be possible without the contributions and support from our OSS partners. We would like to thank the following people that have made massive contributions to the AgentX 1.0 release:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Inferact/vLLM&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Roger Wang, Yifan Qiao, Simon Mo, Jeff Ma, and many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;RedHat/llm-d&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Michael Goin, Robert Shaw, Tyler Michael Smith&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;RadixArk/SGLang&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Baizhou Zhang, Yuwei An, Mingyi Lu, and many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;LMCache/TensorMesh&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Samuel Shen&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Weka&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Callan Fox, ValB&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;MoonCake Maintainers:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Teng Ma, Xu Wenjie, Ke Yang&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;AMD&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Thomas Wang, HaiShaw, Andy Luo, Seungrok Jung, Chun Fang, Parth Panchal, Bill He, Theresa Shan, Hongxia, Fangzhou, Gilbert Lei, Yanfei Wang, Duyi Wang, Peng Sun, Lingpeng Jin, Simon Danielsson, Xiaohu Guo, Haichen Zhang, Chang Liu, Doug Lehr, Poovaiah Palangappa, and many others in the AMD Shanghai Development Centre&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Nvidia&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Xin Li, Anthony Casagrande, Kedar Potdar, Ankur Singh, Ishani Dhanani, Nick Comly, Nvidia Shanghai TensorRT-LLM team, and many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Anthropic staff, for promptly fixing multiple bugs that made implementing AgentX possible&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;GitHub:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Austen Stone for helping with reliability of GitHub Actions that AgentX uses&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;And many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;In addition, we are thankful to all who support our open source InferenceX initiative, including Meta, Microsoft, Oracle, OpenAI, MiniMax, Moonshot Kimi, Alibaba Qwen, and Zhipu GLM.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4ptj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97525a9-216a-4624-91c6-373ee7a3850e_1123x437.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="437" src="https://substackcdn.com/image/fetch/$s_!4ptj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97525a9-216a-4624-91c6-373ee7a3850e_1123x437.png" width="1123" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/quotes"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;A Brief Overview of Agentic Workloads&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At a high level, an agentic workload is characterized by four elements:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Multi-turn:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; a session includes many user / assistant interactions (tens or hundreds) compared to a handful in a chatbot scenario. Multi-turn, long context, high prefill reuse, with sub agent bursts and numerous tool calls.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Long context:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; system prompts, tool definitions, and the large number of turns make context accumulate quickly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;High prefix reuse:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; since the conversation progresses linearly, where output from turn n-1 is concatenated to turn n (typically), most context can be served from KV cache rather than recomputed (this depends on amount of storage available to store KV tensors). As n grows, the ratio of cached input relative to uncached typically tends towards 1.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Sub-agent bursts: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;a session launches multiple short-lived sub-agents with fresh context, which create bursty KVCache patterns.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t24X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72b64a02-8a1f-4a19-929c-85c0ed4803cd_2048x909.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!t24X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72b64a02-8a1f-4a19-929c-85c0ed4803cd_2048x909.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: DeepSeek, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Considering the characteristics above, benchmarking these workloads is fundamentally different from the existing fixed sequence length benchmarks. Namely, agentic inference is inherently a &lt;/span&gt;&lt;em&gt;&lt;span&gt;systems problem&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. Because of extremely high prefix reuse, KV tensors must be efficiently transferred across nodes/ranks (NIXL, MORI-IO, Mooncake). Additionally, different conversations should be routed to different nodes/ranks depending on where the appropriate prefix resides in order to maximize cache hit rate (LLM-d, Dynamo, vLLM/SGLang router). Long context conversations stress the HBM capacity for KV cache and necessitate offloading KV tensors to different tiers of memory (DRAM, SSD), a process that needs to be carried out efficiently (Mooncake Store, LMCache, vLLM Simple Offloading, SGLang HiCache).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is in contrast to fixed sequence length, single turn workloads where prefix reuse is not relevant and inference performance is largely reflective of baseline chip/kernel performance. This is not to say that the plethora of fixed sequence length data on InferenceX is not important. In fact, stripping away the complexities of agentic serving shows clearly how low-level inference performance optimizations are progressing. It also provides an important baseline for AgentX results.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In an attempt to make the AgentX workloads as realistic as possible, we collected an initial corpus of &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126"&gt;&lt;span&gt;393 internal SemiAnalysis anonymous Claude Code traces&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to replay. To anonymize the content while keeping the original prefix reuse pattern, we use a method similar to the &lt;/span&gt;&lt;a href="https://github.com/alibaba-edu/qwen-bailian-usagetraces-anon"&gt;&lt;span&gt;Qwen-Bailian dataset&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, one of the earliest corpora of production traces. We then use &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/aiperf"&gt;&lt;span&gt;AIPerf&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to reconstruct the traces according to the original schedule of requests at varying levels of concurrent clients.  We worked with Anthropic to ship two Claude Code features to make the AgentX dataset possible. We thank the Anthropic staff for their help.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code/issues/49207"&gt;&lt;span&gt;https://github.com/anthropics/claude-code/issues/49207&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code/issues/66761"&gt;&lt;span&gt;https://github.com/anthropics/claude-code/issues/66761&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;This brief introduction to agentic workloads should give the reader enough context to understand the results in the next section. In a later section, we will provide a deeper technical dive into the methodology, replay harness, and dataset.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Agentic Coding Inference Performance&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;When looking at inference coding performance, OpenAI, Anthropic, xAI, and other frontier labs focus on three things. They look at performance per dollar versus interactivity (TPOT), TTFT (time to first token), and overall end-to-end task completion. Performance per megawatt is also important, considering that terrestrial datacenter power is a critical constraint (money is a social construct and it appears the labs have an unlimited supply, but power is physically hard to come by in this day and age). &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Our datacenter model has estimates of quarter by quarter build up of power demand and supply.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this section, we highlight some of the overall agentic performance themes across frontier models. We strongly encourage the reader to use this as a guide to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;investigate the results for themselves&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;All of the data is open source and the community has the opportunity to draw their own conclusions on the current state of real world inference performance.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;DeepSeek V4 Pro 0813&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;DeepSeek V4 Pro 0813 is an ultra popular frontier open weight model from China. It has ~1.6 Trillion parameters with 49 Billion active parameters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As of August 21, the following graph shows the best performance per SKU for all submissions, normalized by total cost of ownership (TCO).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The ISL/OSL distribution of &lt;/span&gt;&lt;em&gt;&lt;span&gt;all&lt;/span&gt;&lt;/em&gt;&lt;span&gt; requests among all DeepSeek v4 runs was as follows: ISL p50=88k, p90=272k, p95=404k, p99=675k and OSL p50=413, p90=2.2k, p95=3.7k, p99=8.6k.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JDdn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8337140-b620-476a-abd3-59d6cc447d30_2048x1256.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="893" src="https://substackcdn.com/image/fetch/$s_!JDdn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8337140-b620-476a-abd3-59d6cc447d30_2048x1256.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FVP4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5aee8b4-d11a-48d8-823c-1ca53412e689_2048x1253.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="891" src="https://substackcdn.com/image/fetch/$s_!FVP4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5aee8b4-d11a-48d8-823c-1ca53412e689_2048x1253.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;i_seq=agentic-traces&amp;amp;g_runid=32433563482&amp;amp;i_xmode=interactivity&amp;amp;i_label=0&amp;amp;i_e2e_xmetric="&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In general, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;it is important to consider both tokens per second per user&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (TPS - also known as interactivity) and TTFT, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;since these often come at the expense of one another&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. For instance, in the graph above, some SKUs achieve very high throughput at decent interactivity, however TTFT is severely degraded. What is an &amp;#8220;acceptable&amp;#8221; p90 TTFT varies heavily depending on the application. For most production systems serving agentic workloads, you can expect p90 TTFT to be anywhere from 200-5,000ms. Anything over 5-10s is pushing the boundary of what can be considered &amp;#8220;online inference.&amp;#8221; There are still practical applications for the ultra-high throughput sector of the curve, where latency does not matter and peak system utilization is desirable (batch processing, &lt;/span&gt;&lt;em&gt;&lt;span&gt;very&lt;/span&gt;&lt;/em&gt;&lt;span&gt; long running agents, etc).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of single node performance, MI355X open-source performance (vLLM) trails behind vendor specific ATOM (AMDs equivalent of TensorRT LLM). We think it&amp;#8217;s great that AMD is pushing the frontier quickly with ATOM, however we encourage them to make a higher priority of upstreaming these improvements into vLLM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nim3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd96697d9-bf24-4093-a7db-16d27a52aa08_2048x1200.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="853" src="https://substackcdn.com/image/fetch/$s_!nim3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd96697d9-bf24-4093-a7db-16d27a52aa08_2048x1200.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s distributed inference (DI) team has made great progress on 8k1k scenarios over the past six months. The team still has some way to go before DI is a viable solution for realistic workloads. In terms of throughput per GPU vs. interactivity, we observe the 1xDEP8+1xDEP8 disagg config is only able to realize slight performance gains in the high throughput scenarios, while actually performing worse in low latency scenarios.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To make matters worse, any increase in throughput at the middle-to-high interactivity configs is overshadowed by the significant spike in p90 TTFT. One of the reasons for this is the use of SGLang&amp;#8217;s --enable-prefill-delayer argument above concurrency 64, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/blob/v0.5.17/python/sglang/srt/server_args.py#L3180-L3194"&gt;&lt;span&gt;which postpones prefill admission so DP ranks can form fuller batches&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (for up to 30 forward passes). Additionally, these points also increase chunked prefill size from 8,192 to 65,536.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hqQ7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81475383-510e-4823-9373-751b8a3722e3_2048x1202.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="855" src="https://substackcdn.com/image/fetch/$s_!hqQ7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81475383-510e-4823-9373-751b8a3722e3_2048x1202.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EsdQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6254047b-173b-4b1b-9f43-2057eb720b05_2048x1200.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="853" src="https://substackcdn.com/image/fetch/$s_!EsdQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6254047b-173b-4b1b-9f43-2057eb720b05_2048x1200.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_active=mi355x_atom%2Cmi355x_mori-sglang&amp;amp;i_vendor=AMD&amp;amp;i_linelabel=0&amp;amp;i_metric=y_tpPerGpu"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On e2e latency, ATOM MI355X beats B200 vLLM (it does not beat B300 or B200 SGLang though). The issue with this is that most AI labs in China or the west do not want to use ATOM in production besides 1 small advertising business unit at Alibaba Corp due to tons of missing features. The main Qwen LLM org at baba does not use ATOM in production.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xGRQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8d915c0-c962-4277-b62c-a1b08b8e7179_1924x1262.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="955" src="https://substackcdn.com/image/fetch/$s_!xGRQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8d915c0-c962-4277-b62c-a1b08b8e7179_1924x1262.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Before August 21, 2026, AMD&amp;#8217;s MI355X strong SGLang development team was matching B200 vLLM on performance per dollar on end to end (e2e) performance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_s4G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F360a051c-6117-4860-a704-b50198f01521_1978x1246.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="917" src="https://substackcdn.com/image/fetch/$s_!_s4G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F360a051c-6117-4860-a704-b50198f01521_1978x1246.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, B300 vLLM and B200 SGLang still beat AMD&amp;#8217;s MI355X.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6j5N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec4708c-148e-42ee-a7c5-3bf4d9cbdfaa_1938x1246.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="936" src="https://substackcdn.com/image/fetch/$s_!6j5N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec4708c-148e-42ee-a7c5-3bf4d9cbdfaa_1938x1246.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;After August 21, 2026, due to optimizations in vLLM from Inferact and Nvidia, the performance per dollar of Nvidia&amp;#8217;s B200 has surpassed that of the MI355X. This is a close race and we are excited to see the performance optimizations over the next couple weeks. We will be publishing an AgentX update article very soon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/issues/52911"&gt;&lt;span&gt;AMD has listed their DeepSeekv4 vLLM optimization and includes lots of exciting things that they can do to improve their performance&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Y8fs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9302da60-5bc1-46e1-9392-74e912b5c200_2024x1236.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="889" src="https://substackcdn.com/image/fetch/$s_!Y8fs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9302da60-5bc1-46e1-9392-74e912b5c200_2024x1236.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Now turning to Nvidia. Their most competitive solutions are GB300 Dynamo TRTLLM and GB200 Dynamo vLLM. Both configs rely on PD disagg to achieve high throughput at reasonable interactivity. Additionally, GB300 configs employ wide-EP (DEP32) decode instances in order to achieve higher throughput at the middle of the frontier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Note that the 2xDEP8+1xDEP12 GB200 point is significantly closer to the 3xDEP8+1xDEP16 GB300 point in terms of TPS compared to TTFT. Again, TTFT is, in general, more sensitive to the &amp;#8220;spikiness&amp;#8221; of the workload. Since the GB300 point achieves much higher overall concurrency, it incurs more subagent traffic and hence more cold prefills. We can see this in the TTFT chart for the point:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g7xN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96f9c9f9-eb86-4f87-8332-c85f23040836_2048x916.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="651" src="https://substackcdn.com/image/fetch/$s_!g7xN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96f9c9f9-eb86-4f87-8332-c85f23040836_2048x916.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9DNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff79e53f5-c8ff-4ed0-a8a3-c05b9e0b4bab_2048x1191.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="847" src="https://substackcdn.com/image/fetch/$s_!9DNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff79e53f5-c8ff-4ed0-a8a3-c05b9e0b4bab_2048x1191.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EH7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c6225-5816-493e-839d-e4f539e5b1c4_2048x1215.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="864" src="https://substackcdn.com/image/fetch/$s_!EH7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c6225-5816-493e-839d-e4f539e5b1c4_2048x1215.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_metric=y_tpPerGpu&amp;amp;i_xmode=interactivity&amp;amp;i_linelabel=0&amp;amp;i_best=0&amp;amp;i_active=gb200_dynamo-vllm%2Cgb300_dynamo-trt"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When normalized by TCO, B300 vLLM versus B200 vLLM aggregated performance is quite similar. The main difference being that B300 can &amp;#8220;squeeze&amp;#8221; out extra throughput, given its 50% increase in HBM capacity over B200.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Tnx1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F939b9197-321d-4869-ba13-f0b800343b7b_2048x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="924" src="https://substackcdn.com/image/fetch/$s_!Tnx1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F939b9197-321d-4869-ba13-f0b800343b7b_2048x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_active=b200_vllm%2Cb300_vllm"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We can further visualize this difference using our server metric visualizations, which are new to AgentX.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Under the load of 384 concurrent agentic traces, B300 vLLM DEP8 w/ 3TB DRAM via vLLM simple offloading achieved a 91% HBM cache hit rate with an additional 1.36% DRAM cache hit rate. This is because the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;HBM KV cache working set size&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is approximately 43M tokens with this configuration, and the load barely exceeds this number of tokens in flight at any given time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z3WJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7ff2d61-bdab-4c2f-96a0-ec5a52469489_2048x884.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="628" src="https://substackcdn.com/image/fetch/$s_!Z3WJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7ff2d61-bdab-4c2f-96a0-ec5a52469489_2048x884.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VIDn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff86888c4-c1a7-47b0-a580-d1a74876cb9c_2048x898.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="638" src="https://substackcdn.com/image/fetch/$s_!VIDn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff86888c4-c1a7-47b0-a580-d1a74876cb9c_2048x898.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/agentic/439522"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With B200 concurrency 196 (all other parameters stay the same), we see only 73% HBM cache hit rate and rely more heavily on DRAM with an offload cache hit rate of nearly 20%. We observe that the HBM KV cache working set size is 22M tokens, roughly half that of B300.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DRAM KV offloading is typically implemented as a write-through cache, meaning every prefix written to the HBM cache is also written to the DRAM cache. Therefore, it is most effective when the amount of DRAM available for offloading is significantly bigger (a multiple of 1.5-3) than HBM KV cache capacity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pmXE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61956823-2928-44ec-b00c-8bb5581b8a13_2048x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="634" src="https://substackcdn.com/image/fetch/$s_!pmXE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61956823-2928-44ec-b00c-8bb5581b8a13_2048x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gbwY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a7a7c7-7918-459c-a4e0-f7fc1edca816_2048x887.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="631" src="https://substackcdn.com/image/fetch/$s_!gbwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a7a7c7-7918-459c-a4e0-f7fc1edca816_2048x887.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/439967"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;H200 SGLang FP8 is able to serve DeepSeek v4 at low concurrency, and is even competitive with B200/MI355X SGLang from a perf/$ standpoint. However, it cannot compete with the newer SKUs in high throughput scenarios due to lack of HBM.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CM8u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770b205f-12a1-4d34-81a7-fb235742d005_2048x1305.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="928" src="https://substackcdn.com/image/fetch/$s_!CM8u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770b205f-12a1-4d34-81a7-fb235742d005_2048x1305.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_active=b200_sglang%2Ch200_dynamo-sglang%2Cmi355x_sglang"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Furthermore, the reliance on DRAM KV offloading at higher concurrencies leads to unreasonable latency as the number of users scales.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iOYr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91dfd9ca-d13d-43e9-a57e-3be0fcc4a5cf_2048x1315.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="935" src="https://substackcdn.com/image/fetch/$s_!iOYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91dfd9ca-d13d-43e9-a57e-3be0fcc4a5cf_2048x1315.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_active=h200_dynamo-sglang&amp;amp;i_optimal=0"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Overall, MI355X performs decently well compared to its main competitors B200 and B300. Performance is most comparable at the lower throughput / lower latency parts of the curve, where only tensor parallelism and more rudimentary kernels are deployed. AMD needs to work on optimizing DEP kernels on MI355X to be more competitive in the high throughput scenarios, especially given the 1.5x HBM over B200.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mcaw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba6532b3-aa46-4477-be84-8979b1cce35d_2048x1297.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="922" src="https://substackcdn.com/image/fetch/$s_!Mcaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba6532b3-aa46-4477-be84-8979b1cce35d_2048x1297.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!H-lN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cfd340-d61b-46c4-8d87-e081d937b80c_2048x1303.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!H-lN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cfd340-d61b-46c4-8d87-e081d937b80c_2048x1303.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_active=b200_vllm%2Cb300_vllm%2Cmi355x_atom%2Cmi355x_vllm&amp;amp;i_label=0"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Kimi K3 2.8 Trillion Parameters&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Kimi K3 is another frontier open weight model from China that has 2.8 Trillion total parameters. This is in the same range in terms of number of parameters vs Claude&amp;#8217;s Mythos/Fable5 model architecture. We use this as an open weights proxy model architecture. The Kimi K3 model is so big that it does not even fit on a single B200 server and requires using wide EP/wide TP or pipeline parallelism in order to fit all of the weights. On vLLM, speculation decoding/DSpark did not compose at all with pipeline parallelism until very recently, so B200 performance on Kimi K3 was horrible and was getting mogged by MI355X since B200 was unable to use speculative decoding with pipeline parallelism.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;MI355X vLLM worked out of the box on day 0 for short context single turn workloads, but for long context multi turn workloads, MI355X AITER and Triton kernels suffered a massive panic attack on the first week and upstream vLLM was completely unusable for MI355X on realistic workloads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!W5x3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1440922-e1ea-4a74-ab62-f1263ae31ca0_2048x1473.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1047" src="https://substackcdn.com/image/fetch/$s_!W5x3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1440922-e1ea-4a74-ab62-f1263ae31ca0_2048x1473.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hopper struggles to serve the AgentX workload for Kimi K3 since Kimi is a massive model and because vLLM maintainers/NVIDIA have not been focusing on optimizing Hopper for Kimi K3. Hopper (SM90) requires custom tuned kernels for K3 along with TP32/EP32 tuned shapes for serving at high interactivity.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xHtW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce2b58fc-b7b7-46c2-ae05-baa14419d233_2048x1459.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1037" src="https://substackcdn.com/image/fetch/$s_!xHtW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce2b58fc-b7b7-46c2-ae05-baa14419d233_2048x1459.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We think it is great that AMD is quickly pushing K3 performance forward with ATOM. However, we encourage AMD to further prioritize upstreaming these improvements into vLLM. ATOM is currently AMD's best-performing engine, but vLLM remains the more relevant comparison for customers using an upstream open-source serving stack.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lDUZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80eb810f-a9ea-4f01-a41b-e19e3409ce74_2048x1459.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1037" src="https://substackcdn.com/image/fetch/$s_!lDUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80eb810f-a9ea-4f01-a41b-e19e3409ce74_2048x1459.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rIV5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ded698-c86e-411b-8e7c-f9bb125487b7_2048x1459.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1037" src="https://substackcdn.com/image/fetch/$s_!rIV5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ded698-c86e-411b-8e7c-f9bb125487b7_2048x1459.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On part of the curve between 40 to 60 second e2e latency, MI355X ATOM beats even GB300 NVL72 vLLM on performance per dollar.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kn-R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27a3f80e-7959-4651-90eb-f498989908a3_1934x1284.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="967" src="https://substackcdn.com/image/fetch/$s_!kn-R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27a3f80e-7959-4651-90eb-f498989908a3_1934x1284.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;MiniMax M3&lt;/h2&gt;&lt;p&gt;Nvidia absolutely destroys all competitors on MiniMax M3 432B. AMD software performance is horrible on MiniMax especially at high context length due to AMD engineering leadership incentivizing tuning only for short context single turn workloads and ignoring long context multi turn workloads.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eFzt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5396c3d-1823-4818-83de-d89cd8242451_2048x1286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="914" src="https://substackcdn.com/image/fetch/$s_!eFzt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5396c3d-1823-4818-83de-d89cd8242451_2048x1286.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SVVs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5179bd8e-c147-46c8-aeb4-b347049b28a7_2048x1303.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!SVVs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5179bd8e-c147-46c8-aeb4-b347049b28a7_2048x1303.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=MiniMax-M3&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;B300 TRT-LLM TP2 owns the M3 crown. There is a lack of DP-attention points as it is non-optimal on M3 since KV cache locality becomes a routing constraint. This is further explained later on. For GB200 at concurrency 40, TP4/EP4/DPA gets 0.60x the throughput of plain TP4 at a &amp;gt;3x p90 TTFT. At concurrency 32 it hits 28.8% of cache vs 96.0% theoretical. Each DP rank owns a private quarter of the pool; a 300k-token session re-landing on the wrong rank recomputes everything. No decode config with EP appears on the M3 frontier, likely as the concurrency is not high enough to balance the loads on all experts.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;B200/B300 also completely beat their rack-scale counterparts for MiniMax M3 on TCO-normalized throughput. On AgentX, the rack-scale advantage isn&amp;#8217;t as pronounced as the Dynamo router can become the bottleneck because its work scales with the number and length of live prefixes. Optimizations on this and the several fixes which moved throughput by double-digit percentages are discussed later on in the article. Also, there are no well tuned kernels for wideEP, wide DCP, nor wide TP. And since GB200/300 have higher TCO so without wide ep/wide DCP, it shows up as worse perf per TCO.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that being said, we also expect further optimizations from Nvidia on their rack scale solutions for this SKU. We will make sure to highlight these in our follow up article.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;No submission currently runs context parallelism, despite P90 ISL of 317k. With 4 KV heads, DCP caps at 2 even at TP8, and the MSA indexer needs its own context-parallel handling (a vLLM PR is opened), see the Context Parallelism section for more discussion on this topic.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TM89!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faec34e63-34fd-4c42-87a1-97e5c14661ed_2048x1302.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!TM89!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faec34e63-34fd-4c42-87a1-97e5c14661ed_2048x1302.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TCJq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b40624a-223c-44db-a403-0be563b2af82_2048x1298.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="923" src="https://substackcdn.com/image/fetch/$s_!TCJq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b40624a-223c-44db-a403-0be563b2af82_2048x1298.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=MiniMax-M3&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_hc=1&amp;amp;i_active=mi355x_vllm"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;All of Nvidia&amp;#8217;s Pareto optimal points include KV offload above concurrency 20, but for AMD none of the Pareto optimal points use KV offload to DRAM. AMD also uses KV offload less than Nvidia on the other models. The reason for this is that GPU-to-CPU transfers for CPU KVCache offloading are highly inefficient on AMD vLLM. The hipMemcpyBatchAsync API was missing until ROCm 7.14. Without hipMemcpyBatchAsync, vLLM&amp;#8217;s native Simple CPUOffloading requires doing serialized Memcpy from CPU to GPU instead of batching them into larger message sizes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is also worth mentioning that vLLM performance is very comparable to TRT-LLM in terms of throughput versus p90 interactivity. Additionally, vLLM performs better in terms of throughput versus p90 TTFT.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9ESj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68f7ad68-3886-4980-9b01-390582728e47_2048x1292.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="919" src="https://substackcdn.com/image/fetch/$s_!9ESj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68f7ad68-3886-4980-9b01-390582728e47_2048x1292.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mD8-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729199d9-66c0-42b5-b1b8-f228503c1585_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!mD8-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729199d9-66c0-42b5-b1b8-f228503c1585_2048x1289.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=MiniMax-M3&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_active=b200_trt%2Cb200_vllm%2Cb300_trt%2Cb300_vllm&amp;amp;i_hc=1&amp;amp;i_label=0"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Qwen3.5 397B&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Qwen3.5 397B uses GatedDeltaNet instead of vanilla attention for every couple of layers. GatedDeltaNet was invented at MIT/Nvidia Research and has a theoretically constant state storage requirement instead of vanilla attention&amp;#8217;s linear storage requirements. This means that it has lower storage requirements compared to an equivalent dense attention model. Unlike end to end model training research like the Nemotron disaster,  Nvidia Research is great at fundamental research like GDN and LatentMoE which is used on frontier models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Note that this model&amp;#8217;s native max context length is 262k tokens, so we use the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/agentx/cc-traces-weka-062126-256k"&gt;&lt;span&gt;truncated dataset&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This simulates a workload on a smaller model where the max context length would be frequently reached with many compactions, how users would actually use this model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Qwen3.5 397B is a strong hold for NVIDIA on SGLang versus SGLang, with over 20x better performance at 90 tok/s/user. There is currently zero competition from AMD for Qwen3.5 SGLang.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Tgnw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc92da639-dcff-4e39-b9b5-49742677e93c_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!Tgnw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc92da639-dcff-4e39-b9b5-49742677e93c_2048x1289.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4h-m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519a7cd0-ac51-4a5c-9c45-ba7c41f6d058_2048x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="924" src="https://substackcdn.com/image/fetch/$s_!4h-m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519a7cd0-ac51-4a5c-9c45-ba7c41f6d058_2048x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=Qwen-3.5-397B-A17B&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_hc=1"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Again, we observe Nvidia over optimizing for interactivity at the cost of TTFT, especially in the case of TRT-LLM. In the graph above, all of the Nvidia SGLang submissions have much lower p90 TTFT when compared to TRT-LLM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Compared to H100, on Qwen3.5, B300 FP4 has 12x better performance per dollar.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9bPR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2cf6c7-aa58-4a76-a0a2-ee0457d9243c_2048x1298.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="923" src="https://substackcdn.com/image/fetch/$s_!9bPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2cf6c7-aa58-4a76-a0a2-ee0457d9243c_2048x1298.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=Qwen-3.5-397B-A17B&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_hc=1&amp;amp;i_best=0&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_active=b300_sglang%2Ch100_sglang%2Ch200_sglang"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;GLM 5.3&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;GLM 5.3 builds on top of GLM5.2 744B with additional post training. This is a frontier level model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of OSS SGLang performance, this is another model where Nvidia again beats AMD on realistic agentic inference performance. At 150 tok/s/user p90 interactivity, Nvidia has up to 5x better cost efficiency, With the current state of AMD software, at 150 tok/s/user, Nvidia&amp;#8217;s performance advantage is so great that even if the competitor chip hardware was sold for free (but with providers still of course paying for datacenter hosting and power and other operating costs), cost per token would still be cheaper when using Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to AMD&amp;#8217;s performance optimizations in the upcoming AgentX update article in a couple of weeks, which will also include some other very exciting results.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5PHJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85bdb45-792c-4330-9745-674b38b03425_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!5PHJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85bdb45-792c-4330-9745-674b38b03425_2048x1289.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!10XC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a21d140-b588-4b33-941d-7c8090ac42b5_2048x1286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="914" src="https://substackcdn.com/image/fetch/$s_!10XC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a21d140-b588-4b33-941d-7c8090ac42b5_2048x1286.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=GLM-5.2&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_prec=fp4&amp;amp;i_active=b200_sglang%2Cb300_sglang%2Cgb200_dynamo-sglang%2Cgb300_dynamo-trt%2Cmi355x_atom%2Cmi355x_sglang"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When looking at ATOM, AMD has better performance per dollar than GB300 NVL72 SGLang and even TRTLLM for some parts of the range of p90 E2E Normalized Interactivity. Great work to the AMD team on these results. Again, we look forward to AMD porting over these optimizations to SGLang. We also are looking forward to NVIDIA quickly optimizing GB300 NVL72 in the coming weeks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rzqP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9337ed5b-a320-49f7-b31b-cc4b5751e0ff_2048x1290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="917" src="https://substackcdn.com/image/fetch/$s_!rzqP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9337ed5b-a320-49f7-b31b-cc4b5751e0ff_2048x1290.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We take a moment to introduce an experimental metric which we call &lt;/span&gt;&lt;strong&gt;&lt;span&gt;E2E Normalized Interactivity&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. At a high level, this metric is supposed to evaluate how fast a user experiences responsiveness when considering both TTFT as well as TPS. It is defined by OSL/E2EL. Substituting the fact that E2EL equals TTFT plus OSL times TPOT (in reality only OSL - 1 tokens are decoded), we get the following equation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is effectively interactivity (the 1/TPOT portion) plus an additional penalty proportional to TTFT.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vo0y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e472a49-d228-4d8d-876a-6bc0d59f9d97_746x594.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="594" src="https://substackcdn.com/image/fetch/$s_!vo0y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e472a49-d228-4d8d-876a-6bc0d59f9d97_746x594.png" width="746" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Please note that this metric is experimental and is not perfect. For instance, it heavily penalizes high TTFT and doesn&amp;#8217;t capture all the nuances of certain optimizations such as PD disaggregation. All submissions for AgentX v1.0 optimize for both regular interactivity and TTFT separately. We will continue working on new north star metrics that reflect all nuances of modern agentic inference.&lt;/p&gt;&lt;h1&gt;&lt;span&gt;AgentX Industry Impact - Optimizations for Agentic Workloads&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The most impactful result from AgentX in its first months was not producing open source datasets, instead, it has been the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;industry impact of 50+ upstream PRs&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; created by AgentX partners to optimize real world agentic workloads using AgentX as the north star. AgentX&amp;#8217;s real agentic traffic benchmarks not only the raw prefill and decode kernels, but also tests the entire end to end token generation process from KV cache lifecycle, hybrid-attention cache correctness, CPU KV offload, transfer progress, routing affinity, to incremental tokenization, request serialization, and scheduler bookkeeping. All of these steps matter for every production agentic deployment.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is just a continuation of our ongoing mission to help the ecosystem accelerate improvement and deliver light speed improvement in software. A great example is SemiAnalysis&amp;#8217;s multi-year collaboration with AMD&amp;#8217;s software development team in which we have been providing continual feedback and input to help to modernize their software development principles. This has not only led to many changes that have accelerated AMD&amp;#8217;s progress, but also has been instrumental towards getting AMD open source closer to first class on agentic workloads.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;A Brief Introduction to the Distributed Inference Ecosystem&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As mentioned, agentic inference is inherently a system-wide problem as opposed to just a chip/kernel level problem. Additionally, when there are large &lt;/span&gt;&lt;em&gt;&lt;span&gt;distributed systems &lt;/span&gt;&lt;/em&gt;&lt;span&gt;handling hundreds of thousands of agentic requests, the scheduling of requests and management of KV cache becomes non-trivial and has legitimate performance implications. For example, sub-agents give bursty KVCache patterns where not properly optimizing, it will improperly evict the main agents cache.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following diagram illustrates the stack at a high level. At the top, routers (sometimes referred to as &amp;#8220;frontends&amp;#8221;) route requests to different workers. For instance, in the case a server is running data parallel attention, there are separate KV caches for each DP rank. In order not to thrash any one of the KV caches, requests are routed according to different policies such as &lt;/span&gt;&lt;a href="https://github.com/vllm-project/router/blob/main/src/policies/consistent_hash.rs"&gt;&lt;span&gt;consistent hash&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, where requests in the same session/subagent are routed by their unique ID.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!T1Z9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac4a3a-cc05-4ff6-9d1e-b28dc0d0f760_1814x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1644" src="https://substackcdn.com/image/fetch/$s_!T1Z9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac4a3a-cc05-4ff6-9d1e-b28dc0d0f760_1814x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For most routing policies, there is nothing significantly different about each router implementation. Some are separate components such as &lt;/span&gt;&lt;a href="https://github.com/vllm-project/router"&gt;&lt;span&gt;vLLM router&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/llm-d/llm-d-router"&gt;&lt;span&gt;llm-d router&lt;/span&gt;&lt;/a&gt;&lt;span&gt; while others are integrated in the engine such as &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/tree/main/sgl-model-gateway"&gt;&lt;span&gt;SGLang model gateway&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/tree/main/atom/mesh"&gt;&lt;span&gt;ATOM Mesh&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;After a request is routed, it is handled by the scheduler of an inference engine such as vLLM, SGLang, etc. The engine is responsible for actually performing the inference and returning the result over an API. Additionally, each engine has an interface for connecting the engine&amp;#8217;s internal KV cache to external KV cache managers. This allows for a &amp;#8220;pluggable&amp;#8221; ecosystem where different KV cache managers can integrate with a variety of inference engines.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A simple deployment, used in the current AgentX results, &lt;/span&gt;&lt;a href="https://pypi.org/project/mooncake-transfer-engine/"&gt;&lt;span&gt;runs Mooncake&lt;/span&gt;&lt;/a&gt;&lt;span&gt; alongside vLLM on the same node. Each vLLM worker embeds a Mooncake Store client and contributes a portion of host DRAM to the external KV-cache pool. vLLM connects to this pool through the MooncakeStoreConnector interface which loads reusable KV blocks into GPU memory and saves newly computed blocks back to host memory. Mooncake Store manages the external cache, including placement and eviction, while Mooncake Transfer Engine performs the actual movement of data between GPU and CPU memory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Different KV cache managers may use different transfer engines to physically move bytes between memory tiers or machines, such as between prefill and decode workers. Mooncake Store, for example, uses&lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/tree/main/mooncake-transfer-engine"&gt;&lt;span&gt; Mooncake Transfer Engine&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to move KV blocks between GPU memory, host DRAM, and remote nodes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A deployment can use Mooncake Store to offload reusable KV blocks to host DRAM while simultaneously using NIXL to transfer request-specific KV directly from prefill GPUs to decode GPUs. Mooncake TE handles movement for the Mooncake Store path, while NIXL handles the separate prefill-decode path using UCX and GPUDirect RDMA where supported. Multiple KV-management and transfer paths can therefore coexist within the same inference engine.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The ecosystem consists of many independent components, including inference engines, routers, KV-cache managers, data-transfer libraries, and cluster controllers. Platforms such as Nvidia Dynamo, llm-d, and AMD Infera &amp;#8220;package&amp;#8221; selected combinations of these components into complete software distributions. They publish compatible container images, connectors, deployment manifests, and orchestration logic that allow the components to be deployed and operated as one system. The resulting product is usually a collection of coordinated containers rather than a single monolithic service (for instance: Dynamo, llm-d, and Infera are typically deployed on k8s and co-ordinate large, distributed systems).&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZyoZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf5c4776-221b-43b4-b2fd-d46e46f1ab38_1772x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!ZyoZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf5c4776-221b-43b4-b2fd-d46e46f1ab38_1772x960.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: RedHat / llm-d&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Context Parallelism&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Long context benefits parallelism techniques that a fixed 8k prompt cannot strongly exercise, because at 8k there is little to divide and TTFT is already short. Moreover, parallelism strategies like TP and DP attention are not optimal at longer context lengths, TP can result in the full KV being replicated on each rank. Although KV is shared for DP attention, it can get hung up on longer contexts, as long context workloads also result in a higher variance of possible context lengths.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8e51!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e2801db-53ff-4029-8b55-01b3c1a7037d_1632x1140.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1017" src="https://substackcdn.com/image/fetch/$s_!8e51!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e2801db-53ff-4029-8b55-01b3c1a7037d_1632x1140.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Context parallelism is a parallelism technique that splits query tokens across GPUs. It comes in two forms: PCP for prefill context parallelism and DCP for decode context parallelism. In PCP, each rank prefills its query chunk (KV ring-passed), since prefill tends to be compute-bound, this parallelizes FLOPs resulting in faster prefill with no giant-prompt prefill spike on one rank. For DCP, each rank scans its KV shard, and the partial attention is then merged flash-decode style. Since decode is memory-BW-bound, parallel KV reads can result in faster tok/s.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o8e4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9544ced-f418-44e0-8910-0cbc63fa26ec_2048x768.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!o8e4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9544ced-f418-44e0-8910-0cbc63fa26ec_2048x768.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jsOJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c3a96-2ab4-452f-be6a-4fa60900575c_2048x651.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="463" src="https://substackcdn.com/image/fetch/$s_!jsOJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c3a96-2ab4-452f-be6a-4fa60900575c_2048x651.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This parallelism technique was invented partially by Nvidia Research. Nvidia Research is great at fundamental research like this while for end to end training research, they are embarrassing America with their horrible Nemotron3 Ultra model which is currently getting massively beaten by even tiny Qwen3.8 27B model. DCP/PCP forms part of CUDA moat as the AMD implementation of DCP/PCP isn&amp;#8217;t optimized yet. In the &lt;/span&gt;&lt;a href="https://docs.vllm.ai/en/latest/design/attention_backends/#standard-attention-mha-mqa-gqa-backends"&gt;&lt;span&gt;vLLM support matrix&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, every single AMD backend is unsupported.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A few of the changes mentioned in the next few sections focus on DCP/PCP.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;vLLM Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Working alongside vLLM maintainers from Inferact, Red Hat, NVIDIA, and AMD, we used AgentX&amp;#8217;s realistic replayer as a north star, with the resulting fixes landing upstream where most of the optimizations are highly transferable to production. A few examples follow:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;vLLM improved hybrid-attention prefix caching so short-lived sliding-window allocations do not evict useful long-context checkpoints. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/43447"&gt;&lt;span&gt;Selective retention&lt;/span&gt;&lt;/a&gt;&lt;span&gt; preserves sparse replay boundaries and reported a prefix-cache hit rate above 95% with fourteen concurrent requests and contexts up to one million tokens. The same reachability policy &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/44774"&gt;&lt;span&gt;was applied to Mooncake&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45444"&gt;&lt;span&gt;unreachable sliding-window lookups were removed&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Earlier follow-up work also &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42258"&gt;&lt;span&gt;stopped offloading sliding-window blocks that could never be reused&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/44082"&gt;&lt;span&gt;kept the speculative lookahead block in the retained prefix&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CVRv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf1a505d-b8c3-45f9-b03c-a8798fba54c0_2048x632.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="449" src="https://substackcdn.com/image/fetch/$s_!CVRv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf1a505d-b8c3-45f9-b03c-a8798fba54c0_2048x632.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis and vLLM GitHub PR for Agentic Workloads&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Agentic Workloads for high concurrent agents require offloading. Thanks to the aforementioned influence of AgentX, there are already workstreams on vLLM that aim to allow CPU KV offload for hybrid models rather than only for uniform full-attention models. This distinction matters because a uniform model has one KV layout per token, so a connector can describe what to save with a single block geometry. A hybrid model carries several cache groups at once, each with a different shape and a different lifetime, and a connector that assumes one uniform layout cannot express which group a given block belongs to. Offload was therefore unavailable for the models whose long sessions needed it most. The general &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/37160"&gt;&lt;span&gt;SimpleCPU connector&lt;/span&gt;&lt;/a&gt;&lt;span&gt; came first, was &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/40549"&gt;&lt;span&gt;enabled on ROCm&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and was then &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42296"&gt;&lt;span&gt;extended to DeepSeek-V4 hybrid attention&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, reporting 81.7% higher output throughput and 46.6% lower mean e2e latency against recomputing the prefix once it no longer fits in HBM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Mooncake has also gained &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42828"&gt;&lt;span&gt;equivalent hybrid-memory allocation support&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The same layout problem resurfaces in disaggregated serving, where a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51052"&gt;&lt;span&gt;pending change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; transfers Kimi-K3&amp;#8217;s conv+ssm recurrent state alongside the attention KV over MoRI-IO for 1P1D prefill/decode splits; without it the decode side starts from an uninitialized recurrent state. The recurrent-state slot rides the existing remote-block-ids channel, so the disaggregation router needs no model-specific changes, and the path was exercised end-to-end on MI355X, TP8 per leg over cross-node RDMA, with DSpark speculative decoding on both legs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When profiling realistic workloads, vLLM maintainers noticed that during offload, the cost moved to the store path, which was writing too much and too often. Three new fixes have now addressed this issue: &lt;br /&gt;A store is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/41289"&gt;&lt;span&gt;skipped while an identical transfer is already in flight&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so concurrent sessions sharing a prefix pay for it once rather than once each. A store &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46412"&gt;&lt;span&gt;covers only newly generated KV ranges&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a session that extends its history writes the delta instead of rewriting the whole prefix on every turn. Finally, a store no longer &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46906"&gt;&lt;span&gt;depends on whether the same blocks still sit in HBM&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so work already scheduled is not discarded when an eviction lands underneath it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The load path was tuned separately, because lookups happen on every scheduling decision rather than only when data actually moves. Making &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45659"&gt;&lt;span&gt;lookups asynchronous in the scheduler path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; keeps the connector off the step&amp;#8217;s critical path, so a step no longer waits on CPU-side cache queries before it can admit work. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45969"&gt;&lt;span&gt;Compact zero-copy lookup keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45971"&gt;&lt;span&gt;parallel receive-side loading&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46188"&gt;&lt;span&gt;prebuilt Mooncake key strings&lt;/span&gt;&lt;/a&gt;&lt;span&gt; then removed the CPU and transport overhead that remained.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!E7LD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2cfea4-a217-47ad-934b-dbd226bb248c_2048x837.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="595" src="https://substackcdn.com/image/fetch/$s_!E7LD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2cfea4-a217-47ad-934b-dbd226bb248c_2048x837.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis and vLLM GitHub PR for Agentic Workloads&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Long-lived hybrid state also forced correctness and accounting fixes that fixed-shape requests rarely reach. vLLM &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/44103"&gt;&lt;span&gt;emits cache events per hybrid cache group&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45371"&gt;&lt;span&gt;strides distributed-context stores correctly&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46855"&gt;&lt;span&gt;computes lookup prefixes correctly under distributed context and prefill&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. A related &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45340"&gt;&lt;span&gt;context-parallel accounting change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; aligns cache ownership with sharded token ranges. Speculative state is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/49069"&gt;&lt;span&gt;propagated across merged Mooncake groups&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/49071"&gt;&lt;span&gt;through the SimpleCPU coordinator&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, preventing the repeated-turn cache from silently losing EAGLE state.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Looking at the ROCm side of optimizing Agentic workloads in vLLM, the work continues below the cache layer, where the remaining cost is per-layer rather than per-request. Once the prefix survives and arrives on time, what is left is the decode step itself, and a decode step that runs thousands of times per session pays for every avoidable copy and every mismatched kernel.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three open changes attack that layer:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A Kimi-K3 change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51183"&gt;&lt;span&gt;writes KDA decode results directly into the layer output buffer&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, removing one device copy per KDA layer; the saving is small in isolation and repeated for every layer of every decoded token.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A second change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51714"&gt;&lt;span&gt;selects an AITER sparse-MLA decode kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in place of the generic path, and reported 5.22% higher AgentX output throughput with substantially lower inter-token latency.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The third is a useful illustration of how much the measurement shape matters. A companion change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51713"&gt;&lt;span&gt;routes full-graph attention projections through tuned AITER GEMMs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and reached a 2.3% gain on fixed sequences at low concurrency. This shows a kernel-level change can show a clean gain on uniform shapes and then be swamped, on an agentic trace, by the cache and scheduling variance that the trace introduces. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/52882"&gt;&lt;span&gt;pending change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; turns that shape sensitivity into the dispatch criterion itself: it replaces the DeepSeek V4 C4A selector&amp;#8217;s ROCm top-k bottleneck with a hybrid AITER/native path on gfx950, routing short and medium contexts through AITER and long contexts through a graph-safe tuned native fallback. It reports end-to-end selector speedups of 1.21x to 1.76x, with decode-kernel geomeans of 1.2x to 2.9x across an 84-shape matrix.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span&gt;SGLang Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The AgentX team has been working closely alongside SGLang maintainers from RadixArk, Meta, Nvidia, and AMD to drive optimizations to Agentic workloads run using SGLang, resulting in massive improvements in production inference performance. Let&amp;#8217;s discuss these optimizations in more depth.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will start by explaining how, from the allocator side, SGLang&amp;#8217;s sliding-window work addresses the same conflict vLLM&amp;#8217;s retention policy does. Window pages and prefix pages are drawn from one pool, and the window is the greedier consumer: it turns over constantly while the prefix sits still and so, under pressure, the transient allocation displaces the durable one.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three design improvements attack this problem that from different angles. One &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26907"&gt;&lt;span&gt;proactively frees pages as they leave the window&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than waiting for eviction pressure to find them, so dead window state stops competing for pages it can no longer use. Another &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/27210"&gt;&lt;span&gt;caps compute locks to a single window&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, bounding how much of the pool an in-flight request can hold pinned at once. A third &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29369"&gt;&lt;span&gt;removes stale full-KV entries&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that outlive their usefulness.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Proactive freeing has a fork-shaped blind spot, though: a request branching from a shared prefix can still hold reusable full-KV while the window state at the branch point has already been released, and the whole prefix gets recomputed for want of the cheap half. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/34565"&gt;&lt;span&gt;Open work&lt;/span&gt;&lt;/a&gt;&lt;span&gt; preserves the SWA state at those branch points so forks inherit the window instead of rebuilding it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Alongside those, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30339"&gt;&lt;span&gt;the ROCm ring-cache fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is a correctness rather than a capacity change: a ring buffer reuses slots by construction, and reusing one whose old contents are still referenced yields wrong output rather than slow output. None of this is visible on a single 8k prompt, where the window never laps the prefix and the pool is never contended. On a multi-turn hybrid session, these changes are what decide whether the expensive full-attention history is still there on the next turn.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;HiCache is SGLang&amp;#8217;s first class in-tree offloading mechanism. It faced the same hybrid problem vLLM&amp;#8217;s connectors did, and solved it with an asymmetry: &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29417"&gt;&lt;span&gt;offload the full-attention cache and reconstruct the short sliding-window tail on the way back&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Only the expensive half is worth moving across the bus, and the cheap half can be rebuilt more quickly than it can be fetched. On AMD, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/28534"&gt;&lt;span&gt;staged write-back&lt;/span&gt;&lt;/a&gt;&lt;span&gt; keeps that movement from blocking the engine while it happens. Recurrent state was the remaining gap, because it cannot be rebuilt from neighbouring tokens the way a window tail can; &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29735"&gt;&lt;span&gt;FlashInfer GDN checkpoints&lt;/span&gt;&lt;/a&gt;&lt;span&gt; let it participate in prefix reuse at all, and raised throughput from 47,771 to 53,004 tok/s/GPU at a 92.4% cache-hit rate.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VyzT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F078ad449-7657-4468-9ff9-3480a7999d89_2048x720.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="512" src="https://substackcdn.com/image/fetch/$s_!VyzT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F078ad449-7657-4468-9ff9-3480a7999d89_2048x720.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Two further changes address how variable-length traffic affects kernel pipeline. AgentX realistic sessions tend to arrive at continuously varying context lengths, a similar pattern observed for production traffic. A naive runtime that specializes on length will compile a fresh kernel for nearly every request it sees. SGLang maintainers solved this by passing &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30255"&gt;&lt;span&gt;context length as a runtime scalar&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead collapsing it into one compilation, improving AgentX concurrency 384 output throughput by 26.75% and mean TTFT by 36.25%, by removing compilation, not from computing anything faster.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aKLG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a807d67-383b-4aa9-93af-e8f3a68313f4_855x634.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="634" src="https://substackcdn.com/image/fetch/$s_!aKLG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a807d67-383b-4aa9-93af-e8f3a68313f4_855x634.png" width="855" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30255"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the same spirit, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30365"&gt;&lt;span&gt;removing a per-step device-to-host sequence-length synchronization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; eliminates a decode bubble that exists only because the host wanted to know a length the device already had.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!50q6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb29e003e-db43-45d4-93be-bac0be04d869_1209x646.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!50q6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb29e003e-db43-45d4-93be-bac0be04d869_1209x646.png" width="1209" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30365"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Variable length also bites inside the attention kernel itself. On GB300, a mixed-context decode batch pays a tail tax: a matched profile attributed 8.4 ms of a 9.8 ms decode-step delta to attention, with the longest requests dragging out the persistent kernel&amp;#8217;s shared wave. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/34888"&gt;&lt;span&gt;Open work &lt;/span&gt;&lt;/a&gt;&lt;span&gt;splits TRTLLM MHA decode batches into KV-length-sorted groups so the short requests stop waiting on the longest ones.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Decode can starve one level up as well, at the scheduler rather than in a kernel. Under DP attention, every rank joins the same MoE collective while scheduling attention work locally, so a rank fed a stream of chunked-prefill continuations keeps winning the prefill-first decision while peer ranks&amp;#8217; running batches sit waiting, observed on AgentX runs. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/35017"&gt;&lt;span&gt;A configurable decode interval&lt;/span&gt;&lt;/a&gt;&lt;span&gt; after prefill forces decode rounds between prefills; on AgentX DSv4 Pro, output throughput rose 141% and p99 inter-token latency fell 97.3%, at the cost of median TTFT rising from 36.5 to 59 seconds, trading off first-token wait for stream smoothness.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mne_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ce130f-13f2-4732-8431-17e26184b8c3_1846x806.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="636" src="https://substackcdn.com/image/fetch/$s_!mne_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ce130f-13f2-4732-8431-17e26184b8c3_1846x806.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When a request carries no reusable history such as the start of a subagent, any worker will do just fine, and load balancing is the only question worth asking. When the request carries a MB of cached prefix, sending it to an idle worker that does not hold that prefix is the expensive choice, and the router needs to know where the state already lives. SGLang added &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26091"&gt;&lt;span&gt;DP cache affinity&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a session is sticky to the rank holding its cache. In this PR, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26245"&gt;&lt;span&gt;DP-aware prefill and decode routing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is both implemented so that both halves of a disaggregated deployment make that decision consistently, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26293"&gt;&lt;span&gt;cache balance as a routing signal&lt;/span&gt;&lt;/a&gt;&lt;span&gt; so affinity does not degenerate into one hot worker. A router can only act on what it is told, so hybrid cache events also become &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26387"&gt;&lt;span&gt;radix-cache aware&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26579"&gt;&lt;span&gt;sliding-window aware&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Speculative decoding receives special attention, because MTP adds a second, smaller piece of per-request state that has to survive everything the main cache survives. SGLang &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30461"&gt;&lt;span&gt;fixed draft-window transfer in disaggregated serving&lt;/span&gt;&lt;/a&gt;&lt;span&gt; so that state crosses the prefill-to-decode boundary intact, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30497"&gt;&lt;span&gt;added overlap scheduling for high-concurrency online decoding&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/31294"&gt;&lt;span&gt;removed a no-op EAGLE renormalization&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/33662"&gt;&lt;span&gt;avoided host synchronizations during EAGLE prefill&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The open &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32042"&gt;&lt;span&gt;resource-lease scheduling work&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32196"&gt;&lt;span&gt;data-parallel graph-metadata fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; continue the same effort, which is to make overlap safe when requests can be retracted and resumed rather than simply run to completion.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When looking at Agentic workloads with Heterogeneous prefill and decode topologies, prefix-aware staging is needed, and this is where prefix caching and disaggregation interact badly. When the two sides are not sharded identically, KV cannot be copied across as one contiguous stream; it has to be split on a transfer grid and reassembled at the offsets the decode side expects. A prefix hit makes that harder, not easier, because the prefill worker now sends only the uncached remainder while the decode side still expects a complete, correctly positioned cache. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30545"&gt;&lt;span&gt;Radix-cache support in the staging buffer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; splits cached sends on that grid and scatters them at the correct decode offsets.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CEcE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2d49d-2612-4334-90c2-8a76ab55fd60_1418x1004.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1004" src="https://substackcdn.com/image/fetch/$s_!CEcE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2d49d-2612-4334-90c2-8a76ab55fd60_1418x1004.png" width="1418" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, this results in correctness problems. A 127,500-token shared-prefix test went from 2 correct needles out of 128 to 128 out of 128, meaning the cache had been silently landing in the wrong places, which a throughput benchmark would have scored as a fast, confident, but wrong answer. The AgentX comparison additionally raised median per-user output throughput by 9.6% at nearly unchanged total throughput per GPU. The transfer itself also carried dead weight: decode-side PREBUILT batches never enter a model forward, yet every transferred prompt was still flattened and copied into a CUDA input tensor that the first decode step reconstructs from relay metadata anyway. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/35070"&gt;&lt;span&gt;Dropping that unused prompt transfer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is the largest single win, driving +18.0% per-user output throughput and +12.7% decode throughput per GPU on AgentX GB300. A &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/35071"&gt;&lt;span&gt;follow-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; moved the prefill DP-rank bootstrap query off the decode scheduler&amp;#8217;s critical path, overlapping an HTTP round trip that had been paid synchronously at result consumption, driving a further +1.36% per-user output throughput on the same deployment. Open work continues along the same seam: &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30762"&gt;&lt;span&gt;multi-pool DeepSeek-V4 support in UMBP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32368"&gt;&lt;span&gt;unified-KV HiSparse state carried over MoRI&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/34216"&gt;&lt;span&gt;preserving the prefill-owned token when decode terminates without visible content&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The HiSparse work should be read as a capacity and correctness enabler for long contexts rather than as a throughput win at high concurrency, which it is not yet.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-k_t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed24f1b9-b591-4674-bc94-06394962d03f_2048x544.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="387" src="https://substackcdn.com/image/fetch/$s_!-k_t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed24f1b9-b591-4674-bc94-06394962d03f_2048x544.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;TensorRT-LLM Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Next, we shall move onto explaining a couple of the recent optimizations from TensorRT-LLM. First, we look at TRTLLM&amp;#8217;s distinct frontend optimization for repeated chat turns, a cost that only exists because the workload is multiturn. Every turn of a conversation re-sends the entire history plus a little more, and the naive implementation re-tokenizes all of it. Tokenization is cheap per kilobyte, but is ruinous when the same 100,000 tokens are tokenized again on every turn.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The obvious fix, to tokenize only the new suffix, is wrong in a way that is easy to miss, because byte-pair encoding is not position-independent. Tokens can merge across the join, so splitting the text at the boundary and concatenating the two token sequences can produce a different sequence than tokenizing the whole string, which quietly diverges from the sequence the prefix cache was built against.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TRTLLM implements &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17462"&gt;&lt;span&gt;Boundary-aware incremental tokenization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which handles this by finding the rendered-text common prefix, rolling back one complete token so any merge that spans the join is recomputed, and tokenizing only the changed suffix from there. On the Qwen3.5 AgentX trace, it matched full tokenization on all 1,087 transitions &amp;#8212; the correctness claim, tested rather than assumed &amp;#8212; and reduced mean processing time from 185.1 ms to 11.3 ms.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BiHQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30a51cf2-e628-4c20-a4a5-5978234ca713_952x541.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="541" src="https://substackcdn.com/image/fetch/$s_!BiHQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30a51cf2-e628-4c20-a4a5-5978234ca713_952x541.png" width="952" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17462"&gt;&lt;span&gt;Source: GitHub&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A fixed 8k1k request has no prior rendered turn to reuse, so none of this appears there. Relatedly, &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16231"&gt;&lt;span&gt;chat-template rendering was moved into the input-processing pool&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a long template no longer serializes the main request loop behind it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sqbT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b459b8-9c4c-4c8c-8659-07e14bf5699f_2048x784.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="557" src="https://substackcdn.com/image/fetch/$s_!sqbT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b459b8-9c4c-4c8c-8659-07e14bf5699f_2048x784.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The MiniMax-M3 work focuses on disaggregated KV movement, where the failure is one of granularity. When prefill and decode do not agree on head layout, the KV for one logical request stops being a few large contiguous regions and becomes thousands of small strided pieces, each of which turns into its own transfer descriptor. The bytes moved are unchanged; the per-descriptor overhead is what explodes, and it explodes in the worst way on exactly the long prompts that matter! &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17518"&gt;&lt;span&gt;Corrected multi-pool mapping and a chunked NIXL bounce path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; coalesce those pieces through a bounded reusable arena, trading an extra staging copy for orders of magnitude fewer descriptors. Its AgentX diagnostic reduced request-critical KV p99 from 26.74 seconds to 125 ms at concurrency five, and from 10.15 seconds to 288 ms at concurrency forty.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BA9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52bd05ab-914f-4dc5-9f16-a0ea1b495383_959x501.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="501" src="https://substackcdn.com/image/fetch/$s_!BA9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52bd05ab-914f-4dc5-9f16-a0ea1b495383_959x501.png" width="959" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17518"&gt;GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17428"&gt;&lt;span&gt;Nonblocking context-transfer polling&lt;/span&gt;&lt;/a&gt;&lt;span&gt; protects the same path by reaping completed transfers even when scheduling stalls. This breaks a feedback loop in which finished KV blocks stay pinned and prevent new admissions. The stalls themselves also had a &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16734"&gt;&lt;span&gt;removable cause&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: avoiding implicit device-scalar syncs in DeepSeek-V4&amp;#8217;s context sparse-attention metadata eliminated 18 four-byte device reads per step that each forced a cudaStreamSynchronize, on a GB300 disaggregated context worker. The fix threads host-side counts through as plain Python ints, so the executor thread no longer holds the GIL for most of a step while the KV-transfer and response threads wait behind it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TensorRT-LLM also moved irregular long-context work onto more efficient execution paths. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17473"&gt;&lt;span&gt;Context graph producers for MiniMax-M3&lt;/span&gt;&lt;/a&gt;&lt;span&gt; capture stable sparse producers while leaving request-dependent attention eager, and per-user output throughput improved by 12.58 percent in its AgentX test. An open &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16876"&gt;&lt;span&gt;native KV-event production change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reduces allocation and conversion work on the KV-aware routing path.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AgentX also exposed kernel-selection and scheduler-lifetime failures that only appear at scale and duration. Two are about which kernel gets picked. MiniMax-M3 &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17316"&gt;&lt;span&gt;added CuTeDSL choices to MXFP8 autotuning&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, widening the candidate set and improving output throughput per GPU by roughly 7 to 10% at low-concurrency aggregate points. In the opposite direction, TensorRT-LLM &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17105"&gt;&lt;span&gt;disabled corrupt split-K MoE tactics&lt;/span&gt;&lt;/a&gt;&lt;span&gt; after it crashed five of seven AgentX runs, with no crashes in seven matched runs afterwards. A tactic that is fast and wrong is worse than one that is merely slow, and an autotuner will select it enthusiastically unless it is removed from the pool. Selection is not the only way a kernel goes wrong: MiniMax-M3&amp;#8217;s legacy sparse-attention path for short queries could hand the SM100 kernel a non-contiguous, head-major block-index view that it read as contiguous, selecting the wrong KV pages and producing incorrect or non-finite output. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17285"&gt;&lt;span&gt;Honoring the block-index strides&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for q_len &amp;#8804; 32 fixed the indexing without materializing the tensor or adding a kernel, and five matched full AgentX pairs on GB300 afterwards completed with zero serving errors and no non-finite markers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!29HP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff48290ac-3361-4b0c-a085-ff84dd3dce51_2048x1347.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="958" src="https://substackcdn.com/image/fetch/$s_!29HP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff48290ac-3361-4b0c-a085-ff84dd3dce51_2048x1347.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17105"&gt;&lt;span&gt;TRT Github&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The other two are lifetime bugs, which are the characteristic failure of long runs rather than large ones. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16279"&gt;&lt;span&gt;Sequence-slot headroom and consistent slot-indexed buffer sizing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; handle the transient overlap where a completing request and a newly admitted one both need a slot, a window that a steady stream of arrivals and departures hits constantly and a fixed batch never hits at all. A later &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17278"&gt;&lt;span&gt;attention-data-parallel dummy-request fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; kept nine Qwen3.5 disaggregated cells alive where most earlier cells had failed within minutes, the difference between a configuration that benchmarks and one that survives a session.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two open transfer changes target very long disaggregated prompts, and together they show how a fix can create the next bottleneck. In the default arrangement, a decode worker cannot start until the entire prompt has been prefilled and then transferred, so two expensive phases run back to back even though the first produces its output incrementally. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/15727"&gt;&lt;span&gt;Pipelined KV transfer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; begins sending each completed prefill chunk as it lands, so transfer overlaps prefill compute and only the final chunk is on the critical path.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That change makes chunk handling frequent, which exposes work that used to happen once. Its follow-up &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17526"&gt;&lt;span&gt;retrieves only the block IDs belonging to the current chunk&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than the whole prompt&amp;#8217;s block list each time. For a 128,000-token prompt split into 1,024-token chunks, that is the difference between building a 4,096-entry list once and rebuilding it 128 times for every layer group. A per-chunk cost that scales with total prompt length is a cost scaling shape that eats the gain the pipelining just bought.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!09sS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8eeb92e-1aad-4a97-b3c1-28409005809e_2048x769.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!09sS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8eeb92e-1aad-4a97-b3c1-28409005809e_2048x769.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;AMD ATOM Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s ATOM engine was originally designed only for single turn workloads instead of real world agentic multi-turn production workloads, so there were a lot of changes needed to the core fundamental ATOM engine and kernels to enable good support for long context multi turn workloads. ATOM still has a long way to go to support agentic workloads relative to where vLLM/SGLang are at present. AgentX is used as the realistic north star target for ATOM&amp;#8217;s refactor to support agentic workloads. The first optimization we will chat about that ATOM implemented is smartly using sparse checkpoint retention for DeepSeek-V4 paged sliding-window attention. &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1640"&gt;&lt;span&gt;The merged implementation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; keeps selected window tails alive so branch and replay requests can resume at useful boundaries. Its measurements separate the two effects cleanly: on the same AgentX trace at concurrency 48, the actual prefix hit rate rose from 5.6% to 96.45%, and losses at the sliding-window gate fell from 91.35% to 0.16%. The second number is the mechanism behind the first. Nine out of ten prefix matches were being found and then discarded for want of a window tail, so the cache was not missing but being overruled.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QjVe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c880335-e1e3-44d9-a123-8e316c9c3808_822x555.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="555" src="https://substackcdn.com/image/fetch/$s_!QjVe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c880335-e1e3-44d9-a123-8e316c9c3808_822x555.png" width="822" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Two earlier cache-manager fixes had to land before any of this could be measured, and both fixes are worth noting as examples of a cache that reports itself healthy while doing nothing. One &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/902"&gt;&lt;span&gt;stopped free-pool hits from destroying shared cache entries&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; the other, &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/939"&gt;&lt;span&gt;a deferred-output fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, restored prefix hashing in the default scheduler mode and moved repeated long prompts from zero cached tokens to reuse of every complete prefix block. A separate change lets prefix-hit prefill &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1345"&gt;&lt;span&gt;stay on the optimized sink attention kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than falling back to the generic path, so a cache hit does not quietly cost part of what it saves.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Hybrid models also carry a recurrent or compressor state, which differs from ordinary KV in one decisive way: it cannot be reconstructed from the tokens around it. A window tail can be recomputed from neighboring context, but recurrent state is the accumulated result of everything that came before, so if it is dropped, the only way back is to replay the sequence. ATOM &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1771"&gt;&lt;span&gt;gave this per-request state a content-addressed checkpoint lifecycle&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, letting generated turns leave reusable resume points without reserving a separate protected cache for them. In one test, a request reused 512 generated tokens and computed only a two-token suffix.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The tuning detail matters as much as the feature. Publishing a checkpoint unconditionally costs 17.5% throughput on zero-hit traffic, the price paid by every session that never comes back, in order to help the ones that do. Spacing checkpoints by token interval avoided that penalty, and fixed 1k1k throughput stayed within measurement noise, which is the relevant safety property: a feature aimed at agentic reuse should not tax workloads that will never use it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;ATOM&amp;#8217;s AgentX-relevant CPU path starts from the arithmetic that justifies offloading at all. &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1318"&gt;&lt;span&gt;Standalone LMCache offload&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reloads a 32,000-token prefix from CPU in about 0.32 seconds against roughly 2.5 seconds to recompute it, an eight-fold margin. This makes crossing the bus worth doing at these context lengths and would not hold for a short prompt.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The rest of the path is about ownership and index placement rather than bandwidth. ATOM copied vLLM&amp;#8217;s&lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1406"&gt;&lt;span&gt; multi-connector&lt;/span&gt;&lt;/a&gt;&lt;span&gt; design which lets a prefill worker send KV to a remote decode worker and save the same prefix to CPU at once, without freeing the blocks until both consumers are finished; two independent readers of the same blocks is a situation where single-turn won&amp;#8217;t get.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1725"&gt;&lt;span&gt;Promoting restored blocks back into the GPU prefix index&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixes a subtler waste: without it, a prefix loaded from CPU is used and then not registered as resident, so the next turn fetches the same hot prefix across the bus again, paying the transfer repeatedly for a cache that was already in HBM. Follow-up work &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1807"&gt;&lt;span&gt;fixed asynchronous save ordering, packed-KV geometry, unaligned handoffs, and remote request accounting&lt;/span&gt;&lt;/a&gt;&lt;span&gt; together, eliminating reload corruption across a two-round, 2,638-request validation. This bug surfaces only when the same blocks are saved, evicted, and restored many times over.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!RVON!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bb7f74-e5a3-4da3-b954-89905e54c4da_2048x420.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="299" src="https://substackcdn.com/image/fetch/$s_!RVON!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bb7f74-e5a3-4da3-b954-89905e54c4da_2048x420.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The distributed path repeats, in a different codebase, and the pattern is already visible in SGLang and Dynamo: routing has to know where state lives. ATOM&amp;#8217;s router called ATOMesh is a fork of SGLang&amp;#8217;s router with most of the features removed. Unfortunately, ATOMesh required SGLang&amp;#8217;s cache-aware routing feature, so that feature had to be added back. ATOM gained KV lifecycle events for cache-aware routers, so the router can know where state lives at all. It also gained multi-node prefill and decode routing, and session-sticky data-parallel routing. The sticky policy is a two-sided compromise worth stating explicitly: a conversation returns to the healthy worker that owns its state, but idle assignments expire so that stickiness does not permanently unbalance the cluster on behalf of sessions that have gone away.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Disaggregation then has to move whatever the model actually keeps, which is not always one uniform cache. DeepSeek-V4 &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1737"&gt;&lt;span&gt;transfers both buffers of its mixed FP8 and BF16 cache layout&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and EAGLE disaggregation &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1331"&gt;&lt;span&gt;moves the draft model&amp;#8217;s independent KV cache&lt;/span&gt;&lt;/a&gt;&lt;span&gt; alongside the target cache, the same second-cache problem TensorRT-LLM and SGLang each had to solve. &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1647"&gt;&lt;span&gt;Remote-KV admission and backpressure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; closes the loop by stopping the decode side from accepting more parked transfers than it can safely resume, which is the disaggregated form of accepting work you cannot finish.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On ATOM, &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1220"&gt;&lt;span&gt;PCP reported 35 to 43% lower mean TTFT&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, with total throughput gains of up to about 49% at a 64,000-token input - a gain that grows with input length rather than with batch size. Making that usable in practice required it to compose with everything else a session relies on, so DCP was &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1701"&gt;&lt;span&gt;made compatible with prefix caching, chunked prefill, and FP8 KV&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and then &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1746"&gt;&lt;span&gt;extended to MTP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Parallelism that cannot coexist with the prefix cache would trade one long-context win for another. The same scarcity of parallelism exists inside a single GPU: a batch-1 MLA decode has no head or query dimension to spread, only the KV walk, and a hardcoded split budget of 16 left that walk running on 16 of a gfx950&amp;#8217;s 256 CUs. A &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1911"&gt;&lt;span&gt;still-open change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; stops overriding the kernel&amp;#8217;s own split derivation, so Aiter cuts the walk into as many parts as the machine has clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1552"&gt;&lt;span&gt;Chunked pipeline-parallel prefill&lt;/span&gt;&lt;/a&gt;&lt;span&gt; attacks the same problem from the memory side, replacing repeated tensor-parallel collectives with streamed layer-stage handoffs. Its GLM-5.2 result at high load is the most complete in this section: output throughput doubled, median time to first token fell from 28.6 seconds to 8.7 seconds, and each prefill GPU held 3.68 times as many KV blocks. That last figure is the one to read first, because capacity per prefill GPU is what decides how many long sessions can be in flight before the deployment hits the HBM cliff at all.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZHbg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8184b9e6-883b-446c-884b-226b5e9fcca1_2048x549.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="390" src="https://substackcdn.com/image/fetch/$s_!ZHbg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8184b9e6-883b-446c-884b-226b5e9fcca1_2048x549.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;ROCm AITER Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;ATOM/AMD vLLM/AMD SGLang&amp;#8217;s long-context execution depends on matching lower-level AITER kernels, because a parallelism strategy at the engine layer is only real if the kernels can express it. &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3728"&gt;&lt;span&gt;Prefill context-parallel process groups&lt;/span&gt;&lt;/a&gt;&lt;span&gt; provide the extra query-sharding dimension that prefill context parallelism needs, and also widen fused-kernel row indexing for prompts above 131,000 tokens. &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3267"&gt;&lt;span&gt;Decode context parallelism&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (DCP) shards KV across the tensor-parallel GPUs already present, so a longer sequence or a larger batch fits without replicating the whole cache on every rank.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Large caches also exposed a class of failure that short fixed requests essentially never reach: address width. A 32-bit offset is entirely adequate until a single cache pool crosses the boundary, at which point the arithmetic wraps and the kernel addresses the wrong row without any error being raised. AITER added &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/2893"&gt;&lt;span&gt;runtime 64-bit dispatch for batch prefill above 4 GB&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4474"&gt;&lt;span&gt;64-bit MLA offsets above 2 GB&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4680"&gt;&lt;span&gt;64-bit addressing throughout DeepSeek-V4&amp;#8217;s unified cache paths&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the last preventing silent reads and writes to the wrong row in pools of roughly 150 million rows.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jW3c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce356c05-883b-4c63-a359-8cfd72dddb63_1408x1046.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1046" src="https://substackcdn.com/image/fetch/$s_!jW3c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce356c05-883b-4c63-a359-8cfd72dddb63_1408x1046.png" width="1408" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;DeepSeek-V4 decode also gained &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3459"&gt;&lt;span&gt;a persistent MLA kernel for 64-head and 128-head MTP packings&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Those two head counts are what ordinary decoding and speculative verification actually produce, so this gives the engine a dedicated long-context path for its common shapes instead of treating them as incidental variants of a kernel written for short contexts. It is the same argument as the vLLM AITER sparse-MLA selection above: in long context, the generic path is not a modest compromise, it is the wrong kernel.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Dynamo Agentic Workload Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A good chunk of Nvidia submissions use the Dynamo Inference Orchestration and Router Systems. Dynamo&amp;#8217;s AgentX series shows that the distributed serving layer can become the bottleneck once engine kernels improve. The router&amp;#8217;s work is proportional to the number and length of live prefixes rather than to the number of tokens generated, so a workload of many long, overlapping, long-lived sessions loads it in a way that fixed-shape traffic never does. The first series of PRs reduced the cost of each routing decision: &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10540"&gt;&lt;span&gt;less work on the lookup hot path&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10836"&gt;&lt;span&gt;no redundant suffix invalidation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and finally &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11095"&gt;&lt;span&gt;batched KV matching, registration, ownership, and terminal dereferences&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which reported a 22.2% median output-throughput gain at concurrency 512. Batching helps here for the same reason it helps in an engine: the per-item overhead was dominating the item.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!J5Un!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af8faf5-300e-4ee5-bc0c-040b7630e923_1016x671.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="671" src="https://substackcdn.com/image/fetch/$s_!J5Un!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af8faf5-300e-4ee5-bc0c-040b7630e923_1016x671.png" width="1016" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second series of PRs changed how ownership is represented, which is the harder problem underneath. Every cached block needs to be attributed to the requests relying on it, so it is not freed while still in use and not pinned after everyone has finished. With thousands of concurrent sessions sharing overlapping prefixes, the bookkeeping itself becomes significant. Dynamo moved from &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11503"&gt;&lt;span&gt;shared block chains&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11508"&gt;&lt;span&gt;arena-level ownership counts&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and finally to &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12329"&gt;&lt;span&gt;backend-specific request leases&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, each step coarsening the unit being tracked. The lease design reduced AgentX replay time by 23.7% for the vLLM backend and 22.0% for SGLang, and lowered peak memory at the same time, a sign that the previous representation was the problem rather than the traffic.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!I5WI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3039950-98e0-4cd0-b7fe-929a120bd7d2_2048x576.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="409" src="https://substackcdn.com/image/fetch/$s_!I5WI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3039950-98e0-4cd0-b7fe-929a120bd7d2_2048x576.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Further router profiles removed costs with the same shape, where a periodic sweep or a full recomputation had been acceptable only because live state used to be small. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10521"&gt;&lt;span&gt;Bucketed expiry pruning&lt;/span&gt;&lt;/a&gt;&lt;span&gt; replaced a scan proportional to everything tracked and improved high-churn AgentX throughput by 13.7%. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10676"&gt;&lt;span&gt;Delta-only suffix cleanup&lt;/span&gt;&lt;/a&gt;&lt;span&gt; processes only what changed and absorbed about 28 times as many store and remove events in the same window. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11644"&gt;&lt;span&gt;Compressed prompt paths&lt;/span&gt;&lt;/a&gt;&lt;span&gt; cut front-end CPU by 35.3% and materially improved tail time to first token, which matters because prompts in this workload are long and largely repeated. Overload state is now &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10645"&gt;&lt;span&gt;tracked incrementally&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than recomputed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LUiA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878dd41d-fc0f-407e-8421-ad05ad9e740c_1087x624.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="624" src="https://substackcdn.com/image/fetch/$s_!LUiA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878dd41d-fc0f-407e-8421-ad05ad9e740c_1087x624.png" width="1087" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One routing change is a deliberate trade rather than a pure win. Dynamo can now &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12158"&gt;&lt;span&gt;charge active decode requests in its routing score&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a worker already committed to long-running decodes looks more expensive than its queue depth alone suggests. That improved median AgentX latency at a small throughput cost in the reported tuning point, which is the kind of choice that only becomes visible when requests occupy a worker for a long time. An &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/13447"&gt;&lt;span&gt;open follow-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; packages that trade into an new agentic router preset that pushes further in the same direction, crediting prefix overlap at 2, scaling prefill load by 4, and weighting active decode requests at 64. At that tuning point, the trade stops costing throughput: on an 8xH200 AgentX run, the preset improved fixed-window completed-output throughput by 8.26% over the default cost function, cut run-level p95 time to first token by 43.1% and p95 inter-token latency by 22.6%, and completed one more full trajectory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The request plane was optimized next, because an agentic trace does not send one request and one response. It sends many related requests carrying largely identical prompts, and streams every token back as its own frame, so serialization and copying are paid per turn and per token rather than once. Switching to &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10437"&gt;&lt;span&gt;MessagePack request payloads&lt;/span&gt;&lt;/a&gt;&lt;span&gt; improved throughput by 8.1% and reduced average time to first token by 9.7% in its AgentX test, and &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11104"&gt;&lt;span&gt;direct Python transcoding&lt;/span&gt;&lt;/a&gt;&lt;span&gt; removed an intermediate value tree from that path entirely.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;What followed is a sequence of changes that all remove a copy rather than speed one up: not copying &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11539"&gt;&lt;span&gt;MessagePack event payloads&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, not copying &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11574"&gt;&lt;span&gt;received ZeroMQ frames&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and not paying full &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11569"&gt;&lt;span&gt;inter-token-latency metrics overhead&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on every token. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10433"&gt;&lt;span&gt;The chat streaming hot path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; was shortened for the same reason. Individually, these are unremarkable; multiplied by every streamed token of every concurrent session, they are what determines how many requests per second a frontend can sustain.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;High-concurrency profiling then found costs that had nothing to do with moving data. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11820"&gt;&lt;span&gt;Static logging filters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; removed a shared span-matcher lock, a contention point rather than a volume problem, and raised reported frontend throughput from 932 to 1,133 requests per second. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12161"&gt;&lt;span&gt;Simpler positional radix buckets&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reduced peak memory in the mocker by 5.51 GiB in a 32-worker run. An open change &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12999"&gt;&lt;span&gt;flushes detokenization metrics once per response&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than updating cumulative counters on every streamed chunk, approximately halving frontend CPU time in its matched diagnostic profile. That last one is the clearest example of the category: the instrumentation was cheap per call and ruinous at one call per token.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;LMCache Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;LMCache is an open-source KV cache layer that sits under inference engines like vLLM, storing reusable KV chunks keyed by prefix hash across CPU DRAM, local NVMe, and remote backends (Mooncake, Redis, S3). LMCache can be used as an alternative to vLLM&amp;#8217;s native offloading connectors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wxlg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F945da9bc-59ec-4084-9f3a-da58da04b3c5_2048x638.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="454" src="https://substackcdn.com/image/fetch/$s_!wxlg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F945da9bc-59ec-4084-9f3a-da58da04b3c5_2048x638.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;LMCache&amp;#8217;s multiprocess path was changed for the volume and shape of agentic cache movement, beginning with a failure that is not a slowdown but a stop. When each of many requests with contexts above 100,000 tokens reserves the blocks for its whole load before starting, the pool is exhausted by requests that are all waiting and none progressing. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3382"&gt;&lt;span&gt;Chunked external-cache loading&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reserves per chunk instead, so loads interleave and drain. At concurrency 32, the validation completed 120 requests where the old path deadlocked after 28, and concurrency 48 kept running with the KV pool 98.5 percent full.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other changes reduce how much is moved and how often the runtime gets in the way. Storing only the useful portions of DeepSeek-V4&amp;#8217;s hybrid groups cut &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3635"&gt;&lt;span&gt;storage per token by almost twenty times&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and sliding-window prefetch now &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3869"&gt;&lt;span&gt;loads only the live window&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than window state that will never be read, the same reachability argument vLLM applied to offload, approached from the storage side. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3908"&gt;&lt;span&gt;One native transfer call per object group&lt;/span&gt;&lt;/a&gt;&lt;span&gt; then removes repeated Python lock handoffs across staging copies and kernel launches, which is overhead proportional to the number of pieces rather than to the bytes in them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two current LMCache changes are especially specific to AgentX but remain open. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/4524"&gt;&lt;span&gt;The hybrid lock-accounting fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; stops one request from releasing another request&amp;#8217;s read locks on shared sliding-window or recurrent-state chunks. Several requests must share the same chunks, the accounting must be per-chunk rather than per-holder, and eviction must actually start. Sustained Kimi-K3 runs with DRAM offload supplied all three and produced tens of thousands of warnings, corrupt generations, and eventually GPU crashes once eviction began. Anything short of a long, shared, memory-pressured run leaves it dormant.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A parallel line of LMCache work made all of the above reachable on AMD Instinct hardware. CacheBlend&amp;#8217;s non-prefix reuse depended on flashinfer, which is CUDA-only, so &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3092"&gt;&lt;span&gt;a Triton block-sparse attention backend&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reimplements the three kernels it needs: block-sparse attention with CSR indices and log-sum-exp output, causal prefill, and log-sum-exp output blending. It then routes to them automatically when ROCm is detected or flashinfer is missing. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3101"&gt;&lt;span&gt;ROCm Dockerfiles&lt;/span&gt;&lt;/a&gt;&lt;span&gt; mirror the CUDA build and lightweight images. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3843"&gt;&lt;span&gt;An AMD hipFile backend&lt;/span&gt;&lt;/a&gt;&lt;span&gt; extends the GDS L1 slab-file tier, which reached storage only through NVIDIA cuFile, by binding ROCm&amp;#8217;s hipFile through ctypes and dispatching on torch.version.hip; the cuFile path is unchanged.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Distribution was the remaining gap. CUDA users installed a prebuilt wheel; AMD users built it from source. We worked together with AMD to publish a &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/4273"&gt;&lt;span&gt;prebuilt gfx942 and gfx950 wheel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which closes that. It installs into the upstream image and passes all 56 KV-transfer kernel tests on MI350X, and it publishes to a GitHub release rather than PyPI so a plain pip install lmcache stays the CUDA build. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/4363"&gt;&lt;span&gt;A one-line follow-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; marks the bind-mounted repository as a git safe directory, which only fails in CI because the container runs as root over a runner-owned checkout and the version introspection in setup.py refuses to read it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qIlB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c2f79c-a704-4144-a900-ddd69ce306dd_1112x667.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="667" src="https://substackcdn.com/image/fetch/$s_!qIlB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c2f79c-a704-4144-a900-ddd69ce306dd_1112x667.png" width="1112" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3561"&gt;&lt;span&gt;DCP-aware CPU offload&lt;/span&gt;&lt;/a&gt;&lt;span&gt; resolves a straightforward incompatibility between two features that long contexts make mandatory together. With decode context parallelism enabled, each rank holds only a stride of the KV, so what any one rank could save is not a usable prefix; the fix gathers the strided shards before saving and redistributes them after loading. Without it, enabling context parallelism silently disables CPU cache hits for exactly the long prefixes that motivated both features. Its validation recorded more than 30,000 CPU hit events, with single-request loads reaching hundreds of thousands of tokens.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Mooncake Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Mooncake serves Moonshot&amp;#8217;s Kimi production traffic along with production traffic at many labs, and is a transfer engine underneath disaggregated vLLM and SGLang configurations. Until recently, Mooncake&amp;#8217;s AMD support stopped short of both RDMA registration and offering installable packages.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CRox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32c734aa-1f52-47af-a98e-334978b4e6fa_1778x1386.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1135" src="https://substackcdn.com/image/fetch/$s_!CRox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32c734aa-1f52-47af-a98e-334978b4e6fa_1778x1386.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Registering GPU memory for RDMA on Nvidia either uses the nvidia-peermem kernel module or exports a dmabuf file descriptor. AMD has no nvidia-peermem equivalent, so GPU-direct RDMA had no path at all and deployments fall back to staging KV through host DRAM. &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/pull/2225"&gt;&lt;span&gt;A HIP dmabuf registration branch&lt;/span&gt;&lt;/a&gt;&lt;span&gt; adds the mirror of the existing CUDA dmabuf path, exporting through ROCm instead of the CUDA handle call, and resolving the true allocation base first because caching allocators pack tensors at an offset inside a larger allocation. Host memory still registers directly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Support that cannot be installed is not support. Mooncake published CUDA and MUSA wheels but no ROCm package, so AMD users built the engine from source inside every image. &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/pull/3184"&gt;&lt;span&gt;A ROCm wheel, CI, and release path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; publishes mooncake-transfer-engine-rocm to PyPI alongside them. This workstream from Andy Luo, AMD engineer, was due to noticing a pattern when dogfooding agentic workloads with AgentX that building MoonCake from source in ROCm is not an first class citizen pattern.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IdCM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12cd94ca-2aa7-4e06-a4bd-3153982234c5_1220x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="680" src="https://substackcdn.com/image/fetch/$s_!IdCM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12cd94ca-2aa7-4e06-a4bd-3153982234c5_1220x680.png" width="1220" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The transfer engine has no device kernels and does not depend on torch, so one architecture-agnostic wheel covers gfx942 and gfx950, and the ROCm runtime is bound at load time rather than vendored, which means the same wheel works unmodified in both the upstream vLLM ROCm image and the SGLang ROCm image. That was verified as a full cross product: MI300X and MI355X, each under vllm/vllm-openai-rocm and lmsysorg/sglang, running the master binary and a HIP buffer transfer test with data verification. The pull request adds a tag-triggered publish across Python 3.10 through 3.13. An open follow-up &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/pull/3338"&gt;&lt;span&gt;adds a self-hosted two-node MI350X external prefill and decode tier&lt;/span&gt;&lt;/a&gt;&lt;span&gt; so the ROCm disaggregated path is exercised on real hardware rather than only compiled.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Together, these PRs mean an AMD AgentX run can now install the transfer engine and the KV cache layer from published artifacts into stock upstream images, and move KV directly between GPU memory and the fabric.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Other Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The changes above address long-context costs: a prefix that has to survive, a hybrid cache that has to stay correct, a transfer that has to keep up. But there are a whole host of day-zero enablement and correctness bugs that break requests just as badly as a million-token session.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;MiniMax-M3 tested whether that ROCm work compounds into day-zero readiness, and the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;&lt;span&gt;Advancing AI writeup&lt;/span&gt;&lt;/a&gt;&lt;span&gt; draws the comparison directly: AMD&amp;#8217;s first public disaggregated recipe, MI355X FP4, reached InferenceX in January months behind Nvidia, while M3 FP4 disaggregation landed on day zero. This is an improvement from the DeepSeek-R1 period, when parity took months. Three vLLM fixes sat on that day-zero path, and each was a correctness failure rather than a performance one.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Disaggregation was blocked first. NixlConnector&amp;#8217;s handshake asserted that the SPLIT-region block_len scales with the prefill-to-decode TP ratio, but block_len follows per-rank KV heads. M3 has 4 KV heads, so a TP4 prefill paired with a TP8 decode is GQA-capped to one head per rank on both sides and the two lengths are equal where the assertion demanded a factor of two. The handshake was rejected, no KV moved, decode regenerated everything from scratch, and gsm8k scored 0. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45879"&gt;&lt;span&gt;Validating against the actual head ratio&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixed this.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other two were platform splits. M3&amp;#8217;s sparse-attention backend read the byte-backed FP8 cache as float8_e4m3fn for every E4M3 configuration. But gfx942&amp;#8217;s platform dtype is e4m3fnuz, and the two encodings differ. K and V were therefore altered before the kernels consumed them. The prefill and decode wrappers had also omitted the FNUZ types from their FP8 checks. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45720"&gt;&lt;span&gt;Using the platform dtype for the cache view&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixed both halves. Separately, M3 ships as separate NVIDIA and AMD model files, and only the NVIDIA one implemented the EAGLE3 interface, so speculative decoding aborted at engine init on ROCm with a model-does-not-support error. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45546"&gt;&lt;span&gt;Bringing the AMD model to parity&lt;/span&gt;&lt;/a&gt;&lt;span&gt; restored it, with MI355X gsm8k matching both the non-EAGLE3 MI355X run and B200.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The TensorRT-LLM section above covers the M3 work that is long-context specific: descriptor explosion in disaggregated KV transfer, context graph capture, sparse block strides, autotuner candidates, and the corrupt split-K MoE tactics that had to be removed from the pool.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The local AgentX matrix combines session-aware or KV-aware routing, long and variable conversation histories, MTP, hybrid attention, aggregate and disaggregated serving, and concurrency sweeps that cross the HBM capacity cliff. It includes GPU-resident comparisons and CPU DRAM offload through vLLM SimpleCPU, Mooncake, LMCache, and SGLang HiCache. That combination is what activates the upstream work above. The old fixed-sequence matrix usually creates one prompt, performs one prefill, decodes one fixed continuation, and discards the request. It therefore does not measure cache survival across turns, repeated tokenization, session affinity, cache-event traffic, offload churn, transfer progress during scheduler stalls, or long-lived ownership bookkeeping.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The allowed optimization policy treats CPU KV offload as optional. A vendor may use vLLM connectors, LMCache, SGLang HiCache, Mooncake, Dynamo KVBM, or another CPU DRAM connector, or disable offload when the resulting latency and throughput point is better. NVMe offload is deferred. CPU DRAM must scale with the fraction of GPUs used, including the 3 TB cap for non-standardized-DRAM systems. Standardized-DRAM systems have no hard cap but retain the same proportionality rule. The local generator currently applies the 3 TB cap to every runner, so it does not yet implement the standardized-DRAM exception.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The net new optimization surface is not simply longer attention. It is the preservation, movement, routing, reconstruction, and repeated processing of a growing session state. AgentX made those costs large enough to drive generic upstream changes across vLLM, SGLang, TensorRT-LLM, ATOM, AITER, Dynamo, and LMCache. Direct searches of NIXL and Mooncake did not identify additional AgentX-tagged runtime PRs, so their relevant effects remain represented through the engine connector changes above.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;AgentX Methodology Deep Dive&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;AgentX is a massive shift in open source real world long context multi turn agentic trace replaying and we collected traces over $3M worth of tokens within our own dataset consisting of real world traffic from Claude Code, OpenAI Codex, etc. In addition to the dataset, we developed a comprehensive methodology for replaying the traffic patterns fairly. The goal is to stay as authentic to the organic traffic as possible while being equitable about GPU resource requirements.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will deep dive into the agentic trace datasets, replay methodology, and agentic behavior in general. It is recommended reading for readers that would like to better understand the overall shape of agentic workloads as well as how harnesses orchestrate requests under the hood.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;$3M USD Agentic Traffic Trace Collector&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;When initially designing AgentX, our north star goal was to make the benchmark as realistic as possible in terms of KV workload shape and KV reuse patterns. We began experimenting with replaying some existing datasets, such as SWE-bench, Qwen-Bailian, and other random Claude Code traces from HuggingFace. At the time, these datasets did not include significant use of subagents, 1M context, compactions, dynamic workflows, or many other of the recent defining characteristics of an agentic trace. At SemiAnalysis, most of the team are AI power users and use agents for a broad variety of tasks including coding, analyst research, excel modeling, social media operations, and many more. Therefore, we decided that the most achievable and realistic traces could be captured in house.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To collect a large number of traces, we created a proxy that intercepts HTTP requests to Claude / Codex. Then, users that wished to upload traces simply changed the base URL in their Claude / Codex setup to point to the proxy. At the time of writing, we have collected over 8,000 sessions, 3.4 million requests, and 610 billion tokens. Together these represent more than $3M USD in spend. &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126"&gt;&lt;span&gt;We open sourced a representative subset of these sessions for the AgentX v1.0 benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although agentic harnesses can appear complex, they ultimately orchestrate a sequence of HTTP requests. Each request contains some combination of system instructions, tool definitions, and accumulated conversation history. As a session progresses, this history grows and is repeatedly sent back to the model, creating the long contexts and high prefix reuse that AgentX is designed to reproduce.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our proxy records these requests and responses as they occur. It also extracts metadata/HTTP headers such as timestamps, conversation IDs, and subagent IDs, which lets us recover the &lt;/span&gt;&lt;em&gt;&lt;span&gt;structure &lt;/span&gt;&lt;/em&gt;&lt;span&gt;of the conversation (request ordering, concurrent branches, and the approximate parent/child structure of each session). This metadata is what allows us to replay the traces approximately how they would have been seen by the original Anthropic API server.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To protect employee privacy, the replay dataset contains no original prompts, source code, tool arguments, or tool results. Instead, we tokenize each requests&amp;#8217; content and then group it into 64-token blocks, finally replacing each block with a session-scoped chained hash. Matching prompt prefixes therefore produce matching hash prefixes without revealing their contents (&lt;/span&gt;&lt;a href="https://arxiv.org/abs/2506.02634"&gt;&lt;span&gt;this paper&lt;/span&gt;&lt;/a&gt;&lt;span&gt; talks more about this strategy). During replay, these hash blocks can then be replaced with tokens from, say, a coding dataset. So we preserve the approximate context growth and conversation KV-reuse patterns of the original workload.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s worth noting that this process is necessarily imperfect, mostly due to the fact that when using a frontier model provider&amp;#8217;s API, much of the content that the end LLM server actually sees is hidden. For instance, thinking/reasoning content for SOTA models are now encrypted in HTTP requests and replaced with a deterministic hash in an attempt to hinder distillation attacks. However, it seems like &lt;/span&gt;&lt;a href="https://arxiv.org/html/2608.09867v1"&gt;&lt;span&gt;this didn&amp;#8217;t work out exactly as well as the big labs had planned&amp;#8230;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VqTM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F767f2f58-fa9d-40d3-8711-751d243cae9a_500x487.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="487" src="https://substackcdn.com/image/fetch/$s_!VqTM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F767f2f58-fa9d-40d3-8711-751d243cae9a_500x487.png" width="500" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Furthermore, while we have access to all the raw &lt;/span&gt;&lt;em&gt;&lt;span&gt;content&lt;/span&gt;&lt;/em&gt;&lt;span&gt; of the user/assistant messages, system prompts, tool usage, etc., API providers apply additional chat templating server side that aren&amp;#8217;t transparent. We also cannot observe Anthropic&amp;#8217;s proprietary tokenizer or context introduced by server-side tools. Images and documents also do not have a straightforward correspondence between their wire representation and the number of tokens processed by the model. We use deterministic placeholders and empirically calibrated, model-specific padding to bring reconstructed prompt lengths to best estimate the content that is actually seen by the server.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We can&amp;#8217;t &lt;/span&gt;&lt;em&gt;&lt;span&gt;perfectly &lt;/span&gt;&lt;/em&gt;&lt;span&gt;capture and replay Claude Code / Codex traces as they are &lt;/span&gt;&lt;em&gt;&lt;span&gt;actually seen &lt;/span&gt;&lt;/em&gt;&lt;span&gt;by the Anthropic / OpenAI servers due to incomplete information, but we can get pretty close. The chart below shows the ratio of hash tokens (after our approximations/processing) and the true API provider token count across all request lengths and models.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qMxe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7123b5de-9942-4298-8ccd-1b69b8a71df0_2048x1799.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1279" src="https://substackcdn.com/image/fetch/$s_!qMxe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7123b5de-9942-4298-8ccd-1b69b8a71df0_2048x1799.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To summarize, collecting real Claude Code traces in the exact way that they would have been replayed against the original server is not easy due to incomplete information. However, we have enough context to collect and replay traces with extremely high fidelity to match original traffic patterns, timing, prefix caching, and DAG patterns.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;AgentX $3Mil Dataset&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The dataset used for AgentX v1.0 can be found on &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126"&gt;&lt;span&gt;HuggingFace&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It is a 393 session subset of 8.3k session proxy corpus mentioned in the previous section. Additionally, we applied some post-processing to clean up anomalies, such as:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Removing Claude Code security monitor (auto mode) requests and title generation requests as these are specific to Claude Code and not necessarily representative of general agentic traffic&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Removing requests with a reconstructed input length greater than 990k tokens (where our approximation overcounted)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Remove duplicate requests (sometimes the proxy received identical requests if the connection was dropped)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Additionally, each conversation is formatted into the WEKA trace format, proposed by Callan Fox as part of his &lt;/span&gt;&lt;a href="https://github.com/callanjfox/kv-cache-tester"&gt;&lt;span&gt;kv-cache-tester&lt;/span&gt;&lt;/a&gt;&lt;span&gt; project. We chose this format for storing trace information primarily because we worked closely with Callan to develop the benchmark and found it intuitive for storing per-session traces. All in all, the trace format is quite arbitrary and our proxy dataset could be mapped to other formats such as &lt;/span&gt;&lt;a href="https://docs.nvidia.com/aiperf/benchmark-modes/trace-replay-with-mooncake-traces"&gt;&lt;span&gt;Mooncake&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YCZ3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48045991-20d7-4685-863d-c9aa1d6d3142_1812x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1646" src="https://substackcdn.com/image/fetch/$s_!YCZ3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48045991-20d7-4685-863d-c9aa1d6d3142_1812x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;After these are applied, we get the following dataset. Note that not all X-axes are the same.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-pfO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c9c7e-44ba-4ffd-bdc3-58fbbef8f30d_2048x2004.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1425" src="https://substackcdn.com/image/fetch/$s_!-pfO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c9c7e-44ba-4ffd-bdc3-58fbbef8f30d_2048x2004.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The distributions for ISL/OSL and inter-turn latency (in agentic work, this is mainly time taken for tool use) are relatively log-normal. The median ISL is 142k tokens and the median OSL is 444 tokens. The median inter-turn latency (or &amp;#8220;tool use time&amp;#8221;) was 3.84 seconds. Only ~10% of inter-turn latency was greater than 1 minute. These are likely made up of gaps where the harness is waiting on an actual response from a human.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One thing worth mentioning is that these request distributions will look different depending on which harness is being used, since different amounts/types of context are injected (for instance Pi is known to be minimalist in terms of harness-injected context while Claude Code is known for the opposite. Additionally, the ISL/OSL distributions will depend on the model, as different models have tokenizers that can produce either more/fewer tokens. However, given a significant portion of the world&amp;#8217;s agentic coding traffic goes through Claude Code, we believe this is rather representative.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The dataset also has 175 sessions with at least one subagent (~44% of all sessions). There are 1,697 total subagent rollouts in the dataset, with a median of 4 per session. The median wall-clock time for a subagent (beginning of first request to end of last request) is 2.27 minutes. This distribution again follows a relatively log-normal distribution.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!X2Hg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4792809-087e-431b-acce-aecdd3855b3b_2048x1390.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="988" src="https://substackcdn.com/image/fetch/$s_!X2Hg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4792809-087e-431b-acce-aecdd3855b3b_2048x1390.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This dataset includes context up to 1M context, meant to test the more recent frontier open-weight models. Additionally, we have &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126-256k"&gt;&lt;span&gt;a truncated 256k context length dataset&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which we replay against models with a max context length of 256k or less.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Agentic Traffic Trace Replayer&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Rather than build a replay solution from the ground up, we decided to partner with &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/aiperf"&gt;&lt;span&gt;AIPerf&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a vendor agnostic HTTP replayer tool from Nvidia that is adopted by many in the industry including tenstorrent, AWS, AMD, etc. While the intention is to integrate AgentX features into the upstream repo, we maintain a separate &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/aiperf"&gt;&lt;span&gt;fork&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to be even more vendor neutral such that we have control over allowing even more 3rd more contributions. Again, thank you to the AIPerf team, especially Anthony Casagrande, for the help and dedication to building a realistic and representative agentic benchmark.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;An agentic session is naturally described as a directed acyclic graph (DAG). Each request is a node, and an edge means the request at its head cannot be issued until the one at its tail has completed. Every edge additionally carries a delay, specifying how long to wait once that precondition is met.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The simplest session is completely linear, with no subagents and no parallel requests, each request depends on exactly one predecessor. The graph degenerates to a line and the only thing an edge encodes is the inter-turn latency (aka, tool use time or &amp;#8220;think&amp;#8221; time), which is the client&amp;#8217;s local work rather than the model&amp;#8217;s.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!N8B_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20662be0-c311-49e9-8e39-0973d8a1865d_2048x1169.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="831" src="https://substackcdn.com/image/fetch/$s_!N8B_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20662be0-c311-49e9-8e39-0973d8a1865d_2048x1169.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In agentic traces, subagents can also be spawned. A subagent is a separate stream of requests that has its own context, typically to do a focused task. Multiple subagents can run in parallel to do more aggregate work, and subagents can run in parallel to the main agent in some cases. The main agent then waits on groups of subagents to finish, and then incorporates their outputs back into the main agent&amp;#8217;s context (while this is not &lt;/span&gt;&lt;em&gt;&lt;span&gt;always &lt;/span&gt;&lt;/em&gt;&lt;span&gt;the case, this is the most common pattern).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This behavior is responsible for turning the linear chain of requests above into a DAG, where certain requests are dependent on others. When a group of requests belonging to one subagent is identified, AIPerf finds the most recent main agent predecessor and designates it as the &amp;#8220;spawning&amp;#8221; request. Similarly, the &amp;#8220;join&amp;#8221; request is identified by the subsequent main agent request after the duration of the subagent group completes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the example below, the subagent group consists of a single subagent (001), which runs two requests. Its first request goes out as soon as the main agent&amp;#8217;s opening request completes. When that request completes, a 2.2-second inter-turn delay stands in for tool-use wall-clock time, and then the subagent&amp;#8217;s second request is sent. The main agent&amp;#8217;s second request is the join point for subagent 001. It goes out once both conditions are met: at least 17 seconds have elapsed since the main agent&amp;#8217;s first response &lt;/span&gt;&lt;em&gt;&lt;span&gt;and &lt;/span&gt;&lt;/em&gt;&lt;span&gt;subagent 001&amp;#8217;s second request has completed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One small limitation is that HTTP timestamps reveal timing, but not always causality. In the example below, if subagent 001 finishes with seven seconds remaining before main-agent request 2&amp;#8217;s recorded start, we cannot tell whether those seven seconds represent work performed after the subagent returned or independent work already underway. AIPerf therefore preserves both constraints: request 2 waits for its recorded main-path delay and for subagent 001 to finish. This reproduces the observed timing and workload topology, but not any dependencies hidden inside the harness. These are things we hope to improve on in subsequent versions of AgentX.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ASAb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18adec21-15d9-40cd-af7d-0772da4a9af0_2048x1729.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1229" src="https://substackcdn.com/image/fetch/$s_!ASAb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18adec21-15d9-40cd-af7d-0772da4a9af0_2048x1729.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Multiple subagents can also be spawned from a single request. In the example below, subagents 001 and 002 both identify their spawning parent as main agent request 1, and then join at main agent request 2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AIPerf can also identify &amp;#8220;auxiliary&amp;#8221; requests, which are one off requests that do not share context with any other requests in the stream. These branch off of the main agent and never join back. In practical terms, these are requests like Claude Code&amp;#8217;s &amp;#8220;summarize this session&amp;#8221; requests that are unrelated to the conversations context. Another good example is Claude Code&amp;#8217;s &amp;#8220;/btw&amp;#8221; feature.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PI1j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d5f01ad-1736-496b-91b4-31672002bf47_1920x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1553" src="https://substackcdn.com/image/fetch/$s_!PI1j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d5f01ad-1736-496b-91b4-31672002bf47_1920x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The example below brings it all together. This is the type of trace snippet you&amp;#8217;d see in the actual dataset. We have five parallel streams leaving a single main agent request, separated into groups defined by what main agent request they join upon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Subagents 001 and 002 finish at 20 and 23 seconds, so the first main agent request starting after that, at 25 seconds, is their join. Subagents 003 and 004 are spawned in the same gap but run much longer, finishing at 46 and 50 seconds, so they join at 52 seconds instead. AIPerf keys each subagent by the pair (spawning request, join request), which means these four streams collapse into two branches even though all four leave the same node. The branch takes the name of its first member, which is why the join edges are labelled with subagent 001 and subagent 003.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is also the first case where the main agent overlaps its own subagents. The request at 25 seconds goes out while 003 and 004 are still running: the main agent is blocked only on the group that joins it, not on every subagent in flight.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The auxiliary chain attaches to whichever main agent request most recently preceded it, which here is the request at 52 seconds rather than the one that opened the session. That node therefore does two things at once &amp;#8212; it receives the second subagent group&amp;#8217;s join, and it spawns the one-off. Of course the auxiliary request never joins back.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g27W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f465f9-372c-4ee1-b42f-e79fa9fe352b_1677x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1778" src="https://substackcdn.com/image/fetch/$s_!g27W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f465f9-372c-4ee1-b42f-e79fa9fe352b_1677x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Further AgentX Deep Dive&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Pareto Frontiers Sweeping&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In the AgentX workload, in order to generate a Pareto frontier, we sweep over the number of concurrent Claude Code sessions against a single deployment. Since each conversation has realistic inter-turn delays and subagent usage, we get a spikier, more realistic traffic pattern. The example below is an example of replaying 40 concurrent clients against a B200 TP4 vLLM server running MiniMax M3.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2ADX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058757ed-531f-4cfb-a1ad-a06b1499ecbd_1360x612.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="612" src="https://substackcdn.com/image/fetch/$s_!2ADX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058757ed-531f-4cfb-a1ad-a06b1499ecbd_1360x612.png" width="1360" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/agentic/439239"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yoYG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43184e50-b71a-4a48-a569-98d6906cb259_2048x1167.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="830" src="https://substackcdn.com/image/fetch/$s_!yoYG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43184e50-b71a-4a48-a569-98d6906cb259_2048x1167.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-13&amp;amp;g_runid=31723588108&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;g_model=MiniMax-M3&amp;amp;i_best=0&amp;amp;i_active=b200_vllm"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A final point worth discussing is what metrics are important to consider when evaluating agentic workloads. We believe interactivity (TPS - tokens per second) and time-to-first-token (TTFT) are still important, and these are the industry standard for evaluating SLOs. When viewing AgentX results, it is &lt;/span&gt;&lt;em&gt;&lt;span&gt;extremely important &lt;/span&gt;&lt;/em&gt;&lt;span&gt;to consider both TPS and TTFT together, since there are inference optimizations that can improve one at the cost of the other.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are currently working on defining a new metric that combines TPS and TTFT in a meaningful way. This should also take into account that in agentic workloads, people often care more about the end-to-end speed at which a &lt;/span&gt;&lt;em&gt;&lt;span&gt;task &lt;/span&gt;&lt;/em&gt;&lt;span&gt;finishes rather than how fast they receive tokens or TTFT.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, it&amp;#8217;s worth mentioning that the end-to-end latency, in its current form, is now less meaningful because end-to-end latency is directly proportional to OSL. Therefore, P90 E2E latency is heavily affected by the 10% tail of longest output sequence lengths. While it can still be good to holistically compare the overall performance of certain configurations, we recommend instead looking at a combination of TPS and TTFT.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Warmup, Timing, Determinism, and Conversation Reuse&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The goal of AgentX is to benchmark systems that are already in a steady state. With agentic workloads, this means that profiling should start from a point where some context trajectories are already cached. To mimic a steady state, it is also desirable that not all conversations start at turn 0, which may cause a &amp;#8220;&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Thundering_herd_problem"&gt;&lt;span&gt;thundering herd&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; effect.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Warmup proceeds in two stages. First, AIPerf uses a fixed random seed to select a wall-clock point between 25% and 75% of each conversation. At that point, it identifies every active request stream, including the main agent and any active subagents, and sends the most recent request before the selected point for each stream. These primer requests reconstruct the conversation state at that point and are dispatched together. AIPerf waits for them to drain before continuing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VgNS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F963dce62-c49b-4deb-afee-e8dd448526c5_2048x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="940" src="https://substackcdn.com/image/fetch/$s_!VgNS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F963dce62-c49b-4deb-afee-e8dd448526c5_2048x1322.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the second phase, each replay lane is advanced by 10 additional requests to give additional opportunity for the KV cache to materialize. All warmup requests omit inter-turn delay and use a maximum output length of one token, substantially reducing warmup time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PFJR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85116f5f-be0d-405b-a5d9-6a9237b44cc3_2048x895.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="636" src="https://substackcdn.com/image/fetch/$s_!PFJR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85116f5f-be0d-405b-a5d9-6a9237b44cc3_2048x895.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!b5Nw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffef10e0d-261e-4978-8650-b10304ec04d0_2048x897.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="638" src="https://substackcdn.com/image/fetch/$s_!b5Nw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffef10e0d-261e-4978-8650-b10304ec04d0_2048x897.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When warmup is complete, profiling begins and lasts one hour. All metrics are collected strictly over this duration. For reproducibility, AIPerf accepts a seed that ensures each run samples conversations deterministically, conversations start at the same point, and that each conversation is reconstructed with the same synthetic content run-to-run. During profiling, we impose a 5 minute idle time cap on each stream, so that long inter turn gaps don&amp;#8217;t &amp;#8220;acquire&amp;#8221; a worker lane for the duration of the benchmark. We enforce this so that we can effectively run the benchmark in 1 hour. In later versions of AgentX where we include NVMe offloading, we may choose to increase this so that we can measure a longer TTL. For now, 5 minutes is reasonable as this is &lt;/span&gt;&lt;a href="https://platform.claude.com/docs/en/build-with-claude/prompt-caching#:~:text=Check%20that%20calls%20are%20made%20within%20the%20cache%20lifetime%20(5%20minutes%20by%20default)"&gt;&lt;span&gt;Anthropic&amp;#8217;s default KV cache TTL&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This level of determinism ensures that runs using the same inference engine, hardware, concurrency, and server settings are reproducible. However, because AgentX is a &lt;/span&gt;&lt;a href="https://notpeerreviewed.com/blog/tail-latency/"&gt;&lt;span&gt;closed-loop benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, different configurations will complete different numbers of requests at different rates, introducing some natural variation in the workloads they encounter. This is most noticeable at lower concurrency, where fewer requests are completed (naturally) and the workload has less opportunity to converge toward the dataset&amp;#8217;s overall distribution.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When a conversation completes during profiling, its replay lane selects another conversation from the dataset sampler. Each replay receives a unique, deterministic cache-bust marker that is prepended to every independent prefix chain, including the main-agent chain and any fresh-context subagent or one-off chains. Forked subagents inherit the marker from their parents. The marker stays the same within a replay, preserving its KV-reuse patterns, but changes between replays to prevent artificially high cache-hit rates. This also enables scenarios to run where concurrency is greater than the number of conversations in the dataset (393).&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;AgentX&amp;#8217;s Fair Speculative Decoding Methodology&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;As mentioned, the dataset is anonymized upon collection. This means that the 64-token hash blocks must be synthetically filled in before replay. AIPerf accomplishes this by deterministically sampling from a synthetic coding/tool-use token pool.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Importantly, the KV reuse patterns as well as request timing are maintained, however the synthetic request data does lead to some additional considerations. Namely, running speculative decoding methods on synthetic data may lead to the speculator rejecting/accepting an abnormal number of tokens when compared to non-synthetic data (since the speculator is not trained on synthetic data).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We talked about this shortcoming in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/188090866/multi-token-prediction-mtp"&gt;&lt;span&gt;InferenceX v2 article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and have since then improved on our methodology. We have worked closely with the community to ensure a mechanism exists in most OSS inference engines that allows users to force how many draft tokens to accept from the speculator (aka, &amp;#8220;acceptance length&amp;#8221; or &amp;#8220;acceptance rate&amp;#8221;). Then, for each (model, speculator, draft length, and thinking mode) combination, &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/tree/main/golden_al_distribution"&gt;&lt;span&gt;we collect the average AL&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on the &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/nvidia/SPEED-Bench"&gt;&lt;span&gt;SPEED-Bench&lt;/span&gt;&lt;/a&gt;&lt;span&gt; agentic coding dataset, a &amp;#8220;unified benchmark designed to evaluate speculative decoding (SD) across diverse semantic domains and realistic serving regimes.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Then, at runtime we apply these realistic Speculative decoding acceptance lengths to AgentX to ensure vendor neutral fairness.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9hPf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15f47a8-fcb3-4220-80ee-4b95bfa7b0b0_2048x1376.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="978" src="https://substackcdn.com/image/fetch/$s_!9hPf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15f47a8-fcb3-4220-80ee-4b95bfa7b0b0_2048x1376.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Exploring Agentic Workloads Detailed Telemetry Tutorial&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;AgentX required more than a new benchmark harness and dataset. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/439903"&gt;&lt;span&gt;We also spent some time rebuilding parts of the InferenceX visualization to make agentic results easier to explore and digest&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. A single AgentX datapoint represents thousands of requests across growing conversations, subagents, warmup periods, cache states, and dynamically changing in-flight load. Due to this, having a single point on a Pareto curve can hide a lot of useful information. As we have said many times - there is never just a one size fits all solution for inference serving.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hiWr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46159be7-8b5b-49d7-990f-2ce1cf1217d0_1110x687.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="687" src="https://substackcdn.com/image/fetch/$s_!hiWr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46159be7-8b5b-49d7-990f-2ce1cf1217d0_1110x687.png" width="1110" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/agentic/439903"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One of our major changes is how we construct the curves themselves. In previous versions of InferenceX, configurations with speculative decoding enabled and disabled were often displayed as separate curves. However, we are now moving away from this approach. The frontend now combines allowed inference optimizations and displays the best available curve for each model, SKU, and inference engine combination. Due to this, individual points along a single curve may use different optimization techniques and configurations, including speculative decoding, disaggregation, or KV cache offload.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our goal is to show the best production performance available from each hardware and software stack, rather than creating a separate curve for every possible combination of optimizations. However, we still expose the underlying configuration and provenance for every point. Clicking a point shows a tooltip with a detailed view showing exactly which configuration produced it, along with the run metadata, links to the publicly viewable CI provenance, and AgentX specific statistics. From there, the &amp;#8220;View charts&amp;#8221; link opens the full point-detail page with AgentX specific statistics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Jfa1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadd2d50c-a0be-4771-a00b-e6b4f1fe8502_2048x1256.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="893" src="https://substackcdn.com/image/fetch/$s_!Jfa1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadd2d50c-a0be-4771-a00b-e6b4f1fe8502_2048x1256.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The detailed point view provides a much deeper look into the selected AgentX run. It includes input and output sequence length distributions, interactivity and TTFT over time, KV cache utilization, request queue depth, prefix cache hit rate, input and decode throughput, prompt-token source breakdown, and unique input tokens over time. These metrics make it easier to understand why two points with similar aggregate throughput may behave differently throughout the replay.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The page also separates warmup and profiling data. Readers can switch between the two phases to inspect how the system behaves while its cache state is being established and during the profiling period used for the benchmark run.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9zfy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91abef64-d639-4da8-8d7e-3499be750011_1001x1541.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1541" src="https://substackcdn.com/image/fetch/$s_!9zfy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91abef64-d639-4da8-8d7e-3499be750011_1001x1541.png" width="1001" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;Points using KV cache offload are surrounded by an additional dotted circle on the main chart, which is used to distinguish points with KV offload enabled. When one of these points is selected, the detail page shows the offload type, KV offload engine, chip cache-hit rate, and CPU cache-hit rate. This makes it possible to see where KV offload contributes to the best curve without creating a separate curve for every offload configuration.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another new feature is the request timeline. This view shows the individual requests replayed during a selected AgentX run and can be organized either by conversation or by worker. The conversation view groups subagents underneath their corresponding root conversation, making it easy to see when conversations and subagents overlap. Warmup and profiling requests can also still be viewed separately.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VEvb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8fc6236-52bd-45ff-ac2e-539899c00d87_2048x1097.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="780" src="https://substackcdn.com/image/fetch/$s_!VEvb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8fc6236-52bd-45ff-ac2e-539899c00d87_2048x1097.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Each request in the timeline is clickable and links directly to the corresponding conversation and turns on the InferenceX datasets page. This allows readers to move from an aggregate point on the Pareto curve to the exact anonymized request that was replayed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/datasets"&gt;&lt;span&gt;The AgentX page&lt;/span&gt;&lt;/a&gt;&lt;span&gt; also includes a flamegraph for visualizing the structure of an individual conversation. Each bar represents one turn and is scaled relative to the largest turn in that conversation. The bar is divided into cached prefix tokens, uncached input tokens, and generated output tokens. This gives a visual representation of how the context grows throughout a conversation and how much of each request can be reused from KV cache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qm5t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0e991d9-6ab6-43e7-9cc9-93ac9ca5b7bd_2048x879.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="625" src="https://substackcdn.com/image/fetch/$s_!qm5t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0e991d9-6ab6-43e7-9cc9-93ac9ca5b7bd_2048x879.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;InferenceX/AgentX Future Next Steps&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We are excited to continue our goal of making AgentX the most realistic and representative benchmark. For the foreseeable future, we will continue making &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/aiperf/releases"&gt;&lt;span&gt;small bug fixes to the current v1.0.x harness&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, but have plans to make bigger changes to the v1.1 harness. Submissions for each distinct model will always run the same minor version to ensure all results are comparable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a fast follow, we will add SSD/NVMe KV offloading. This will allow an even larger KV cache working set size than DRAM allows, which will allow the high throughput left side of the pareto curve.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will also capture a larger, more diverse, and more recent dataset of agentic traces across a wider variety of models and harnesses. Rather than representing each request as one contiguous list of hash IDs, the next dataset will preserve the boundaries between system instructions, user and assistant messages, tool calls, and tool results. This will allow AgentX to evaluate workload-aware serving techniques that use information available to the agent harness but normally hidden from the inference engine. For example, a router could direct low-reuse tool traffic to dedicated prefill workers, retain an agent&amp;#8217;s prefix during a long tool call, or prefetch and share prefixes when subagents fork. The current format preserves request sizes and KV-reuse patterns, but it lacks the structure needed to evaluate these optimizations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/issues/27574"&gt;&lt;span&gt;SGLang RFC&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by Ishan provides a concrete example of why this richer trace structure matters. It proposes a router-initiated hint interface that uses information such as session lifecycles, shared-prefix boundaries, tool-call duration, and subagent state to tell the engine when KV should be shared, prefetched, demoted, pinned, or retained. Capturing this structure would allow future AgentX versions to evaluate these workload-aware cache policies instead of only replaying flat token prefixes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AXto!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36899201-da3b-42ec-888f-2443c63980aa_2048x1260.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!AXto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36899201-da3b-42ec-888f-2443c63980aa_2048x1260.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/sgl-project/sglang/issues/27574"&gt;GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Lastly, we are capturing fine-grained and coarse grain power telemetry data to have an even more accurate view of the efficiency of the Joules per intelligence of different software and hardware stacks.&lt;/p&gt;&lt;p&gt;We have so much data and so many possible visualizations. Please let us know any visualizations you would like to see, as well as any more general feature requests!&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX-app/issues/new/choose"&gt;&lt;span&gt;Suggest Frontend Feature!&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Performance Throughout the Model Lifecycle&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In the following sections, we turn to our historical single turn data (8k1k), which covers each model from launch day through the point we retired it from active testing. There are strong results here from both Nvidia and AMD, including several fixed sequence length configurations where MI355X comes out ahead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AgentX better represents today&amp;#8217;s agentic inference workloads. However, the historical fixed-sequence InferenceX results still remain useful for tracking the performance over time. Workloads such as 8k1k and 1k1k strip away most session-level behavior, including prefix reuse, persistent KV cache state, and routing affinity. This makes them less representative of current production traffic, but still useful for tracking how inference performance improves as software support matures.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;Since the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/claude-code-is-the-inflection-point"&gt;&lt;span&gt;Claude Code inflection point&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in November 2025, long-context, multi-turn agentic workloads have grown rapidly. They now dominate traffic for production inferencing. In April 2026, OpenAI&amp;#8217;s Enterprise agentic spending overtook ChatGPT spending.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Agentic workflows have decisively taken the baton. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Today, we announce AgentX 1.0 - the world&amp;#8217;s first fully open source, multi-turn agentic coding inference benchmark at 1 million context, released under Apache 2.0. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;Our full dashboard is available here.&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EW3z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864512bf-1feb-445d-a03a-bbf9f4f1b791_1928x1234.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="932" src="https://substackcdn.com/image/fetch/$s_!EW3z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864512bf-1feb-445d-a03a-bbf9f4f1b791_1928x1234.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://openai.com/signals/enterprise-data/"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In the past most measured performance based on fixed sequence length prefill and decode workloads, but this is an inaccurate way to measure workloads. Reality is multi-turn, long context, high prefill reuse, with sub agent bursts, KVCache offload, and numerous tool calls. As such we aimed to build the correct way for the industry to measure AI hardware and software performance.&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;We have spent more than $3M building this dataset. Today, we open source everything.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; InferenceXv3 implements AgentX, a new realistic scenario in addition to the existing &amp;#8220;fixed sequence length&amp;#8221; scenarios (8k1k, 1k1k, 1k8k). It improves the benchmark scenarios by using agentic coding traffic instead of the previous single-turn traffic of 8k input and 1k output tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The full matrix runs on ~2MW of continuously operated compute across over 1000 chips spanning a wide range of SKUs, featuring the MI355X, GB300 NVL72, GB200 NVL72, B300, B200, MI325, MI300X, H200, and RTX Pro Servers. Rubin arrives later this month, and TPUs and Mi455X UALoE72 arrive later this year.  &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Please drop a star if you found our free open source work valuable.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is great to see amazing performance from both NVIDIA and AMD on agentic workloads. NVIDIA does very good on a lot of frontier models while AMD also does well on some frontier models for specific comparsions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PGMD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a065d23-de1d-4e2f-a3ae-7af724409c9d_1350x653.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="653" src="https://substackcdn.com/image/fetch/$s_!PGMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a065d23-de1d-4e2f-a3ae-7af724409c9d_1350x653.png" width="1350" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;SemiAnalysis GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The most valuable thing AgentX produced in its first months was not the initial results. It was the massive industry impact the benchmark is already having.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; Over 70+ upstream PRs&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for optimizing real world production agentic workloads across vLLM, SGLang, TensorRT-LLM, ATOM, AITER, Dynamo, LMCache, and Mooncake, uses AgentX as the north star benchmark proxy. Most of these optimization improvements are transferable to production traffic. We deep dive into each of these optimizations later in the article.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rfhK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193e605e-579b-4ed2-9637-5bfdbee5cf71_1286x1515.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1515" src="https://substackcdn.com/image/fetch/$s_!rfhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193e605e-579b-4ed2-9637-5bfdbee5cf71_1286x1515.png" width="1286" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Open source is a core principle for InferenceX and thus, we open more of the stack than most people who use that word. That includes an open frontend, a public database served through an easily consumable REST API &lt;/span&gt;&lt;strong&gt;&lt;span&gt;that multiple tier 1 AI lab&amp;#8217;s capacity planning teams already consume&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, public GitHub Actions CI provenance, &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/440193?i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;view=logs"&gt;&lt;span&gt;logs&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and accuracy validation on every single point. Crucially, our benchmark configs mainly track &lt;/span&gt;&lt;a href="http://recipes.vllm.ai"&gt;&lt;span&gt;recipes.vllm.ai&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://docs.sglang.io/cookbook/intro"&gt;&lt;span&gt;SGLang cookbook&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on upstream images such that we are measuring the performance actual customers are experiencing instead of measuring benchmax&amp;#8217;ed images.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In three to four weeks, we will release an AgentX update article. It will cover further optimizations to agentic workloads, plus updated performance results from AMD and Nvidia. It is important to understand that the profile of agentic workloads is updating fast. InferenceX will continue to move swiftly to benchmark the relevant workloads.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;InferenceX is 100% committed to being open-source - this would not be possible without the contributions and support from our OSS partners. We would like to thank the following people that have made massive contributions to the AgentX 1.0 release:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Inferact/vLLM&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Roger Wang, Yifan Qiao, Simon Mo, Jeff Ma, and many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;RedHat/llm-d&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Michael Goin, Robert Shaw, Tyler Michael Smith&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;RadixArk/SGLang&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Baizhou Zhang, Yuwei An, Mingyi Lu, and many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;LMCache/TensorMesh&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Samuel Shen&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Weka&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Callan Fox, ValB&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;MoonCake Maintainers:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Teng Ma, Xu Wenjie, Ke Yang&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;AMD&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Thomas Wang, HaiShaw, Andy Luo, Seungrok Jung, Chun Fang, Parth Panchal, Bill He, Theresa Shan, Hongxia, Fangzhou, Gilbert Lei, Yanfei Wang, Duyi Wang, Peng Sun, Lingpeng Jin, Simon Danielsson, Xiaohu Guo, Haichen Zhang, Chang Liu, Doug Lehr, Poovaiah Palangappa, and many others in the AMD Shanghai Development Centre&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Nvidia&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Xin Li, Anthony Casagrande, Kedar Potdar, Ankur Singh, Ishani Dhanani, Nick Comly, Nvidia Shanghai TensorRT-LLM team, and many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Anthropic staff, for promptly fixing multiple bugs that made implementing AgentX possible&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;GitHub:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Austen Stone for helping with reliability of GitHub Actions that AgentX uses&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;And many others&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;In addition, we are thankful to all who support our open source InferenceX initiative, including Meta, Microsoft, Oracle, OpenAI, MiniMax, Moonshot Kimi, Alibaba Qwen, and Zhipu GLM.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4ptj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97525a9-216a-4624-91c6-373ee7a3850e_1123x437.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="437" src="https://substackcdn.com/image/fetch/$s_!4ptj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97525a9-216a-4624-91c6-373ee7a3850e_1123x437.png" width="1123" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/quotes"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;A Brief Overview of Agentic Workloads&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At a high level, an agentic workload is characterized by four elements:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Multi-turn:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; a session includes many user / assistant interactions (tens or hundreds) compared to a handful in a chatbot scenario. Multi-turn, long context, high prefill reuse, with sub agent bursts and numerous tool calls.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Long context:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; system prompts, tool definitions, and the large number of turns make context accumulate quickly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;High prefix reuse:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; since the conversation progresses linearly, where output from turn n-1 is concatenated to turn n (typically), most context can be served from KV cache rather than recomputed (this depends on amount of storage available to store KV tensors). As n grows, the ratio of cached input relative to uncached typically tends towards 1.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Sub-agent bursts: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;a session launches multiple short-lived sub-agents with fresh context, which create bursty KVCache patterns.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t24X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72b64a02-8a1f-4a19-929c-85c0ed4803cd_2048x909.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!t24X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72b64a02-8a1f-4a19-929c-85c0ed4803cd_2048x909.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: DeepSeek, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Considering the characteristics above, benchmarking these workloads is fundamentally different from the existing fixed sequence length benchmarks. Namely, agentic inference is inherently a &lt;/span&gt;&lt;em&gt;&lt;span&gt;systems problem&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. Because of extremely high prefix reuse, KV tensors must be efficiently transferred across nodes/ranks (NIXL, MORI-IO, Mooncake). Additionally, different conversations should be routed to different nodes/ranks depending on where the appropriate prefix resides in order to maximize cache hit rate (LLM-d, Dynamo, vLLM/SGLang router). Long context conversations stress the HBM capacity for KV cache and necessitate offloading KV tensors to different tiers of memory (DRAM, SSD), a process that needs to be carried out efficiently (Mooncake Store, LMCache, vLLM Simple Offloading, SGLang HiCache).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is in contrast to fixed sequence length, single turn workloads where prefix reuse is not relevant and inference performance is largely reflective of baseline chip/kernel performance. This is not to say that the plethora of fixed sequence length data on InferenceX is not important. In fact, stripping away the complexities of agentic serving shows clearly how low-level inference performance optimizations are progressing. It also provides an important baseline for AgentX results.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In an attempt to make the AgentX workloads as realistic as possible, we collected an initial corpus of &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126"&gt;&lt;span&gt;393 internal SemiAnalysis anonymous Claude Code traces&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to replay. To anonymize the content while keeping the original prefix reuse pattern, we use a method similar to the &lt;/span&gt;&lt;a href="https://github.com/alibaba-edu/qwen-bailian-usagetraces-anon"&gt;&lt;span&gt;Qwen-Bailian dataset&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, one of the earliest corpora of production traces. We then use &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/aiperf"&gt;&lt;span&gt;AIPerf&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to reconstruct the traces according to the original schedule of requests at varying levels of concurrent clients.  We worked with Anthropic to ship two Claude Code features to make the AgentX dataset possible. We thank the Anthropic staff for their help.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code/issues/49207"&gt;&lt;span&gt;https://github.com/anthropics/claude-code/issues/49207&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code/issues/66761"&gt;&lt;span&gt;https://github.com/anthropics/claude-code/issues/66761&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;This brief introduction to agentic workloads should give the reader enough context to understand the results in the next section. In a later section, we will provide a deeper technical dive into the methodology, replay harness, and dataset.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Agentic Coding Inference Performance&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;When looking at inference coding performance, OpenAI, Anthropic, xAI, and other frontier labs focus on three things. They look at performance per dollar versus interactivity (TPOT), TTFT (time to first token), and overall end-to-end task completion. Performance per megawatt is also important, considering that terrestrial datacenter power is a critical constraint (money is a social construct and it appears the labs have an unlimited supply, but power is physically hard to come by in this day and age). &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Our datacenter model has estimates of quarter by quarter build up of power demand and supply.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this section, we highlight some of the overall agentic performance themes across frontier models. We strongly encourage the reader to use this as a guide to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;investigate the results for themselves&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;All of the data is open source and the community has the opportunity to draw their own conclusions on the current state of real world inference performance.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;DeepSeek V4 Pro 0813&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;DeepSeek V4 Pro 0813 is an ultra popular frontier open weight model from China. It has ~1.6 Trillion parameters with 49 Billion active parameters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As of August 21, the following graph shows the best performance per SKU for all submissions, normalized by total cost of ownership (TCO).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The ISL/OSL distribution of &lt;/span&gt;&lt;em&gt;&lt;span&gt;all&lt;/span&gt;&lt;/em&gt;&lt;span&gt; requests among all DeepSeek v4 runs was as follows: ISL p50=88k, p90=272k, p95=404k, p99=675k and OSL p50=413, p90=2.2k, p95=3.7k, p99=8.6k.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JDdn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8337140-b620-476a-abd3-59d6cc447d30_2048x1256.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="893" src="https://substackcdn.com/image/fetch/$s_!JDdn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8337140-b620-476a-abd3-59d6cc447d30_2048x1256.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FVP4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5aee8b4-d11a-48d8-823c-1ca53412e689_2048x1253.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="891" src="https://substackcdn.com/image/fetch/$s_!FVP4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5aee8b4-d11a-48d8-823c-1ca53412e689_2048x1253.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;i_seq=agentic-traces&amp;amp;g_runid=32433563482&amp;amp;i_xmode=interactivity&amp;amp;i_label=0&amp;amp;i_e2e_xmetric="&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In general, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;it is important to consider both tokens per second per user&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (TPS - also known as interactivity) and TTFT, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;since these often come at the expense of one another&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. For instance, in the graph above, some SKUs achieve very high throughput at decent interactivity, however TTFT is severely degraded. What is an &amp;#8220;acceptable&amp;#8221; p90 TTFT varies heavily depending on the application. For most production systems serving agentic workloads, you can expect p90 TTFT to be anywhere from 200-5,000ms. Anything over 5-10s is pushing the boundary of what can be considered &amp;#8220;online inference.&amp;#8221; There are still practical applications for the ultra-high throughput sector of the curve, where latency does not matter and peak system utilization is desirable (batch processing, &lt;/span&gt;&lt;em&gt;&lt;span&gt;very&lt;/span&gt;&lt;/em&gt;&lt;span&gt; long running agents, etc).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of single node performance, MI355X open-source performance (vLLM) trails behind vendor specific ATOM (AMDs equivalent of TensorRT LLM). We think it&amp;#8217;s great that AMD is pushing the frontier quickly with ATOM, however we encourage them to make a higher priority of upstreaming these improvements into vLLM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nim3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd96697d9-bf24-4093-a7db-16d27a52aa08_2048x1200.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="853" src="https://substackcdn.com/image/fetch/$s_!nim3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd96697d9-bf24-4093-a7db-16d27a52aa08_2048x1200.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s distributed inference (DI) team has made great progress on 8k1k scenarios over the past six months. The team still has some way to go before DI is a viable solution for realistic workloads. In terms of throughput per GPU vs. interactivity, we observe the 1xDEP8+1xDEP8 disagg config is only able to realize slight performance gains in the high throughput scenarios, while actually performing worse in low latency scenarios.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To make matters worse, any increase in throughput at the middle-to-high interactivity configs is overshadowed by the significant spike in p90 TTFT. One of the reasons for this is the use of SGLang&amp;#8217;s --enable-prefill-delayer argument above concurrency 64, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/blob/v0.5.17/python/sglang/srt/server_args.py#L3180-L3194"&gt;&lt;span&gt;which postpones prefill admission so DP ranks can form fuller batches&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (for up to 30 forward passes). Additionally, these points also increase chunked prefill size from 8,192 to 65,536.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hqQ7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81475383-510e-4823-9373-751b8a3722e3_2048x1202.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="855" src="https://substackcdn.com/image/fetch/$s_!hqQ7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81475383-510e-4823-9373-751b8a3722e3_2048x1202.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EsdQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6254047b-173b-4b1b-9f43-2057eb720b05_2048x1200.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="853" src="https://substackcdn.com/image/fetch/$s_!EsdQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6254047b-173b-4b1b-9f43-2057eb720b05_2048x1200.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_active=mi355x_atom%2Cmi355x_mori-sglang&amp;amp;i_vendor=AMD&amp;amp;i_linelabel=0&amp;amp;i_metric=y_tpPerGpu"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On e2e latency, ATOM MI355X beats B200 vLLM (it does not beat B300 or B200 SGLang though). The issue with this is that most AI labs in China or the west do not want to use ATOM in production besides 1 small advertising business unit at Alibaba Corp due to tons of missing features. The main Qwen LLM org at baba does not use ATOM in production.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xGRQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8d915c0-c962-4277-b62c-a1b08b8e7179_1924x1262.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="955" src="https://substackcdn.com/image/fetch/$s_!xGRQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8d915c0-c962-4277-b62c-a1b08b8e7179_1924x1262.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Before August 21, 2026, AMD&amp;#8217;s MI355X strong SGLang development team was matching B200 vLLM on performance per dollar on end to end (e2e) performance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_s4G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F360a051c-6117-4860-a704-b50198f01521_1978x1246.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="917" src="https://substackcdn.com/image/fetch/$s_!_s4G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F360a051c-6117-4860-a704-b50198f01521_1978x1246.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, B300 vLLM and B200 SGLang still beat AMD&amp;#8217;s MI355X.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6j5N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec4708c-148e-42ee-a7c5-3bf4d9cbdfaa_1938x1246.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="936" src="https://substackcdn.com/image/fetch/$s_!6j5N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec4708c-148e-42ee-a7c5-3bf4d9cbdfaa_1938x1246.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;After August 21, 2026, due to optimizations in vLLM from Inferact and Nvidia, the performance per dollar of Nvidia&amp;#8217;s B200 has surpassed that of the MI355X. This is a close race and we are excited to see the performance optimizations over the next couple weeks. We will be publishing an AgentX update article very soon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/issues/52911"&gt;&lt;span&gt;AMD has listed their DeepSeekv4 vLLM optimization and includes lots of exciting things that they can do to improve their performance&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Y8fs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9302da60-5bc1-46e1-9392-74e912b5c200_2024x1236.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="889" src="https://substackcdn.com/image/fetch/$s_!Y8fs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9302da60-5bc1-46e1-9392-74e912b5c200_2024x1236.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Now turning to Nvidia. Their most competitive solutions are GB300 Dynamo TRTLLM and GB200 Dynamo vLLM. Both configs rely on PD disagg to achieve high throughput at reasonable interactivity. Additionally, GB300 configs employ wide-EP (DEP32) decode instances in order to achieve higher throughput at the middle of the frontier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Note that the 2xDEP8+1xDEP12 GB200 point is significantly closer to the 3xDEP8+1xDEP16 GB300 point in terms of TPS compared to TTFT. Again, TTFT is, in general, more sensitive to the &amp;#8220;spikiness&amp;#8221; of the workload. Since the GB300 point achieves much higher overall concurrency, it incurs more subagent traffic and hence more cold prefills. We can see this in the TTFT chart for the point:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g7xN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96f9c9f9-eb86-4f87-8332-c85f23040836_2048x916.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="651" src="https://substackcdn.com/image/fetch/$s_!g7xN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96f9c9f9-eb86-4f87-8332-c85f23040836_2048x916.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9DNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff79e53f5-c8ff-4ed0-a8a3-c05b9e0b4bab_2048x1191.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="847" src="https://substackcdn.com/image/fetch/$s_!9DNn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff79e53f5-c8ff-4ed0-a8a3-c05b9e0b4bab_2048x1191.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!EH7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c6225-5816-493e-839d-e4f539e5b1c4_2048x1215.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="864" src="https://substackcdn.com/image/fetch/$s_!EH7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c6225-5816-493e-839d-e4f539e5b1c4_2048x1215.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_metric=y_tpPerGpu&amp;amp;i_xmode=interactivity&amp;amp;i_linelabel=0&amp;amp;i_best=0&amp;amp;i_active=gb200_dynamo-vllm%2Cgb300_dynamo-trt"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When normalized by TCO, B300 vLLM versus B200 vLLM aggregated performance is quite similar. The main difference being that B300 can &amp;#8220;squeeze&amp;#8221; out extra throughput, given its 50% increase in HBM capacity over B200.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Tnx1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F939b9197-321d-4869-ba13-f0b800343b7b_2048x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="924" src="https://substackcdn.com/image/fetch/$s_!Tnx1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F939b9197-321d-4869-ba13-f0b800343b7b_2048x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_active=b200_vllm%2Cb300_vllm"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We can further visualize this difference using our server metric visualizations, which are new to AgentX.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Under the load of 384 concurrent agentic traces, B300 vLLM DEP8 w/ 3TB DRAM via vLLM simple offloading achieved a 91% HBM cache hit rate with an additional 1.36% DRAM cache hit rate. This is because the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;HBM KV cache working set size&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is approximately 43M tokens with this configuration, and the load barely exceeds this number of tokens in flight at any given time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z3WJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7ff2d61-bdab-4c2f-96a0-ec5a52469489_2048x884.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="628" src="https://substackcdn.com/image/fetch/$s_!Z3WJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7ff2d61-bdab-4c2f-96a0-ec5a52469489_2048x884.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VIDn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff86888c4-c1a7-47b0-a580-d1a74876cb9c_2048x898.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="638" src="https://substackcdn.com/image/fetch/$s_!VIDn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff86888c4-c1a7-47b0-a580-d1a74876cb9c_2048x898.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/agentic/439522"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With B200 concurrency 196 (all other parameters stay the same), we see only 73% HBM cache hit rate and rely more heavily on DRAM with an offload cache hit rate of nearly 20%. We observe that the HBM KV cache working set size is 22M tokens, roughly half that of B300.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DRAM KV offloading is typically implemented as a write-through cache, meaning every prefix written to the HBM cache is also written to the DRAM cache. Therefore, it is most effective when the amount of DRAM available for offloading is significantly bigger (a multiple of 1.5-3) than HBM KV cache capacity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pmXE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61956823-2928-44ec-b00c-8bb5581b8a13_2048x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="634" src="https://substackcdn.com/image/fetch/$s_!pmXE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61956823-2928-44ec-b00c-8bb5581b8a13_2048x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gbwY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a7a7c7-7918-459c-a4e0-f7fc1edca816_2048x887.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="631" src="https://substackcdn.com/image/fetch/$s_!gbwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a7a7c7-7918-459c-a4e0-f7fc1edca816_2048x887.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/439967"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;H200 SGLang FP8 is able to serve DeepSeek v4 at low concurrency, and is even competitive with B200/MI355X SGLang from a perf/$ standpoint. However, it cannot compete with the newer SKUs in high throughput scenarios due to lack of HBM.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CM8u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770b205f-12a1-4d34-81a7-fb235742d005_2048x1305.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="928" src="https://substackcdn.com/image/fetch/$s_!CM8u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770b205f-12a1-4d34-81a7-fb235742d005_2048x1305.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_active=b200_sglang%2Ch200_dynamo-sglang%2Cmi355x_sglang"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Furthermore, the reliance on DRAM KV offloading at higher concurrencies leads to unreasonable latency as the number of users scales.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iOYr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91dfd9ca-d13d-43e9-a57e-3be0fcc4a5cf_2048x1315.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="935" src="https://substackcdn.com/image/fetch/$s_!iOYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91dfd9ca-d13d-43e9-a57e-3be0fcc4a5cf_2048x1315.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_active=h200_dynamo-sglang&amp;amp;i_optimal=0"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Overall, MI355X performs decently well compared to its main competitors B200 and B300. Performance is most comparable at the lower throughput / lower latency parts of the curve, where only tensor parallelism and more rudimentary kernels are deployed. AMD needs to work on optimizing DEP kernels on MI355X to be more competitive in the high throughput scenarios, especially given the 1.5x HBM over B200.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mcaw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba6532b3-aa46-4477-be84-8979b1cce35d_2048x1297.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="922" src="https://substackcdn.com/image/fetch/$s_!Mcaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba6532b3-aa46-4477-be84-8979b1cce35d_2048x1297.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!H-lN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cfd340-d61b-46c4-8d87-e081d937b80c_2048x1303.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!H-lN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cfd340-d61b-46c4-8d87-e081d937b80c_2048x1303.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-21&amp;amp;g_runid=32433563482&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_active=b200_vllm%2Cb300_vllm%2Cmi355x_atom%2Cmi355x_vllm&amp;amp;i_label=0"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Kimi K3 2.8 Trillion Parameters&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Kimi K3 is another frontier open weight model from China that has 2.8 Trillion total parameters. This is in the same range in terms of number of parameters vs Claude&amp;#8217;s Mythos/Fable5 model architecture. We use this as an open weights proxy model architecture. The Kimi K3 model is so big that it does not even fit on a single B200 server and requires using wide EP/wide TP or pipeline parallelism in order to fit all of the weights. On vLLM, speculation decoding/DSpark did not compose at all with pipeline parallelism until very recently, so B200 performance on Kimi K3 was horrible and was getting mogged by MI355X since B200 was unable to use speculative decoding with pipeline parallelism.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;MI355X vLLM worked out of the box on day 0 for short context single turn workloads, but for long context multi turn workloads, MI355X AITER and Triton kernels suffered a massive panic attack on the first week and upstream vLLM was completely unusable for MI355X on realistic workloads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!W5x3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1440922-e1ea-4a74-ab62-f1263ae31ca0_2048x1473.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1047" src="https://substackcdn.com/image/fetch/$s_!W5x3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1440922-e1ea-4a74-ab62-f1263ae31ca0_2048x1473.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hopper struggles to serve the AgentX workload for Kimi K3 since Kimi is a massive model and because vLLM maintainers/NVIDIA have not been focusing on optimizing Hopper for Kimi K3. Hopper (SM90) requires custom tuned kernels for K3 along with TP32/EP32 tuned shapes for serving at high interactivity.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xHtW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce2b58fc-b7b7-46c2-ae05-baa14419d233_2048x1459.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1037" src="https://substackcdn.com/image/fetch/$s_!xHtW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce2b58fc-b7b7-46c2-ae05-baa14419d233_2048x1459.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We think it is great that AMD is quickly pushing K3 performance forward with ATOM. However, we encourage AMD to further prioritize upstreaming these improvements into vLLM. ATOM is currently AMD's best-performing engine, but vLLM remains the more relevant comparison for customers using an upstream open-source serving stack.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lDUZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80eb810f-a9ea-4f01-a41b-e19e3409ce74_2048x1459.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1037" src="https://substackcdn.com/image/fetch/$s_!lDUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80eb810f-a9ea-4f01-a41b-e19e3409ce74_2048x1459.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rIV5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ded698-c86e-411b-8e7c-f9bb125487b7_2048x1459.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1037" src="https://substackcdn.com/image/fetch/$s_!rIV5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ded698-c86e-411b-8e7c-f9bb125487b7_2048x1459.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On part of the curve between 40 to 60 second e2e latency, MI355X ATOM beats even GB300 NVL72 vLLM on performance per dollar.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kn-R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27a3f80e-7959-4651-90eb-f498989908a3_1934x1284.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="967" src="https://substackcdn.com/image/fetch/$s_!kn-R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27a3f80e-7959-4651-90eb-f498989908a3_1934x1284.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;MiniMax M3&lt;/h2&gt;&lt;p&gt;Nvidia absolutely destroys all competitors on MiniMax M3 432B. AMD software performance is horrible on MiniMax especially at high context length due to AMD engineering leadership incentivizing tuning only for short context single turn workloads and ignoring long context multi turn workloads.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eFzt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5396c3d-1823-4818-83de-d89cd8242451_2048x1286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="914" src="https://substackcdn.com/image/fetch/$s_!eFzt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5396c3d-1823-4818-83de-d89cd8242451_2048x1286.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SVVs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5179bd8e-c147-46c8-aeb4-b347049b28a7_2048x1303.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!SVVs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5179bd8e-c147-46c8-aeb4-b347049b28a7_2048x1303.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=MiniMax-M3&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;B300 TRT-LLM TP2 owns the M3 crown. There is a lack of DP-attention points as it is non-optimal on M3 since KV cache locality becomes a routing constraint. This is further explained later on. For GB200 at concurrency 40, TP4/EP4/DPA gets 0.60x the throughput of plain TP4 at a &amp;gt;3x p90 TTFT. At concurrency 32 it hits 28.8% of cache vs 96.0% theoretical. Each DP rank owns a private quarter of the pool; a 300k-token session re-landing on the wrong rank recomputes everything. No decode config with EP appears on the M3 frontier, likely as the concurrency is not high enough to balance the loads on all experts.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;B200/B300 also completely beat their rack-scale counterparts for MiniMax M3 on TCO-normalized throughput. On AgentX, the rack-scale advantage isn&amp;#8217;t as pronounced as the Dynamo router can become the bottleneck because its work scales with the number and length of live prefixes. Optimizations on this and the several fixes which moved throughput by double-digit percentages are discussed later on in the article. Also, there are no well tuned kernels for wideEP, wide DCP, nor wide TP. And since GB200/300 have higher TCO so without wide ep/wide DCP, it shows up as worse perf per TCO.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With that being said, we also expect further optimizations from Nvidia on their rack scale solutions for this SKU. We will make sure to highlight these in our follow up article.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;No submission currently runs context parallelism, despite P90 ISL of 317k. With 4 KV heads, DCP caps at 2 even at TP8, and the MSA indexer needs its own context-parallel handling (a vLLM PR is opened), see the Context Parallelism section for more discussion on this topic.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TM89!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faec34e63-34fd-4c42-87a1-97e5c14661ed_2048x1302.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="926" src="https://substackcdn.com/image/fetch/$s_!TM89!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faec34e63-34fd-4c42-87a1-97e5c14661ed_2048x1302.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TCJq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b40624a-223c-44db-a403-0be563b2af82_2048x1298.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="923" src="https://substackcdn.com/image/fetch/$s_!TCJq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b40624a-223c-44db-a403-0be563b2af82_2048x1298.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=MiniMax-M3&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_best=0&amp;amp;i_hc=1&amp;amp;i_active=mi355x_vllm"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;All of Nvidia&amp;#8217;s Pareto optimal points include KV offload above concurrency 20, but for AMD none of the Pareto optimal points use KV offload to DRAM. AMD also uses KV offload less than Nvidia on the other models. The reason for this is that GPU-to-CPU transfers for CPU KVCache offloading are highly inefficient on AMD vLLM. The hipMemcpyBatchAsync API was missing until ROCm 7.14. Without hipMemcpyBatchAsync, vLLM&amp;#8217;s native Simple CPUOffloading requires doing serialized Memcpy from CPU to GPU instead of batching them into larger message sizes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is also worth mentioning that vLLM performance is very comparable to TRT-LLM in terms of throughput versus p90 interactivity. Additionally, vLLM performs better in terms of throughput versus p90 TTFT.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9ESj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68f7ad68-3886-4980-9b01-390582728e47_2048x1292.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="919" src="https://substackcdn.com/image/fetch/$s_!9ESj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68f7ad68-3886-4980-9b01-390582728e47_2048x1292.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mD8-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729199d9-66c0-42b5-b1b8-f228503c1585_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!mD8-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729199d9-66c0-42b5-b1b8-f228503c1585_2048x1289.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=MiniMax-M3&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_active=b200_trt%2Cb200_vllm%2Cb300_trt%2Cb300_vllm&amp;amp;i_hc=1&amp;amp;i_label=0"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Qwen3.5 397B&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Qwen3.5 397B uses GatedDeltaNet instead of vanilla attention for every couple of layers. GatedDeltaNet was invented at MIT/Nvidia Research and has a theoretically constant state storage requirement instead of vanilla attention&amp;#8217;s linear storage requirements. This means that it has lower storage requirements compared to an equivalent dense attention model. Unlike end to end model training research like the Nemotron disaster,  Nvidia Research is great at fundamental research like GDN and LatentMoE which is used on frontier models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Note that this model&amp;#8217;s native max context length is 262k tokens, so we use the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/agentx/cc-traces-weka-062126-256k"&gt;&lt;span&gt;truncated dataset&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This simulates a workload on a smaller model where the max context length would be frequently reached with many compactions, how users would actually use this model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Qwen3.5 397B is a strong hold for NVIDIA on SGLang versus SGLang, with over 20x better performance at 90 tok/s/user. There is currently zero competition from AMD for Qwen3.5 SGLang.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Tgnw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc92da639-dcff-4e39-b9b5-49742677e93c_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!Tgnw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc92da639-dcff-4e39-b9b5-49742677e93c_2048x1289.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4h-m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519a7cd0-ac51-4a5c-9c45-ba7c41f6d058_2048x1300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="924" src="https://substackcdn.com/image/fetch/$s_!4h-m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519a7cd0-ac51-4a5c-9c45-ba7c41f6d058_2048x1300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=Qwen-3.5-397B-A17B&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_hc=1"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Again, we observe Nvidia over optimizing for interactivity at the cost of TTFT, especially in the case of TRT-LLM. In the graph above, all of the Nvidia SGLang submissions have much lower p90 TTFT when compared to TRT-LLM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Compared to H100, on Qwen3.5, B300 FP4 has 12x better performance per dollar.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9bPR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2cf6c7-aa58-4a76-a0a2-ee0457d9243c_2048x1298.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="923" src="https://substackcdn.com/image/fetch/$s_!9bPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2cf6c7-aa58-4a76-a0a2-ee0457d9243c_2048x1298.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=Qwen-3.5-397B-A17B&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;i_hc=1&amp;amp;i_best=0&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_active=b300_sglang%2Ch100_sglang%2Ch200_sglang"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;GLM 5.3&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;GLM 5.3 builds on top of GLM5.2 744B with additional post training. This is a frontier level model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In terms of OSS SGLang performance, this is another model where Nvidia again beats AMD on realistic agentic inference performance. At 150 tok/s/user p90 interactivity, Nvidia has up to 5x better cost efficiency, With the current state of AMD software, at 150 tok/s/user, Nvidia&amp;#8217;s performance advantage is so great that even if the competitor chip hardware was sold for free (but with providers still of course paying for datacenter hosting and power and other operating costs), cost per token would still be cheaper when using Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We look forward to AMD&amp;#8217;s performance optimizations in the upcoming AgentX update article in a couple of weeks, which will also include some other very exciting results.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5PHJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85bdb45-792c-4330-9745-674b38b03425_2048x1289.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="916" src="https://substackcdn.com/image/fetch/$s_!5PHJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85bdb45-792c-4330-9745-674b38b03425_2048x1289.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!10XC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a21d140-b588-4b33-941d-7c8090ac42b5_2048x1286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="914" src="https://substackcdn.com/image/fetch/$s_!10XC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a21d140-b588-4b33-941d-7c8090ac42b5_2048x1286.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference?g_model=GLM-5.2&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=ttft&amp;amp;i_best=0&amp;amp;i_prec=fp4&amp;amp;i_active=b200_sglang%2Cb300_sglang%2Cgb200_dynamo-sglang%2Cgb300_dynamo-trt%2Cmi355x_atom%2Cmi355x_sglang"&gt;&lt;span&gt;SemiAnalysis InferenceX&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When looking at ATOM, AMD has better performance per dollar than GB300 NVL72 SGLang and even TRTLLM for some parts of the range of p90 E2E Normalized Interactivity. Great work to the AMD team on these results. Again, we look forward to AMD porting over these optimizations to SGLang. We also are looking forward to NVIDIA quickly optimizing GB300 NVL72 in the coming weeks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rzqP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9337ed5b-a320-49f7-b31b-cc4b5751e0ff_2048x1290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="917" src="https://substackcdn.com/image/fetch/$s_!rzqP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9337ed5b-a320-49f7-b31b-cc4b5751e0ff_2048x1290.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We take a moment to introduce an experimental metric which we call &lt;/span&gt;&lt;strong&gt;&lt;span&gt;E2E Normalized Interactivity&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. At a high level, this metric is supposed to evaluate how fast a user experiences responsiveness when considering both TTFT as well as TPS. It is defined by OSL/E2EL. Substituting the fact that E2EL equals TTFT plus OSL times TPOT (in reality only OSL - 1 tokens are decoded), we get the following equation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is effectively interactivity (the 1/TPOT portion) plus an additional penalty proportional to TTFT.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vo0y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e472a49-d228-4d8d-876a-6bc0d59f9d97_746x594.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="594" src="https://substackcdn.com/image/fetch/$s_!vo0y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e472a49-d228-4d8d-876a-6bc0d59f9d97_746x594.png" width="746" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Please note that this metric is experimental and is not perfect. For instance, it heavily penalizes high TTFT and doesn&amp;#8217;t capture all the nuances of certain optimizations such as PD disaggregation. All submissions for AgentX v1.0 optimize for both regular interactivity and TTFT separately. We will continue working on new north star metrics that reflect all nuances of modern agentic inference.&lt;/p&gt;&lt;h1&gt;&lt;span&gt;AgentX Industry Impact - Optimizations for Agentic Workloads&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;The most impactful result from AgentX in its first months was not producing open source datasets, instead, it has been the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;industry impact of 50+ upstream PRs&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; created by AgentX partners to optimize real world agentic workloads using AgentX as the north star. AgentX&amp;#8217;s real agentic traffic benchmarks not only the raw prefill and decode kernels, but also tests the entire end to end token generation process from KV cache lifecycle, hybrid-attention cache correctness, CPU KV offload, transfer progress, routing affinity, to incremental tokenization, request serialization, and scheduler bookkeeping. All of these steps matter for every production agentic deployment.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is just a continuation of our ongoing mission to help the ecosystem accelerate improvement and deliver light speed improvement in software. A great example is SemiAnalysis&amp;#8217;s multi-year collaboration with AMD&amp;#8217;s software development team in which we have been providing continual feedback and input to help to modernize their software development principles. This has not only led to many changes that have accelerated AMD&amp;#8217;s progress, but also has been instrumental towards getting AMD open source closer to first class on agentic workloads.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;A Brief Introduction to the Distributed Inference Ecosystem&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As mentioned, agentic inference is inherently a system-wide problem as opposed to just a chip/kernel level problem. Additionally, when there are large &lt;/span&gt;&lt;em&gt;&lt;span&gt;distributed systems &lt;/span&gt;&lt;/em&gt;&lt;span&gt;handling hundreds of thousands of agentic requests, the scheduling of requests and management of KV cache becomes non-trivial and has legitimate performance implications. For example, sub-agents give bursty KVCache patterns where not properly optimizing, it will improperly evict the main agents cache.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following diagram illustrates the stack at a high level. At the top, routers (sometimes referred to as &amp;#8220;frontends&amp;#8221;) route requests to different workers. For instance, in the case a server is running data parallel attention, there are separate KV caches for each DP rank. In order not to thrash any one of the KV caches, requests are routed according to different policies such as &lt;/span&gt;&lt;a href="https://github.com/vllm-project/router/blob/main/src/policies/consistent_hash.rs"&gt;&lt;span&gt;consistent hash&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, where requests in the same session/subagent are routed by their unique ID.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!T1Z9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac4a3a-cc05-4ff6-9d1e-b28dc0d0f760_1814x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1644" src="https://substackcdn.com/image/fetch/$s_!T1Z9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac4a3a-cc05-4ff6-9d1e-b28dc0d0f760_1814x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For most routing policies, there is nothing significantly different about each router implementation. Some are separate components such as &lt;/span&gt;&lt;a href="https://github.com/vllm-project/router"&gt;&lt;span&gt;vLLM router&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/llm-d/llm-d-router"&gt;&lt;span&gt;llm-d router&lt;/span&gt;&lt;/a&gt;&lt;span&gt; while others are integrated in the engine such as &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/tree/main/sgl-model-gateway"&gt;&lt;span&gt;SGLang model gateway&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/tree/main/atom/mesh"&gt;&lt;span&gt;ATOM Mesh&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;After a request is routed, it is handled by the scheduler of an inference engine such as vLLM, SGLang, etc. The engine is responsible for actually performing the inference and returning the result over an API. Additionally, each engine has an interface for connecting the engine&amp;#8217;s internal KV cache to external KV cache managers. This allows for a &amp;#8220;pluggable&amp;#8221; ecosystem where different KV cache managers can integrate with a variety of inference engines.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A simple deployment, used in the current AgentX results, &lt;/span&gt;&lt;a href="https://pypi.org/project/mooncake-transfer-engine/"&gt;&lt;span&gt;runs Mooncake&lt;/span&gt;&lt;/a&gt;&lt;span&gt; alongside vLLM on the same node. Each vLLM worker embeds a Mooncake Store client and contributes a portion of host DRAM to the external KV-cache pool. vLLM connects to this pool through the MooncakeStoreConnector interface which loads reusable KV blocks into GPU memory and saves newly computed blocks back to host memory. Mooncake Store manages the external cache, including placement and eviction, while Mooncake Transfer Engine performs the actual movement of data between GPU and CPU memory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Different KV cache managers may use different transfer engines to physically move bytes between memory tiers or machines, such as between prefill and decode workers. Mooncake Store, for example, uses&lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/tree/main/mooncake-transfer-engine"&gt;&lt;span&gt; Mooncake Transfer Engine&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to move KV blocks between GPU memory, host DRAM, and remote nodes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A deployment can use Mooncake Store to offload reusable KV blocks to host DRAM while simultaneously using NIXL to transfer request-specific KV directly from prefill GPUs to decode GPUs. Mooncake TE handles movement for the Mooncake Store path, while NIXL handles the separate prefill-decode path using UCX and GPUDirect RDMA where supported. Multiple KV-management and transfer paths can therefore coexist within the same inference engine.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The ecosystem consists of many independent components, including inference engines, routers, KV-cache managers, data-transfer libraries, and cluster controllers. Platforms such as Nvidia Dynamo, llm-d, and AMD Infera &amp;#8220;package&amp;#8221; selected combinations of these components into complete software distributions. They publish compatible container images, connectors, deployment manifests, and orchestration logic that allow the components to be deployed and operated as one system. The resulting product is usually a collection of coordinated containers rather than a single monolithic service (for instance: Dynamo, llm-d, and Infera are typically deployed on k8s and co-ordinate large, distributed systems).&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZyoZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf5c4776-221b-43b4-b2fd-d46e46f1ab38_1772x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!ZyoZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf5c4776-221b-43b4-b2fd-d46e46f1ab38_1772x960.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: RedHat / llm-d&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Context Parallelism&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Long context benefits parallelism techniques that a fixed 8k prompt cannot strongly exercise, because at 8k there is little to divide and TTFT is already short. Moreover, parallelism strategies like TP and DP attention are not optimal at longer context lengths, TP can result in the full KV being replicated on each rank. Although KV is shared for DP attention, it can get hung up on longer contexts, as long context workloads also result in a higher variance of possible context lengths.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8e51!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e2801db-53ff-4029-8b55-01b3c1a7037d_1632x1140.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1017" src="https://substackcdn.com/image/fetch/$s_!8e51!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e2801db-53ff-4029-8b55-01b3c1a7037d_1632x1140.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Context parallelism is a parallelism technique that splits query tokens across GPUs. It comes in two forms: PCP for prefill context parallelism and DCP for decode context parallelism. In PCP, each rank prefills its query chunk (KV ring-passed), since prefill tends to be compute-bound, this parallelizes FLOPs resulting in faster prefill with no giant-prompt prefill spike on one rank. For DCP, each rank scans its KV shard, and the partial attention is then merged flash-decode style. Since decode is memory-BW-bound, parallel KV reads can result in faster tok/s.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o8e4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9544ced-f418-44e0-8910-0cbc63fa26ec_2048x768.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!o8e4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9544ced-f418-44e0-8910-0cbc63fa26ec_2048x768.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jsOJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c3a96-2ab4-452f-be6a-4fa60900575c_2048x651.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="463" src="https://substackcdn.com/image/fetch/$s_!jsOJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512c3a96-2ab4-452f-be6a-4fa60900575c_2048x651.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This parallelism technique was invented partially by Nvidia Research. Nvidia Research is great at fundamental research like this while for end to end training research, they are embarrassing America with their horrible Nemotron3 Ultra model which is currently getting massively beaten by even tiny Qwen3.8 27B model. DCP/PCP forms part of CUDA moat as the AMD implementation of DCP/PCP isn&amp;#8217;t optimized yet. In the &lt;/span&gt;&lt;a href="https://docs.vllm.ai/en/latest/design/attention_backends/#standard-attention-mha-mqa-gqa-backends"&gt;&lt;span&gt;vLLM support matrix&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, every single AMD backend is unsupported.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A few of the changes mentioned in the next few sections focus on DCP/PCP.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;vLLM Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Working alongside vLLM maintainers from Inferact, Red Hat, NVIDIA, and AMD, we used AgentX&amp;#8217;s realistic replayer as a north star, with the resulting fixes landing upstream where most of the optimizations are highly transferable to production. A few examples follow:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;vLLM improved hybrid-attention prefix caching so short-lived sliding-window allocations do not evict useful long-context checkpoints. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/43447"&gt;&lt;span&gt;Selective retention&lt;/span&gt;&lt;/a&gt;&lt;span&gt; preserves sparse replay boundaries and reported a prefix-cache hit rate above 95% with fourteen concurrent requests and contexts up to one million tokens. The same reachability policy &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/44774"&gt;&lt;span&gt;was applied to Mooncake&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45444"&gt;&lt;span&gt;unreachable sliding-window lookups were removed&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Earlier follow-up work also &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42258"&gt;&lt;span&gt;stopped offloading sliding-window blocks that could never be reused&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/44082"&gt;&lt;span&gt;kept the speculative lookahead block in the retained prefix&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CVRv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf1a505d-b8c3-45f9-b03c-a8798fba54c0_2048x632.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="449" src="https://substackcdn.com/image/fetch/$s_!CVRv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf1a505d-b8c3-45f9-b03c-a8798fba54c0_2048x632.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis and vLLM GitHub PR for Agentic Workloads&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Agentic Workloads for high concurrent agents require offloading. Thanks to the aforementioned influence of AgentX, there are already workstreams on vLLM that aim to allow CPU KV offload for hybrid models rather than only for uniform full-attention models. This distinction matters because a uniform model has one KV layout per token, so a connector can describe what to save with a single block geometry. A hybrid model carries several cache groups at once, each with a different shape and a different lifetime, and a connector that assumes one uniform layout cannot express which group a given block belongs to. Offload was therefore unavailable for the models whose long sessions needed it most. The general &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/37160"&gt;&lt;span&gt;SimpleCPU connector&lt;/span&gt;&lt;/a&gt;&lt;span&gt; came first, was &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/40549"&gt;&lt;span&gt;enabled on ROCm&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and was then &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42296"&gt;&lt;span&gt;extended to DeepSeek-V4 hybrid attention&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, reporting 81.7% higher output throughput and 46.6% lower mean e2e latency against recomputing the prefix once it no longer fits in HBM.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Mooncake has also gained &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42828"&gt;&lt;span&gt;equivalent hybrid-memory allocation support&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The same layout problem resurfaces in disaggregated serving, where a &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51052"&gt;&lt;span&gt;pending change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; transfers Kimi-K3&amp;#8217;s conv+ssm recurrent state alongside the attention KV over MoRI-IO for 1P1D prefill/decode splits; without it the decode side starts from an uninitialized recurrent state. The recurrent-state slot rides the existing remote-block-ids channel, so the disaggregation router needs no model-specific changes, and the path was exercised end-to-end on MI355X, TP8 per leg over cross-node RDMA, with DSpark speculative decoding on both legs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When profiling realistic workloads, vLLM maintainers noticed that during offload, the cost moved to the store path, which was writing too much and too often. Three new fixes have now addressed this issue: &lt;br /&gt;A store is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/41289"&gt;&lt;span&gt;skipped while an identical transfer is already in flight&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so concurrent sessions sharing a prefix pay for it once rather than once each. A store &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46412"&gt;&lt;span&gt;covers only newly generated KV ranges&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a session that extends its history writes the delta instead of rewriting the whole prefix on every turn. Finally, a store no longer &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46906"&gt;&lt;span&gt;depends on whether the same blocks still sit in HBM&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so work already scheduled is not discarded when an eviction lands underneath it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The load path was tuned separately, because lookups happen on every scheduling decision rather than only when data actually moves. Making &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45659"&gt;&lt;span&gt;lookups asynchronous in the scheduler path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; keeps the connector off the step&amp;#8217;s critical path, so a step no longer waits on CPU-side cache queries before it can admit work. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45969"&gt;&lt;span&gt;Compact zero-copy lookup keys&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45971"&gt;&lt;span&gt;parallel receive-side loading&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46188"&gt;&lt;span&gt;prebuilt Mooncake key strings&lt;/span&gt;&lt;/a&gt;&lt;span&gt; then removed the CPU and transport overhead that remained.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!E7LD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2cfea4-a217-47ad-934b-dbd226bb248c_2048x837.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="595" src="https://substackcdn.com/image/fetch/$s_!E7LD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2cfea4-a217-47ad-934b-dbd226bb248c_2048x837.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis and vLLM GitHub PR for Agentic Workloads&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Long-lived hybrid state also forced correctness and accounting fixes that fixed-shape requests rarely reach. vLLM &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/44103"&gt;&lt;span&gt;emits cache events per hybrid cache group&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45371"&gt;&lt;span&gt;strides distributed-context stores correctly&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46855"&gt;&lt;span&gt;computes lookup prefixes correctly under distributed context and prefill&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. A related &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45340"&gt;&lt;span&gt;context-parallel accounting change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; aligns cache ownership with sharded token ranges. Speculative state is now &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/49069"&gt;&lt;span&gt;propagated across merged Mooncake groups&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/49071"&gt;&lt;span&gt;through the SimpleCPU coordinator&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, preventing the repeated-turn cache from silently losing EAGLE state.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Looking at the ROCm side of optimizing Agentic workloads in vLLM, the work continues below the cache layer, where the remaining cost is per-layer rather than per-request. Once the prefix survives and arrives on time, what is left is the decode step itself, and a decode step that runs thousands of times per session pays for every avoidable copy and every mismatched kernel.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three open changes attack that layer:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A Kimi-K3 change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51183"&gt;&lt;span&gt;writes KDA decode results directly into the layer output buffer&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, removing one device copy per KDA layer; the saving is small in isolation and repeated for every layer of every decoded token.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A second change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51714"&gt;&lt;span&gt;selects an AITER sparse-MLA decode kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in place of the generic path, and reported 5.22% higher AgentX output throughput with substantially lower inter-token latency.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The third is a useful illustration of how much the measurement shape matters. A companion change &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/51713"&gt;&lt;span&gt;routes full-graph attention projections through tuned AITER GEMMs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and reached a 2.3% gain on fixed sequences at low concurrency. This shows a kernel-level change can show a clean gain on uniform shapes and then be swamped, on an agentic trace, by the cache and scheduling variance that the trace introduces. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/52882"&gt;&lt;span&gt;pending change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; turns that shape sensitivity into the dispatch criterion itself: it replaces the DeepSeek V4 C4A selector&amp;#8217;s ROCm top-k bottleneck with a hybrid AITER/native path on gfx950, routing short and medium contexts through AITER and long contexts through a graph-safe tuned native fallback. It reports end-to-end selector speedups of 1.21x to 1.76x, with decode-kernel geomeans of 1.2x to 2.9x across an 84-shape matrix.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span&gt;SGLang Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The AgentX team has been working closely alongside SGLang maintainers from RadixArk, Meta, Nvidia, and AMD to drive optimizations to Agentic workloads run using SGLang, resulting in massive improvements in production inference performance. Let&amp;#8217;s discuss these optimizations in more depth.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will start by explaining how, from the allocator side, SGLang&amp;#8217;s sliding-window work addresses the same conflict vLLM&amp;#8217;s retention policy does. Window pages and prefix pages are drawn from one pool, and the window is the greedier consumer: it turns over constantly while the prefix sits still and so, under pressure, the transient allocation displaces the durable one.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three design improvements attack this problem that from different angles. One &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26907"&gt;&lt;span&gt;proactively frees pages as they leave the window&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than waiting for eviction pressure to find them, so dead window state stops competing for pages it can no longer use. Another &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/27210"&gt;&lt;span&gt;caps compute locks to a single window&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, bounding how much of the pool an in-flight request can hold pinned at once. A third &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29369"&gt;&lt;span&gt;removes stale full-KV entries&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that outlive their usefulness.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Proactive freeing has a fork-shaped blind spot, though: a request branching from a shared prefix can still hold reusable full-KV while the window state at the branch point has already been released, and the whole prefix gets recomputed for want of the cheap half. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/34565"&gt;&lt;span&gt;Open work&lt;/span&gt;&lt;/a&gt;&lt;span&gt; preserves the SWA state at those branch points so forks inherit the window instead of rebuilding it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Alongside those, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30339"&gt;&lt;span&gt;the ROCm ring-cache fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is a correctness rather than a capacity change: a ring buffer reuses slots by construction, and reusing one whose old contents are still referenced yields wrong output rather than slow output. None of this is visible on a single 8k prompt, where the window never laps the prefix and the pool is never contended. On a multi-turn hybrid session, these changes are what decide whether the expensive full-attention history is still there on the next turn.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;HiCache is SGLang&amp;#8217;s first class in-tree offloading mechanism. It faced the same hybrid problem vLLM&amp;#8217;s connectors did, and solved it with an asymmetry: &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29417"&gt;&lt;span&gt;offload the full-attention cache and reconstruct the short sliding-window tail on the way back&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Only the expensive half is worth moving across the bus, and the cheap half can be rebuilt more quickly than it can be fetched. On AMD, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/28534"&gt;&lt;span&gt;staged write-back&lt;/span&gt;&lt;/a&gt;&lt;span&gt; keeps that movement from blocking the engine while it happens. Recurrent state was the remaining gap, because it cannot be rebuilt from neighbouring tokens the way a window tail can; &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29735"&gt;&lt;span&gt;FlashInfer GDN checkpoints&lt;/span&gt;&lt;/a&gt;&lt;span&gt; let it participate in prefix reuse at all, and raised throughput from 47,771 to 53,004 tok/s/GPU at a 92.4% cache-hit rate.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VyzT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F078ad449-7657-4468-9ff9-3480a7999d89_2048x720.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="512" src="https://substackcdn.com/image/fetch/$s_!VyzT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F078ad449-7657-4468-9ff9-3480a7999d89_2048x720.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Two further changes address how variable-length traffic affects kernel pipeline. AgentX realistic sessions tend to arrive at continuously varying context lengths, a similar pattern observed for production traffic. A naive runtime that specializes on length will compile a fresh kernel for nearly every request it sees. SGLang maintainers solved this by passing &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30255"&gt;&lt;span&gt;context length as a runtime scalar&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead collapsing it into one compilation, improving AgentX concurrency 384 output throughput by 26.75% and mean TTFT by 36.25%, by removing compilation, not from computing anything faster.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aKLG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a807d67-383b-4aa9-93af-e8f3a68313f4_855x634.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="634" src="https://substackcdn.com/image/fetch/$s_!aKLG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a807d67-383b-4aa9-93af-e8f3a68313f4_855x634.png" width="855" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30255"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the same spirit, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30365"&gt;&lt;span&gt;removing a per-step device-to-host sequence-length synchronization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; eliminates a decode bubble that exists only because the host wanted to know a length the device already had.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!50q6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb29e003e-db43-45d4-93be-bac0be04d869_1209x646.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="646" src="https://substackcdn.com/image/fetch/$s_!50q6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb29e003e-db43-45d4-93be-bac0be04d869_1209x646.png" width="1209" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30365"&gt;Source: GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Variable length also bites inside the attention kernel itself. On GB300, a mixed-context decode batch pays a tail tax: a matched profile attributed 8.4 ms of a 9.8 ms decode-step delta to attention, with the longest requests dragging out the persistent kernel&amp;#8217;s shared wave. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/34888"&gt;&lt;span&gt;Open work &lt;/span&gt;&lt;/a&gt;&lt;span&gt;splits TRTLLM MHA decode batches into KV-length-sorted groups so the short requests stop waiting on the longest ones.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Decode can starve one level up as well, at the scheduler rather than in a kernel. Under DP attention, every rank joins the same MoE collective while scheduling attention work locally, so a rank fed a stream of chunked-prefill continuations keeps winning the prefill-first decision while peer ranks&amp;#8217; running batches sit waiting, observed on AgentX runs. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/35017"&gt;&lt;span&gt;A configurable decode interval&lt;/span&gt;&lt;/a&gt;&lt;span&gt; after prefill forces decode rounds between prefills; on AgentX DSv4 Pro, output throughput rose 141% and p99 inter-token latency fell 97.3%, at the cost of median TTFT rising from 36.5 to 59 seconds, trading off first-token wait for stream smoothness.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mne_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ce130f-13f2-4732-8431-17e26184b8c3_1846x806.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="636" src="https://substackcdn.com/image/fetch/$s_!mne_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ce130f-13f2-4732-8431-17e26184b8c3_1846x806.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When a request carries no reusable history such as the start of a subagent, any worker will do just fine, and load balancing is the only question worth asking. When the request carries a MB of cached prefix, sending it to an idle worker that does not hold that prefix is the expensive choice, and the router needs to know where the state already lives. SGLang added &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26091"&gt;&lt;span&gt;DP cache affinity&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a session is sticky to the rank holding its cache. In this PR, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26245"&gt;&lt;span&gt;DP-aware prefill and decode routing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is both implemented so that both halves of a disaggregated deployment make that decision consistently, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26293"&gt;&lt;span&gt;cache balance as a routing signal&lt;/span&gt;&lt;/a&gt;&lt;span&gt; so affinity does not degenerate into one hot worker. A router can only act on what it is told, so hybrid cache events also become &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26387"&gt;&lt;span&gt;radix-cache aware&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/26579"&gt;&lt;span&gt;sliding-window aware&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Speculative decoding receives special attention, because MTP adds a second, smaller piece of per-request state that has to survive everything the main cache survives. SGLang &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30461"&gt;&lt;span&gt;fixed draft-window transfer in disaggregated serving&lt;/span&gt;&lt;/a&gt;&lt;span&gt; so that state crosses the prefill-to-decode boundary intact, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30497"&gt;&lt;span&gt;added overlap scheduling for high-concurrency online decoding&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/31294"&gt;&lt;span&gt;removed a no-op EAGLE renormalization&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/33662"&gt;&lt;span&gt;avoided host synchronizations during EAGLE prefill&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The open &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32042"&gt;&lt;span&gt;resource-lease scheduling work&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32196"&gt;&lt;span&gt;data-parallel graph-metadata fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; continue the same effort, which is to make overlap safe when requests can be retracted and resumed rather than simply run to completion.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When looking at Agentic workloads with Heterogeneous prefill and decode topologies, prefix-aware staging is needed, and this is where prefix caching and disaggregation interact badly. When the two sides are not sharded identically, KV cannot be copied across as one contiguous stream; it has to be split on a transfer grid and reassembled at the offsets the decode side expects. A prefix hit makes that harder, not easier, because the prefill worker now sends only the uncached remainder while the decode side still expects a complete, correctly positioned cache. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30545"&gt;&lt;span&gt;Radix-cache support in the staging buffer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; splits cached sends on that grid and scatters them at the correct decode offsets.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CEcE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2d49d-2612-4334-90c2-8a76ab55fd60_1418x1004.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1004" src="https://substackcdn.com/image/fetch/$s_!CEcE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c2d49d-2612-4334-90c2-8a76ab55fd60_1418x1004.png" width="1418" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, this results in correctness problems. A 127,500-token shared-prefix test went from 2 correct needles out of 128 to 128 out of 128, meaning the cache had been silently landing in the wrong places, which a throughput benchmark would have scored as a fast, confident, but wrong answer. The AgentX comparison additionally raised median per-user output throughput by 9.6% at nearly unchanged total throughput per GPU. The transfer itself also carried dead weight: decode-side PREBUILT batches never enter a model forward, yet every transferred prompt was still flattened and copied into a CUDA input tensor that the first decode step reconstructs from relay metadata anyway. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/35070"&gt;&lt;span&gt;Dropping that unused prompt transfer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is the largest single win, driving +18.0% per-user output throughput and +12.7% decode throughput per GPU on AgentX GB300. A &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/35071"&gt;&lt;span&gt;follow-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; moved the prefill DP-rank bootstrap query off the decode scheduler&amp;#8217;s critical path, overlapping an HTTP round trip that had been paid synchronously at result consumption, driving a further +1.36% per-user output throughput on the same deployment. Open work continues along the same seam: &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/30762"&gt;&lt;span&gt;multi-pool DeepSeek-V4 support in UMBP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32368"&gt;&lt;span&gt;unified-KV HiSparse state carried over MoRI&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/34216"&gt;&lt;span&gt;preserving the prefill-owned token when decode terminates without visible content&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The HiSparse work should be read as a capacity and correctness enabler for long contexts rather than as a throughput win at high concurrency, which it is not yet.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-k_t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed24f1b9-b591-4674-bc94-06394962d03f_2048x544.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="387" src="https://substackcdn.com/image/fetch/$s_!-k_t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed24f1b9-b591-4674-bc94-06394962d03f_2048x544.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;TensorRT-LLM Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Next, we shall move onto explaining a couple of the recent optimizations from TensorRT-LLM. First, we look at TRTLLM&amp;#8217;s distinct frontend optimization for repeated chat turns, a cost that only exists because the workload is multiturn. Every turn of a conversation re-sends the entire history plus a little more, and the naive implementation re-tokenizes all of it. Tokenization is cheap per kilobyte, but is ruinous when the same 100,000 tokens are tokenized again on every turn.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The obvious fix, to tokenize only the new suffix, is wrong in a way that is easy to miss, because byte-pair encoding is not position-independent. Tokens can merge across the join, so splitting the text at the boundary and concatenating the two token sequences can produce a different sequence than tokenizing the whole string, which quietly diverges from the sequence the prefix cache was built against.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TRTLLM implements &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17462"&gt;&lt;span&gt;Boundary-aware incremental tokenization&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which handles this by finding the rendered-text common prefix, rolling back one complete token so any merge that spans the join is recomputed, and tokenizing only the changed suffix from there. On the Qwen3.5 AgentX trace, it matched full tokenization on all 1,087 transitions &amp;#8212; the correctness claim, tested rather than assumed &amp;#8212; and reduced mean processing time from 185.1 ms to 11.3 ms.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BiHQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30a51cf2-e628-4c20-a4a5-5978234ca713_952x541.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="541" src="https://substackcdn.com/image/fetch/$s_!BiHQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30a51cf2-e628-4c20-a4a5-5978234ca713_952x541.png" width="952" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17462"&gt;&lt;span&gt;Source: GitHub&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A fixed 8k1k request has no prior rendered turn to reuse, so none of this appears there. Relatedly, &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16231"&gt;&lt;span&gt;chat-template rendering was moved into the input-processing pool&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a long template no longer serializes the main request loop behind it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sqbT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b459b8-9c4c-4c8c-8659-07e14bf5699f_2048x784.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="557" src="https://substackcdn.com/image/fetch/$s_!sqbT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b459b8-9c4c-4c8c-8659-07e14bf5699f_2048x784.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The MiniMax-M3 work focuses on disaggregated KV movement, where the failure is one of granularity. When prefill and decode do not agree on head layout, the KV for one logical request stops being a few large contiguous regions and becomes thousands of small strided pieces, each of which turns into its own transfer descriptor. The bytes moved are unchanged; the per-descriptor overhead is what explodes, and it explodes in the worst way on exactly the long prompts that matter! &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17518"&gt;&lt;span&gt;Corrected multi-pool mapping and a chunked NIXL bounce path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; coalesce those pieces through a bounded reusable arena, trading an extra staging copy for orders of magnitude fewer descriptors. Its AgentX diagnostic reduced request-critical KV p99 from 26.74 seconds to 125 ms at concurrency five, and from 10.15 seconds to 288 ms at concurrency forty.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BA9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52bd05ab-914f-4dc5-9f16-a0ea1b495383_959x501.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="501" src="https://substackcdn.com/image/fetch/$s_!BA9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52bd05ab-914f-4dc5-9f16-a0ea1b495383_959x501.png" width="959" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17518"&gt;GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17428"&gt;&lt;span&gt;Nonblocking context-transfer polling&lt;/span&gt;&lt;/a&gt;&lt;span&gt; protects the same path by reaping completed transfers even when scheduling stalls. This breaks a feedback loop in which finished KV blocks stay pinned and prevent new admissions. The stalls themselves also had a &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16734"&gt;&lt;span&gt;removable cause&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: avoiding implicit device-scalar syncs in DeepSeek-V4&amp;#8217;s context sparse-attention metadata eliminated 18 four-byte device reads per step that each forced a cudaStreamSynchronize, on a GB300 disaggregated context worker. The fix threads host-side counts through as plain Python ints, so the executor thread no longer holds the GIL for most of a step while the KV-transfer and response threads wait behind it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TensorRT-LLM also moved irregular long-context work onto more efficient execution paths. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17473"&gt;&lt;span&gt;Context graph producers for MiniMax-M3&lt;/span&gt;&lt;/a&gt;&lt;span&gt; capture stable sparse producers while leaving request-dependent attention eager, and per-user output throughput improved by 12.58 percent in its AgentX test. An open &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16876"&gt;&lt;span&gt;native KV-event production change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reduces allocation and conversion work on the KV-aware routing path.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AgentX also exposed kernel-selection and scheduler-lifetime failures that only appear at scale and duration. Two are about which kernel gets picked. MiniMax-M3 &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17316"&gt;&lt;span&gt;added CuTeDSL choices to MXFP8 autotuning&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, widening the candidate set and improving output throughput per GPU by roughly 7 to 10% at low-concurrency aggregate points. In the opposite direction, TensorRT-LLM &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17105"&gt;&lt;span&gt;disabled corrupt split-K MoE tactics&lt;/span&gt;&lt;/a&gt;&lt;span&gt; after it crashed five of seven AgentX runs, with no crashes in seven matched runs afterwards. A tactic that is fast and wrong is worse than one that is merely slow, and an autotuner will select it enthusiastically unless it is removed from the pool. Selection is not the only way a kernel goes wrong: MiniMax-M3&amp;#8217;s legacy sparse-attention path for short queries could hand the SM100 kernel a non-contiguous, head-major block-index view that it read as contiguous, selecting the wrong KV pages and producing incorrect or non-finite output. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17285"&gt;&lt;span&gt;Honoring the block-index strides&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for q_len &amp;#8804; 32 fixed the indexing without materializing the tensor or adding a kernel, and five matched full AgentX pairs on GB300 afterwards completed with zero serving errors and no non-finite markers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!29HP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff48290ac-3361-4b0c-a085-ff84dd3dce51_2048x1347.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="958" src="https://substackcdn.com/image/fetch/$s_!29HP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff48290ac-3361-4b0c-a085-ff84dd3dce51_2048x1347.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17105"&gt;&lt;span&gt;TRT Github&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The other two are lifetime bugs, which are the characteristic failure of long runs rather than large ones. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/16279"&gt;&lt;span&gt;Sequence-slot headroom and consistent slot-indexed buffer sizing&lt;/span&gt;&lt;/a&gt;&lt;span&gt; handle the transient overlap where a completing request and a newly admitted one both need a slot, a window that a steady stream of arrivals and departures hits constantly and a fixed batch never hits at all. A later &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17278"&gt;&lt;span&gt;attention-data-parallel dummy-request fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; kept nine Qwen3.5 disaggregated cells alive where most earlier cells had failed within minutes, the difference between a configuration that benchmarks and one that survives a session.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two open transfer changes target very long disaggregated prompts, and together they show how a fix can create the next bottleneck. In the default arrangement, a decode worker cannot start until the entire prompt has been prefilled and then transferred, so two expensive phases run back to back even though the first produces its output incrementally. &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/15727"&gt;&lt;span&gt;Pipelined KV transfer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; begins sending each completed prefill chunk as it lands, so transfer overlaps prefill compute and only the final chunk is on the critical path.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That change makes chunk handling frequent, which exposes work that used to happen once. Its follow-up &lt;/span&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/17526"&gt;&lt;span&gt;retrieves only the block IDs belonging to the current chunk&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than the whole prompt&amp;#8217;s block list each time. For a 128,000-token prompt split into 1,024-token chunks, that is the difference between building a 4,096-entry list once and rebuilding it 128 times for every layer group. A per-chunk cost that scales with total prompt length is a cost scaling shape that eats the gain the pipelining just bought.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!09sS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8eeb92e-1aad-4a97-b3c1-28409005809e_2048x769.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="547" src="https://substackcdn.com/image/fetch/$s_!09sS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8eeb92e-1aad-4a97-b3c1-28409005809e_2048x769.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;AMD ATOM Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s ATOM engine was originally designed only for single turn workloads instead of real world agentic multi-turn production workloads, so there were a lot of changes needed to the core fundamental ATOM engine and kernels to enable good support for long context multi turn workloads. ATOM still has a long way to go to support agentic workloads relative to where vLLM/SGLang are at present. AgentX is used as the realistic north star target for ATOM&amp;#8217;s refactor to support agentic workloads. The first optimization we will chat about that ATOM implemented is smartly using sparse checkpoint retention for DeepSeek-V4 paged sliding-window attention. &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1640"&gt;&lt;span&gt;The merged implementation&lt;/span&gt;&lt;/a&gt;&lt;span&gt; keeps selected window tails alive so branch and replay requests can resume at useful boundaries. Its measurements separate the two effects cleanly: on the same AgentX trace at concurrency 48, the actual prefix hit rate rose from 5.6% to 96.45%, and losses at the sliding-window gate fell from 91.35% to 0.16%. The second number is the mechanism behind the first. Nine out of ten prefix matches were being found and then discarded for want of a window tail, so the cache was not missing but being overruled.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QjVe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c880335-e1e3-44d9-a123-8e316c9c3808_822x555.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="555" src="https://substackcdn.com/image/fetch/$s_!QjVe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c880335-e1e3-44d9-a123-8e316c9c3808_822x555.png" width="822" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Two earlier cache-manager fixes had to land before any of this could be measured, and both fixes are worth noting as examples of a cache that reports itself healthy while doing nothing. One &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/902"&gt;&lt;span&gt;stopped free-pool hits from destroying shared cache entries&lt;/span&gt;&lt;/a&gt;&lt;span&gt;; the other, &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/939"&gt;&lt;span&gt;a deferred-output fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, restored prefix hashing in the default scheduler mode and moved repeated long prompts from zero cached tokens to reuse of every complete prefix block. A separate change lets prefix-hit prefill &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1345"&gt;&lt;span&gt;stay on the optimized sink attention kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than falling back to the generic path, so a cache hit does not quietly cost part of what it saves.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Hybrid models also carry a recurrent or compressor state, which differs from ordinary KV in one decisive way: it cannot be reconstructed from the tokens around it. A window tail can be recomputed from neighboring context, but recurrent state is the accumulated result of everything that came before, so if it is dropped, the only way back is to replay the sequence. ATOM &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1771"&gt;&lt;span&gt;gave this per-request state a content-addressed checkpoint lifecycle&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, letting generated turns leave reusable resume points without reserving a separate protected cache for them. In one test, a request reused 512 generated tokens and computed only a two-token suffix.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The tuning detail matters as much as the feature. Publishing a checkpoint unconditionally costs 17.5% throughput on zero-hit traffic, the price paid by every session that never comes back, in order to help the ones that do. Spacing checkpoints by token interval avoided that penalty, and fixed 1k1k throughput stayed within measurement noise, which is the relevant safety property: a feature aimed at agentic reuse should not tax workloads that will never use it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;ATOM&amp;#8217;s AgentX-relevant CPU path starts from the arithmetic that justifies offloading at all. &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1318"&gt;&lt;span&gt;Standalone LMCache offload&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reloads a 32,000-token prefix from CPU in about 0.32 seconds against roughly 2.5 seconds to recompute it, an eight-fold margin. This makes crossing the bus worth doing at these context lengths and would not hold for a short prompt.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The rest of the path is about ownership and index placement rather than bandwidth. ATOM copied vLLM&amp;#8217;s&lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1406"&gt;&lt;span&gt; multi-connector&lt;/span&gt;&lt;/a&gt;&lt;span&gt; design which lets a prefill worker send KV to a remote decode worker and save the same prefix to CPU at once, without freeing the blocks until both consumers are finished; two independent readers of the same blocks is a situation where single-turn won&amp;#8217;t get.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1725"&gt;&lt;span&gt;Promoting restored blocks back into the GPU prefix index&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixes a subtler waste: without it, a prefix loaded from CPU is used and then not registered as resident, so the next turn fetches the same hot prefix across the bus again, paying the transfer repeatedly for a cache that was already in HBM. Follow-up work &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1807"&gt;&lt;span&gt;fixed asynchronous save ordering, packed-KV geometry, unaligned handoffs, and remote request accounting&lt;/span&gt;&lt;/a&gt;&lt;span&gt; together, eliminating reload corruption across a two-round, 2,638-request validation. This bug surfaces only when the same blocks are saved, evicted, and restored many times over.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!RVON!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bb7f74-e5a3-4da3-b954-89905e54c4da_2048x420.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="299" src="https://substackcdn.com/image/fetch/$s_!RVON!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7bb7f74-e5a3-4da3-b954-89905e54c4da_2048x420.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The distributed path repeats, in a different codebase, and the pattern is already visible in SGLang and Dynamo: routing has to know where state lives. ATOM&amp;#8217;s router called ATOMesh is a fork of SGLang&amp;#8217;s router with most of the features removed. Unfortunately, ATOMesh required SGLang&amp;#8217;s cache-aware routing feature, so that feature had to be added back. ATOM gained KV lifecycle events for cache-aware routers, so the router can know where state lives at all. It also gained multi-node prefill and decode routing, and session-sticky data-parallel routing. The sticky policy is a two-sided compromise worth stating explicitly: a conversation returns to the healthy worker that owns its state, but idle assignments expire so that stickiness does not permanently unbalance the cluster on behalf of sessions that have gone away.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Disaggregation then has to move whatever the model actually keeps, which is not always one uniform cache. DeepSeek-V4 &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1737"&gt;&lt;span&gt;transfers both buffers of its mixed FP8 and BF16 cache layout&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and EAGLE disaggregation &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1331"&gt;&lt;span&gt;moves the draft model&amp;#8217;s independent KV cache&lt;/span&gt;&lt;/a&gt;&lt;span&gt; alongside the target cache, the same second-cache problem TensorRT-LLM and SGLang each had to solve. &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1647"&gt;&lt;span&gt;Remote-KV admission and backpressure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; closes the loop by stopping the decode side from accepting more parked transfers than it can safely resume, which is the disaggregated form of accepting work you cannot finish.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On ATOM, &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1220"&gt;&lt;span&gt;PCP reported 35 to 43% lower mean TTFT&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, with total throughput gains of up to about 49% at a 64,000-token input - a gain that grows with input length rather than with batch size. Making that usable in practice required it to compose with everything else a session relies on, so DCP was &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1701"&gt;&lt;span&gt;made compatible with prefix caching, chunked prefill, and FP8 KV&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and then &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1746"&gt;&lt;span&gt;extended to MTP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Parallelism that cannot coexist with the prefix cache would trade one long-context win for another. The same scarcity of parallelism exists inside a single GPU: a batch-1 MLA decode has no head or query dimension to spread, only the KV walk, and a hardcoded split budget of 16 left that walk running on 16 of a gfx950&amp;#8217;s 256 CUs. A &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1911"&gt;&lt;span&gt;still-open change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; stops overriding the kernel&amp;#8217;s own split derivation, so Aiter cuts the walk into as many parts as the machine has clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1552"&gt;&lt;span&gt;Chunked pipeline-parallel prefill&lt;/span&gt;&lt;/a&gt;&lt;span&gt; attacks the same problem from the memory side, replacing repeated tensor-parallel collectives with streamed layer-stage handoffs. Its GLM-5.2 result at high load is the most complete in this section: output throughput doubled, median time to first token fell from 28.6 seconds to 8.7 seconds, and each prefill GPU held 3.68 times as many KV blocks. That last figure is the one to read first, because capacity per prefill GPU is what decides how many long sessions can be in flight before the deployment hits the HBM cliff at all.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZHbg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8184b9e6-883b-446c-884b-226b5e9fcca1_2048x549.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="390" src="https://substackcdn.com/image/fetch/$s_!ZHbg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8184b9e6-883b-446c-884b-226b5e9fcca1_2048x549.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;ROCm AITER Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;ATOM/AMD vLLM/AMD SGLang&amp;#8217;s long-context execution depends on matching lower-level AITER kernels, because a parallelism strategy at the engine layer is only real if the kernels can express it. &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3728"&gt;&lt;span&gt;Prefill context-parallel process groups&lt;/span&gt;&lt;/a&gt;&lt;span&gt; provide the extra query-sharding dimension that prefill context parallelism needs, and also widen fused-kernel row indexing for prompts above 131,000 tokens. &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3267"&gt;&lt;span&gt;Decode context parallelism&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (DCP) shards KV across the tensor-parallel GPUs already present, so a longer sequence or a larger batch fits without replicating the whole cache on every rank.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Large caches also exposed a class of failure that short fixed requests essentially never reach: address width. A 32-bit offset is entirely adequate until a single cache pool crosses the boundary, at which point the arithmetic wraps and the kernel addresses the wrong row without any error being raised. AITER added &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/2893"&gt;&lt;span&gt;runtime 64-bit dispatch for batch prefill above 4 GB&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4474"&gt;&lt;span&gt;64-bit MLA offsets above 2 GB&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4680"&gt;&lt;span&gt;64-bit addressing throughout DeepSeek-V4&amp;#8217;s unified cache paths&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the last preventing silent reads and writes to the wrong row in pools of roughly 150 million rows.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jW3c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce356c05-883b-4c63-a359-8cfd72dddb63_1408x1046.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1046" src="https://substackcdn.com/image/fetch/$s_!jW3c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce356c05-883b-4c63-a359-8cfd72dddb63_1408x1046.png" width="1408" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;DeepSeek-V4 decode also gained &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3459"&gt;&lt;span&gt;a persistent MLA kernel for 64-head and 128-head MTP packings&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Those two head counts are what ordinary decoding and speculative verification actually produce, so this gives the engine a dedicated long-context path for its common shapes instead of treating them as incidental variants of a kernel written for short contexts. It is the same argument as the vLLM AITER sparse-MLA selection above: in long context, the generic path is not a modest compromise, it is the wrong kernel.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Dynamo Agentic Workload Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;A good chunk of Nvidia submissions use the Dynamo Inference Orchestration and Router Systems. Dynamo&amp;#8217;s AgentX series shows that the distributed serving layer can become the bottleneck once engine kernels improve. The router&amp;#8217;s work is proportional to the number and length of live prefixes rather than to the number of tokens generated, so a workload of many long, overlapping, long-lived sessions loads it in a way that fixed-shape traffic never does. The first series of PRs reduced the cost of each routing decision: &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10540"&gt;&lt;span&gt;less work on the lookup hot path&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10836"&gt;&lt;span&gt;no redundant suffix invalidation&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and finally &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11095"&gt;&lt;span&gt;batched KV matching, registration, ownership, and terminal dereferences&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, which reported a 22.2% median output-throughput gain at concurrency 512. Batching helps here for the same reason it helps in an engine: the per-item overhead was dominating the item.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!J5Un!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af8faf5-300e-4ee5-bc0c-040b7630e923_1016x671.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="671" src="https://substackcdn.com/image/fetch/$s_!J5Un!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af8faf5-300e-4ee5-bc0c-040b7630e923_1016x671.png" width="1016" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second series of PRs changed how ownership is represented, which is the harder problem underneath. Every cached block needs to be attributed to the requests relying on it, so it is not freed while still in use and not pinned after everyone has finished. With thousands of concurrent sessions sharing overlapping prefixes, the bookkeeping itself becomes significant. Dynamo moved from &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11503"&gt;&lt;span&gt;shared block chains&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11508"&gt;&lt;span&gt;arena-level ownership counts&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and finally to &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12329"&gt;&lt;span&gt;backend-specific request leases&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, each step coarsening the unit being tracked. The lease design reduced AgentX replay time by 23.7% for the vLLM backend and 22.0% for SGLang, and lowered peak memory at the same time, a sign that the previous representation was the problem rather than the traffic.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!I5WI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3039950-98e0-4cd0-b7fe-929a120bd7d2_2048x576.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="409" src="https://substackcdn.com/image/fetch/$s_!I5WI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3039950-98e0-4cd0-b7fe-929a120bd7d2_2048x576.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Further router profiles removed costs with the same shape, where a periodic sweep or a full recomputation had been acceptable only because live state used to be small. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10521"&gt;&lt;span&gt;Bucketed expiry pruning&lt;/span&gt;&lt;/a&gt;&lt;span&gt; replaced a scan proportional to everything tracked and improved high-churn AgentX throughput by 13.7%. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10676"&gt;&lt;span&gt;Delta-only suffix cleanup&lt;/span&gt;&lt;/a&gt;&lt;span&gt; processes only what changed and absorbed about 28 times as many store and remove events in the same window. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11644"&gt;&lt;span&gt;Compressed prompt paths&lt;/span&gt;&lt;/a&gt;&lt;span&gt; cut front-end CPU by 35.3% and materially improved tail time to first token, which matters because prompts in this workload are long and largely repeated. Overload state is now &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10645"&gt;&lt;span&gt;tracked incrementally&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than recomputed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LUiA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878dd41d-fc0f-407e-8421-ad05ad9e740c_1087x624.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="624" src="https://substackcdn.com/image/fetch/$s_!LUiA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878dd41d-fc0f-407e-8421-ad05ad9e740c_1087x624.png" width="1087" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One routing change is a deliberate trade rather than a pure win. Dynamo can now &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12158"&gt;&lt;span&gt;charge active decode requests in its routing score&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so a worker already committed to long-running decodes looks more expensive than its queue depth alone suggests. That improved median AgentX latency at a small throughput cost in the reported tuning point, which is the kind of choice that only becomes visible when requests occupy a worker for a long time. An &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/13447"&gt;&lt;span&gt;open follow-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; packages that trade into an new agentic router preset that pushes further in the same direction, crediting prefix overlap at 2, scaling prefill load by 4, and weighting active decode requests at 64. At that tuning point, the trade stops costing throughput: on an 8xH200 AgentX run, the preset improved fixed-window completed-output throughput by 8.26% over the default cost function, cut run-level p95 time to first token by 43.1% and p95 inter-token latency by 22.6%, and completed one more full trajectory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The request plane was optimized next, because an agentic trace does not send one request and one response. It sends many related requests carrying largely identical prompts, and streams every token back as its own frame, so serialization and copying are paid per turn and per token rather than once. Switching to &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10437"&gt;&lt;span&gt;MessagePack request payloads&lt;/span&gt;&lt;/a&gt;&lt;span&gt; improved throughput by 8.1% and reduced average time to first token by 9.7% in its AgentX test, and &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11104"&gt;&lt;span&gt;direct Python transcoding&lt;/span&gt;&lt;/a&gt;&lt;span&gt; removed an intermediate value tree from that path entirely.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;What followed is a sequence of changes that all remove a copy rather than speed one up: not copying &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11539"&gt;&lt;span&gt;MessagePack event payloads&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, not copying &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11574"&gt;&lt;span&gt;received ZeroMQ frames&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and not paying full &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11569"&gt;&lt;span&gt;inter-token-latency metrics overhead&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on every token. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/10433"&gt;&lt;span&gt;The chat streaming hot path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; was shortened for the same reason. Individually, these are unremarkable; multiplied by every streamed token of every concurrent session, they are what determines how many requests per second a frontend can sustain.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;High-concurrency profiling then found costs that had nothing to do with moving data. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/11820"&gt;&lt;span&gt;Static logging filters&lt;/span&gt;&lt;/a&gt;&lt;span&gt; removed a shared span-matcher lock, a contention point rather than a volume problem, and raised reported frontend throughput from 932 to 1,133 requests per second. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12161"&gt;&lt;span&gt;Simpler positional radix buckets&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reduced peak memory in the mocker by 5.51 GiB in a 32-worker run. An open change &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/12999"&gt;&lt;span&gt;flushes detokenization metrics once per response&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than updating cumulative counters on every streamed chunk, approximately halving frontend CPU time in its matched diagnostic profile. That last one is the clearest example of the category: the instrumentation was cheap per call and ruinous at one call per token.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;LMCache Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;LMCache is an open-source KV cache layer that sits under inference engines like vLLM, storing reusable KV chunks keyed by prefix hash across CPU DRAM, local NVMe, and remote backends (Mooncake, Redis, S3). LMCache can be used as an alternative to vLLM&amp;#8217;s native offloading connectors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wxlg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F945da9bc-59ec-4084-9f3a-da58da04b3c5_2048x638.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="454" src="https://substackcdn.com/image/fetch/$s_!wxlg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F945da9bc-59ec-4084-9f3a-da58da04b3c5_2048x638.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;LMCache&amp;#8217;s multiprocess path was changed for the volume and shape of agentic cache movement, beginning with a failure that is not a slowdown but a stop. When each of many requests with contexts above 100,000 tokens reserves the blocks for its whole load before starting, the pool is exhausted by requests that are all waiting and none progressing. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3382"&gt;&lt;span&gt;Chunked external-cache loading&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reserves per chunk instead, so loads interleave and drain. At concurrency 32, the validation completed 120 requests where the old path deadlocked after 28, and concurrency 48 kept running with the KV pool 98.5 percent full.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other changes reduce how much is moved and how often the runtime gets in the way. Storing only the useful portions of DeepSeek-V4&amp;#8217;s hybrid groups cut &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3635"&gt;&lt;span&gt;storage per token by almost twenty times&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and sliding-window prefetch now &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3869"&gt;&lt;span&gt;loads only the live window&lt;/span&gt;&lt;/a&gt;&lt;span&gt; rather than window state that will never be read, the same reachability argument vLLM applied to offload, approached from the storage side. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3908"&gt;&lt;span&gt;One native transfer call per object group&lt;/span&gt;&lt;/a&gt;&lt;span&gt; then removes repeated Python lock handoffs across staging copies and kernel launches, which is overhead proportional to the number of pieces rather than to the bytes in them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Two current LMCache changes are especially specific to AgentX but remain open. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/4524"&gt;&lt;span&gt;The hybrid lock-accounting fix&lt;/span&gt;&lt;/a&gt;&lt;span&gt; stops one request from releasing another request&amp;#8217;s read locks on shared sliding-window or recurrent-state chunks. Several requests must share the same chunks, the accounting must be per-chunk rather than per-holder, and eviction must actually start. Sustained Kimi-K3 runs with DRAM offload supplied all three and produced tens of thousands of warnings, corrupt generations, and eventually GPU crashes once eviction began. Anything short of a long, shared, memory-pressured run leaves it dormant.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A parallel line of LMCache work made all of the above reachable on AMD Instinct hardware. CacheBlend&amp;#8217;s non-prefix reuse depended on flashinfer, which is CUDA-only, so &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3092"&gt;&lt;span&gt;a Triton block-sparse attention backend&lt;/span&gt;&lt;/a&gt;&lt;span&gt; reimplements the three kernels it needs: block-sparse attention with CSR indices and log-sum-exp output, causal prefill, and log-sum-exp output blending. It then routes to them automatically when ROCm is detected or flashinfer is missing. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3101"&gt;&lt;span&gt;ROCm Dockerfiles&lt;/span&gt;&lt;/a&gt;&lt;span&gt; mirror the CUDA build and lightweight images. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3843"&gt;&lt;span&gt;An AMD hipFile backend&lt;/span&gt;&lt;/a&gt;&lt;span&gt; extends the GDS L1 slab-file tier, which reached storage only through NVIDIA cuFile, by binding ROCm&amp;#8217;s hipFile through ctypes and dispatching on torch.version.hip; the cuFile path is unchanged.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Distribution was the remaining gap. CUDA users installed a prebuilt wheel; AMD users built it from source. We worked together with AMD to publish a &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/4273"&gt;&lt;span&gt;prebuilt gfx942 and gfx950 wheel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which closes that. It installs into the upstream image and passes all 56 KV-transfer kernel tests on MI350X, and it publishes to a GitHub release rather than PyPI so a plain pip install lmcache stays the CUDA build. &lt;/span&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/4363"&gt;&lt;span&gt;A one-line follow-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; marks the bind-mounted repository as a git safe directory, which only fails in CI because the container runs as root over a runner-owned checkout and the version introspection in setup.py refuses to read it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qIlB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c2f79c-a704-4144-a900-ddd69ce306dd_1112x667.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="667" src="https://substackcdn.com/image/fetch/$s_!qIlB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c2f79c-a704-4144-a900-ddd69ce306dd_1112x667.png" width="1112" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/LMCache/LMCache/pull/3561"&gt;&lt;span&gt;DCP-aware CPU offload&lt;/span&gt;&lt;/a&gt;&lt;span&gt; resolves a straightforward incompatibility between two features that long contexts make mandatory together. With decode context parallelism enabled, each rank holds only a stride of the KV, so what any one rank could save is not a usable prefix; the fix gathers the strided shards before saving and redistributes them after loading. Without it, enabling context parallelism silently disables CPU cache hits for exactly the long prefixes that motivated both features. Its validation recorded more than 30,000 CPU hit events, with single-request loads reaching hundreds of thousands of tokens.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Mooncake Agentic Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Mooncake serves Moonshot&amp;#8217;s Kimi production traffic along with production traffic at many labs, and is a transfer engine underneath disaggregated vLLM and SGLang configurations. Until recently, Mooncake&amp;#8217;s AMD support stopped short of both RDMA registration and offering installable packages.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CRox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32c734aa-1f52-47af-a98e-334978b4e6fa_1778x1386.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1135" src="https://substackcdn.com/image/fetch/$s_!CRox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32c734aa-1f52-47af-a98e-334978b4e6fa_1778x1386.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Registering GPU memory for RDMA on Nvidia either uses the nvidia-peermem kernel module or exports a dmabuf file descriptor. AMD has no nvidia-peermem equivalent, so GPU-direct RDMA had no path at all and deployments fall back to staging KV through host DRAM. &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/pull/2225"&gt;&lt;span&gt;A HIP dmabuf registration branch&lt;/span&gt;&lt;/a&gt;&lt;span&gt; adds the mirror of the existing CUDA dmabuf path, exporting through ROCm instead of the CUDA handle call, and resolving the true allocation base first because caching allocators pack tensors at an offset inside a larger allocation. Host memory still registers directly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Support that cannot be installed is not support. Mooncake published CUDA and MUSA wheels but no ROCm package, so AMD users built the engine from source inside every image. &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/pull/3184"&gt;&lt;span&gt;A ROCm wheel, CI, and release path&lt;/span&gt;&lt;/a&gt;&lt;span&gt; publishes mooncake-transfer-engine-rocm to PyPI alongside them. This workstream from Andy Luo, AMD engineer, was due to noticing a pattern when dogfooding agentic workloads with AgentX that building MoonCake from source in ROCm is not an first class citizen pattern.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IdCM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12cd94ca-2aa7-4e06-a4bd-3153982234c5_1220x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="680" src="https://substackcdn.com/image/fetch/$s_!IdCM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12cd94ca-2aa7-4e06-a4bd-3153982234c5_1220x680.png" width="1220" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The transfer engine has no device kernels and does not depend on torch, so one architecture-agnostic wheel covers gfx942 and gfx950, and the ROCm runtime is bound at load time rather than vendored, which means the same wheel works unmodified in both the upstream vLLM ROCm image and the SGLang ROCm image. That was verified as a full cross product: MI300X and MI355X, each under vllm/vllm-openai-rocm and lmsysorg/sglang, running the master binary and a HIP buffer transfer test with data verification. The pull request adds a tag-triggered publish across Python 3.10 through 3.13. An open follow-up &lt;/span&gt;&lt;a href="https://github.com/kvcache-ai/Mooncake/pull/3338"&gt;&lt;span&gt;adds a self-hosted two-node MI350X external prefill and decode tier&lt;/span&gt;&lt;/a&gt;&lt;span&gt; so the ROCm disaggregated path is exercised on real hardware rather than only compiled.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Together, these PRs mean an AMD AgentX run can now install the transfer engine and the KV cache layer from published artifacts into stock upstream images, and move KV directly between GPU memory and the fabric.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Other Optimizations&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The changes above address long-context costs: a prefix that has to survive, a hybrid cache that has to stay correct, a transfer that has to keep up. But there are a whole host of day-zero enablement and correctness bugs that break requests just as badly as a million-token session.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;MiniMax-M3 tested whether that ROCm work compounds into day-zero readiness, and the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;&lt;span&gt;Advancing AI writeup&lt;/span&gt;&lt;/a&gt;&lt;span&gt; draws the comparison directly: AMD&amp;#8217;s first public disaggregated recipe, MI355X FP4, reached InferenceX in January months behind Nvidia, while M3 FP4 disaggregation landed on day zero. This is an improvement from the DeepSeek-R1 period, when parity took months. Three vLLM fixes sat on that day-zero path, and each was a correctness failure rather than a performance one.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Disaggregation was blocked first. NixlConnector&amp;#8217;s handshake asserted that the SPLIT-region block_len scales with the prefill-to-decode TP ratio, but block_len follows per-rank KV heads. M3 has 4 KV heads, so a TP4 prefill paired with a TP8 decode is GQA-capped to one head per rank on both sides and the two lengths are equal where the assertion demanded a factor of two. The handshake was rejected, no KV moved, decode regenerated everything from scratch, and gsm8k scored 0. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45879"&gt;&lt;span&gt;Validating against the actual head ratio&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixed this.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The other two were platform splits. M3&amp;#8217;s sparse-attention backend read the byte-backed FP8 cache as float8_e4m3fn for every E4M3 configuration. But gfx942&amp;#8217;s platform dtype is e4m3fnuz, and the two encodings differ. K and V were therefore altered before the kernels consumed them. The prefill and decode wrappers had also omitted the FNUZ types from their FP8 checks. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45720"&gt;&lt;span&gt;Using the platform dtype for the cache view&lt;/span&gt;&lt;/a&gt;&lt;span&gt; fixed both halves. Separately, M3 ships as separate NVIDIA and AMD model files, and only the NVIDIA one implemented the EAGLE3 interface, so speculative decoding aborted at engine init on ROCm with a model-does-not-support error. &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45546"&gt;&lt;span&gt;Bringing the AMD model to parity&lt;/span&gt;&lt;/a&gt;&lt;span&gt; restored it, with MI355X gsm8k matching both the non-EAGLE3 MI355X run and B200.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The TensorRT-LLM section above covers the M3 work that is long-context specific: descriptor explosion in disaggregated KV transfer, context graph capture, sparse block strides, autotuner candidates, and the corrupt split-K MoE tactics that had to be removed from the pool.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The local AgentX matrix combines session-aware or KV-aware routing, long and variable conversation histories, MTP, hybrid attention, aggregate and disaggregated serving, and concurrency sweeps that cross the HBM capacity cliff. It includes GPU-resident comparisons and CPU DRAM offload through vLLM SimpleCPU, Mooncake, LMCache, and SGLang HiCache. That combination is what activates the upstream work above. The old fixed-sequence matrix usually creates one prompt, performs one prefill, decodes one fixed continuation, and discards the request. It therefore does not measure cache survival across turns, repeated tokenization, session affinity, cache-event traffic, offload churn, transfer progress during scheduler stalls, or long-lived ownership bookkeeping.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The allowed optimization policy treats CPU KV offload as optional. A vendor may use vLLM connectors, LMCache, SGLang HiCache, Mooncake, Dynamo KVBM, or another CPU DRAM connector, or disable offload when the resulting latency and throughput point is better. NVMe offload is deferred. CPU DRAM must scale with the fraction of GPUs used, including the 3 TB cap for non-standardized-DRAM systems. Standardized-DRAM systems have no hard cap but retain the same proportionality rule. The local generator currently applies the 3 TB cap to every runner, so it does not yet implement the standardized-DRAM exception.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The net new optimization surface is not simply longer attention. It is the preservation, movement, routing, reconstruction, and repeated processing of a growing session state. AgentX made those costs large enough to drive generic upstream changes across vLLM, SGLang, TensorRT-LLM, ATOM, AITER, Dynamo, and LMCache. Direct searches of NIXL and Mooncake did not identify additional AgentX-tagged runtime PRs, so their relevant effects remain represented through the engine connector changes above.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;AgentX Methodology Deep Dive&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;AgentX is a massive shift in open source real world long context multi turn agentic trace replaying and we collected traces over $3M worth of tokens within our own dataset consisting of real world traffic from Claude Code, OpenAI Codex, etc. In addition to the dataset, we developed a comprehensive methodology for replaying the traffic patterns fairly. The goal is to stay as authentic to the organic traffic as possible while being equitable about GPU resource requirements.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will deep dive into the agentic trace datasets, replay methodology, and agentic behavior in general. It is recommended reading for readers that would like to better understand the overall shape of agentic workloads as well as how harnesses orchestrate requests under the hood.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;$3M USD Agentic Traffic Trace Collector&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;When initially designing AgentX, our north star goal was to make the benchmark as realistic as possible in terms of KV workload shape and KV reuse patterns. We began experimenting with replaying some existing datasets, such as SWE-bench, Qwen-Bailian, and other random Claude Code traces from HuggingFace. At the time, these datasets did not include significant use of subagents, 1M context, compactions, dynamic workflows, or many other of the recent defining characteristics of an agentic trace. At SemiAnalysis, most of the team are AI power users and use agents for a broad variety of tasks including coding, analyst research, excel modeling, social media operations, and many more. Therefore, we decided that the most achievable and realistic traces could be captured in house.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To collect a large number of traces, we created a proxy that intercepts HTTP requests to Claude / Codex. Then, users that wished to upload traces simply changed the base URL in their Claude / Codex setup to point to the proxy. At the time of writing, we have collected over 8,000 sessions, 3.4 million requests, and 610 billion tokens. Together these represent more than $3M USD in spend. &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126"&gt;&lt;span&gt;We open sourced a representative subset of these sessions for the AgentX v1.0 benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although agentic harnesses can appear complex, they ultimately orchestrate a sequence of HTTP requests. Each request contains some combination of system instructions, tool definitions, and accumulated conversation history. As a session progresses, this history grows and is repeatedly sent back to the model, creating the long contexts and high prefix reuse that AgentX is designed to reproduce.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our proxy records these requests and responses as they occur. It also extracts metadata/HTTP headers such as timestamps, conversation IDs, and subagent IDs, which lets us recover the &lt;/span&gt;&lt;em&gt;&lt;span&gt;structure &lt;/span&gt;&lt;/em&gt;&lt;span&gt;of the conversation (request ordering, concurrent branches, and the approximate parent/child structure of each session). This metadata is what allows us to replay the traces approximately how they would have been seen by the original Anthropic API server.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To protect employee privacy, the replay dataset contains no original prompts, source code, tool arguments, or tool results. Instead, we tokenize each requests&amp;#8217; content and then group it into 64-token blocks, finally replacing each block with a session-scoped chained hash. Matching prompt prefixes therefore produce matching hash prefixes without revealing their contents (&lt;/span&gt;&lt;a href="https://arxiv.org/abs/2506.02634"&gt;&lt;span&gt;this paper&lt;/span&gt;&lt;/a&gt;&lt;span&gt; talks more about this strategy). During replay, these hash blocks can then be replaced with tokens from, say, a coding dataset. So we preserve the approximate context growth and conversation KV-reuse patterns of the original workload.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s worth noting that this process is necessarily imperfect, mostly due to the fact that when using a frontier model provider&amp;#8217;s API, much of the content that the end LLM server actually sees is hidden. For instance, thinking/reasoning content for SOTA models are now encrypted in HTTP requests and replaced with a deterministic hash in an attempt to hinder distillation attacks. However, it seems like &lt;/span&gt;&lt;a href="https://arxiv.org/html/2608.09867v1"&gt;&lt;span&gt;this didn&amp;#8217;t work out exactly as well as the big labs had planned&amp;#8230;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VqTM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F767f2f58-fa9d-40d3-8711-751d243cae9a_500x487.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="487" src="https://substackcdn.com/image/fetch/$s_!VqTM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F767f2f58-fa9d-40d3-8711-751d243cae9a_500x487.png" width="500" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Furthermore, while we have access to all the raw &lt;/span&gt;&lt;em&gt;&lt;span&gt;content&lt;/span&gt;&lt;/em&gt;&lt;span&gt; of the user/assistant messages, system prompts, tool usage, etc., API providers apply additional chat templating server side that aren&amp;#8217;t transparent. We also cannot observe Anthropic&amp;#8217;s proprietary tokenizer or context introduced by server-side tools. Images and documents also do not have a straightforward correspondence between their wire representation and the number of tokens processed by the model. We use deterministic placeholders and empirically calibrated, model-specific padding to bring reconstructed prompt lengths to best estimate the content that is actually seen by the server.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We can&amp;#8217;t &lt;/span&gt;&lt;em&gt;&lt;span&gt;perfectly &lt;/span&gt;&lt;/em&gt;&lt;span&gt;capture and replay Claude Code / Codex traces as they are &lt;/span&gt;&lt;em&gt;&lt;span&gt;actually seen &lt;/span&gt;&lt;/em&gt;&lt;span&gt;by the Anthropic / OpenAI servers due to incomplete information, but we can get pretty close. The chart below shows the ratio of hash tokens (after our approximations/processing) and the true API provider token count across all request lengths and models.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qMxe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7123b5de-9942-4298-8ccd-1b69b8a71df0_2048x1799.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1279" src="https://substackcdn.com/image/fetch/$s_!qMxe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7123b5de-9942-4298-8ccd-1b69b8a71df0_2048x1799.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To summarize, collecting real Claude Code traces in the exact way that they would have been replayed against the original server is not easy due to incomplete information. However, we have enough context to collect and replay traces with extremely high fidelity to match original traffic patterns, timing, prefix caching, and DAG patterns.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;AgentX $3Mil Dataset&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The dataset used for AgentX v1.0 can be found on &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126"&gt;&lt;span&gt;HuggingFace&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It is a 393 session subset of 8.3k session proxy corpus mentioned in the previous section. Additionally, we applied some post-processing to clean up anomalies, such as:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Removing Claude Code security monitor (auto mode) requests and title generation requests as these are specific to Claude Code and not necessarily representative of general agentic traffic&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Removing requests with a reconstructed input length greater than 990k tokens (where our approximation overcounted)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Remove duplicate requests (sometimes the proxy received identical requests if the connection was dropped)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Additionally, each conversation is formatted into the WEKA trace format, proposed by Callan Fox as part of his &lt;/span&gt;&lt;a href="https://github.com/callanjfox/kv-cache-tester"&gt;&lt;span&gt;kv-cache-tester&lt;/span&gt;&lt;/a&gt;&lt;span&gt; project. We chose this format for storing trace information primarily because we worked closely with Callan to develop the benchmark and found it intuitive for storing per-session traces. All in all, the trace format is quite arbitrary and our proxy dataset could be mapped to other formats such as &lt;/span&gt;&lt;a href="https://docs.nvidia.com/aiperf/benchmark-modes/trace-replay-with-mooncake-traces"&gt;&lt;span&gt;Mooncake&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YCZ3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48045991-20d7-4685-863d-c9aa1d6d3142_1812x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1646" src="https://substackcdn.com/image/fetch/$s_!YCZ3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48045991-20d7-4685-863d-c9aa1d6d3142_1812x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;After these are applied, we get the following dataset. Note that not all X-axes are the same.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-pfO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c9c7e-44ba-4ffd-bdc3-58fbbef8f30d_2048x2004.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1425" src="https://substackcdn.com/image/fetch/$s_!-pfO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c9c7e-44ba-4ffd-bdc3-58fbbef8f30d_2048x2004.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The distributions for ISL/OSL and inter-turn latency (in agentic work, this is mainly time taken for tool use) are relatively log-normal. The median ISL is 142k tokens and the median OSL is 444 tokens. The median inter-turn latency (or &amp;#8220;tool use time&amp;#8221;) was 3.84 seconds. Only ~10% of inter-turn latency was greater than 1 minute. These are likely made up of gaps where the harness is waiting on an actual response from a human.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One thing worth mentioning is that these request distributions will look different depending on which harness is being used, since different amounts/types of context are injected (for instance Pi is known to be minimalist in terms of harness-injected context while Claude Code is known for the opposite. Additionally, the ISL/OSL distributions will depend on the model, as different models have tokenizers that can produce either more/fewer tokens. However, given a significant portion of the world&amp;#8217;s agentic coding traffic goes through Claude Code, we believe this is rather representative.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The dataset also has 175 sessions with at least one subagent (~44% of all sessions). There are 1,697 total subagent rollouts in the dataset, with a median of 4 per session. The median wall-clock time for a subagent (beginning of first request to end of last request) is 2.27 minutes. This distribution again follows a relatively log-normal distribution.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!X2Hg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4792809-087e-431b-acce-aecdd3855b3b_2048x1390.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="988" src="https://substackcdn.com/image/fetch/$s_!X2Hg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4792809-087e-431b-acce-aecdd3855b3b_2048x1390.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This dataset includes context up to 1M context, meant to test the more recent frontier open-weight models. Additionally, we have &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-062126-256k"&gt;&lt;span&gt;a truncated 256k context length dataset&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which we replay against models with a max context length of 256k or less.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Agentic Traffic Trace Replayer&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Rather than build a replay solution from the ground up, we decided to partner with &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/aiperf"&gt;&lt;span&gt;AIPerf&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a vendor agnostic HTTP replayer tool from Nvidia that is adopted by many in the industry including tenstorrent, AWS, AMD, etc. While the intention is to integrate AgentX features into the upstream repo, we maintain a separate &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/aiperf"&gt;&lt;span&gt;fork&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to be even more vendor neutral such that we have control over allowing even more 3rd more contributions. Again, thank you to the AIPerf team, especially Anthony Casagrande, for the help and dedication to building a realistic and representative agentic benchmark.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;An agentic session is naturally described as a directed acyclic graph (DAG). Each request is a node, and an edge means the request at its head cannot be issued until the one at its tail has completed. Every edge additionally carries a delay, specifying how long to wait once that precondition is met.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The simplest session is completely linear, with no subagents and no parallel requests, each request depends on exactly one predecessor. The graph degenerates to a line and the only thing an edge encodes is the inter-turn latency (aka, tool use time or &amp;#8220;think&amp;#8221; time), which is the client&amp;#8217;s local work rather than the model&amp;#8217;s.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!N8B_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20662be0-c311-49e9-8e39-0973d8a1865d_2048x1169.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="831" src="https://substackcdn.com/image/fetch/$s_!N8B_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20662be0-c311-49e9-8e39-0973d8a1865d_2048x1169.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In agentic traces, subagents can also be spawned. A subagent is a separate stream of requests that has its own context, typically to do a focused task. Multiple subagents can run in parallel to do more aggregate work, and subagents can run in parallel to the main agent in some cases. The main agent then waits on groups of subagents to finish, and then incorporates their outputs back into the main agent&amp;#8217;s context (while this is not &lt;/span&gt;&lt;em&gt;&lt;span&gt;always &lt;/span&gt;&lt;/em&gt;&lt;span&gt;the case, this is the most common pattern).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This behavior is responsible for turning the linear chain of requests above into a DAG, where certain requests are dependent on others. When a group of requests belonging to one subagent is identified, AIPerf finds the most recent main agent predecessor and designates it as the &amp;#8220;spawning&amp;#8221; request. Similarly, the &amp;#8220;join&amp;#8221; request is identified by the subsequent main agent request after the duration of the subagent group completes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the example below, the subagent group consists of a single subagent (001), which runs two requests. Its first request goes out as soon as the main agent&amp;#8217;s opening request completes. When that request completes, a 2.2-second inter-turn delay stands in for tool-use wall-clock time, and then the subagent&amp;#8217;s second request is sent. The main agent&amp;#8217;s second request is the join point for subagent 001. It goes out once both conditions are met: at least 17 seconds have elapsed since the main agent&amp;#8217;s first response &lt;/span&gt;&lt;em&gt;&lt;span&gt;and &lt;/span&gt;&lt;/em&gt;&lt;span&gt;subagent 001&amp;#8217;s second request has completed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One small limitation is that HTTP timestamps reveal timing, but not always causality. In the example below, if subagent 001 finishes with seven seconds remaining before main-agent request 2&amp;#8217;s recorded start, we cannot tell whether those seven seconds represent work performed after the subagent returned or independent work already underway. AIPerf therefore preserves both constraints: request 2 waits for its recorded main-path delay and for subagent 001 to finish. This reproduces the observed timing and workload topology, but not any dependencies hidden inside the harness. These are things we hope to improve on in subsequent versions of AgentX.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ASAb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18adec21-15d9-40cd-af7d-0772da4a9af0_2048x1729.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1229" src="https://substackcdn.com/image/fetch/$s_!ASAb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18adec21-15d9-40cd-af7d-0772da4a9af0_2048x1729.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Multiple subagents can also be spawned from a single request. In the example below, subagents 001 and 002 both identify their spawning parent as main agent request 1, and then join at main agent request 2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AIPerf can also identify &amp;#8220;auxiliary&amp;#8221; requests, which are one off requests that do not share context with any other requests in the stream. These branch off of the main agent and never join back. In practical terms, these are requests like Claude Code&amp;#8217;s &amp;#8220;summarize this session&amp;#8221; requests that are unrelated to the conversations context. Another good example is Claude Code&amp;#8217;s &amp;#8220;/btw&amp;#8221; feature.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PI1j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d5f01ad-1736-496b-91b4-31672002bf47_1920x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1553" src="https://substackcdn.com/image/fetch/$s_!PI1j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d5f01ad-1736-496b-91b4-31672002bf47_1920x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The example below brings it all together. This is the type of trace snippet you&amp;#8217;d see in the actual dataset. We have five parallel streams leaving a single main agent request, separated into groups defined by what main agent request they join upon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Subagents 001 and 002 finish at 20 and 23 seconds, so the first main agent request starting after that, at 25 seconds, is their join. Subagents 003 and 004 are spawned in the same gap but run much longer, finishing at 46 and 50 seconds, so they join at 52 seconds instead. AIPerf keys each subagent by the pair (spawning request, join request), which means these four streams collapse into two branches even though all four leave the same node. The branch takes the name of its first member, which is why the join edges are labelled with subagent 001 and subagent 003.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is also the first case where the main agent overlaps its own subagents. The request at 25 seconds goes out while 003 and 004 are still running: the main agent is blocked only on the group that joins it, not on every subagent in flight.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The auxiliary chain attaches to whichever main agent request most recently preceded it, which here is the request at 52 seconds rather than the one that opened the session. That node therefore does two things at once &amp;#8212; it receives the second subagent group&amp;#8217;s join, and it spawns the one-off. Of course the auxiliary request never joins back.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g27W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f465f9-372c-4ee1-b42f-e79fa9fe352b_1677x2048.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1778" src="https://substackcdn.com/image/fetch/$s_!g27W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f465f9-372c-4ee1-b42f-e79fa9fe352b_1677x2048.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Further AgentX Deep Dive&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Pareto Frontiers Sweeping&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In the AgentX workload, in order to generate a Pareto frontier, we sweep over the number of concurrent Claude Code sessions against a single deployment. Since each conversation has realistic inter-turn delays and subagent usage, we get a spikier, more realistic traffic pattern. The example below is an example of replaying 40 concurrent clients against a B200 TP4 vLLM server running MiniMax M3.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2ADX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058757ed-531f-4cfb-a1ad-a06b1499ecbd_1360x612.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="612" src="https://substackcdn.com/image/fetch/$s_!2ADX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F058757ed-531f-4cfb-a1ad-a06b1499ecbd_1360x612.png" width="1360" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/agentic/439239"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yoYG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43184e50-b71a-4a48-a569-98d6906cb259_2048x1167.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="830" src="https://substackcdn.com/image/fetch/$s_!yoYG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43184e50-b71a-4a48-a569-98d6906cb259_2048x1167.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?g_rundate=2026-08-13&amp;amp;g_runid=31723588108&amp;amp;i_seq=agentic-traces&amp;amp;i_xmode=interactivity&amp;amp;g_model=MiniMax-M3&amp;amp;i_best=0&amp;amp;i_active=b200_vllm"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A final point worth discussing is what metrics are important to consider when evaluating agentic workloads. We believe interactivity (TPS - tokens per second) and time-to-first-token (TTFT) are still important, and these are the industry standard for evaluating SLOs. When viewing AgentX results, it is &lt;/span&gt;&lt;em&gt;&lt;span&gt;extremely important &lt;/span&gt;&lt;/em&gt;&lt;span&gt;to consider both TPS and TTFT together, since there are inference optimizations that can improve one at the cost of the other.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are currently working on defining a new metric that combines TPS and TTFT in a meaningful way. This should also take into account that in agentic workloads, people often care more about the end-to-end speed at which a &lt;/span&gt;&lt;em&gt;&lt;span&gt;task &lt;/span&gt;&lt;/em&gt;&lt;span&gt;finishes rather than how fast they receive tokens or TTFT.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, it&amp;#8217;s worth mentioning that the end-to-end latency, in its current form, is now less meaningful because end-to-end latency is directly proportional to OSL. Therefore, P90 E2E latency is heavily affected by the 10% tail of longest output sequence lengths. While it can still be good to holistically compare the overall performance of certain configurations, we recommend instead looking at a combination of TPS and TTFT.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Warmup, Timing, Determinism, and Conversation Reuse&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The goal of AgentX is to benchmark systems that are already in a steady state. With agentic workloads, this means that profiling should start from a point where some context trajectories are already cached. To mimic a steady state, it is also desirable that not all conversations start at turn 0, which may cause a &amp;#8220;&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Thundering_herd_problem"&gt;&lt;span&gt;thundering herd&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; effect.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Warmup proceeds in two stages. First, AIPerf uses a fixed random seed to select a wall-clock point between 25% and 75% of each conversation. At that point, it identifies every active request stream, including the main agent and any active subagents, and sends the most recent request before the selected point for each stream. These primer requests reconstruct the conversation state at that point and are dispatched together. AIPerf waits for them to drain before continuing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VgNS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F963dce62-c49b-4deb-afee-e8dd448526c5_2048x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="940" src="https://substackcdn.com/image/fetch/$s_!VgNS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F963dce62-c49b-4deb-afee-e8dd448526c5_2048x1322.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the second phase, each replay lane is advanced by 10 additional requests to give additional opportunity for the KV cache to materialize. All warmup requests omit inter-turn delay and use a maximum output length of one token, substantially reducing warmup time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PFJR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85116f5f-be0d-405b-a5d9-6a9237b44cc3_2048x895.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="636" src="https://substackcdn.com/image/fetch/$s_!PFJR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85116f5f-be0d-405b-a5d9-6a9237b44cc3_2048x895.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!b5Nw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffef10e0d-261e-4978-8650-b10304ec04d0_2048x897.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="638" src="https://substackcdn.com/image/fetch/$s_!b5Nw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffef10e0d-261e-4978-8650-b10304ec04d0_2048x897.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When warmup is complete, profiling begins and lasts one hour. All metrics are collected strictly over this duration. For reproducibility, AIPerf accepts a seed that ensures each run samples conversations deterministically, conversations start at the same point, and that each conversation is reconstructed with the same synthetic content run-to-run. During profiling, we impose a 5 minute idle time cap on each stream, so that long inter turn gaps don&amp;#8217;t &amp;#8220;acquire&amp;#8221; a worker lane for the duration of the benchmark. We enforce this so that we can effectively run the benchmark in 1 hour. In later versions of AgentX where we include NVMe offloading, we may choose to increase this so that we can measure a longer TTL. For now, 5 minutes is reasonable as this is &lt;/span&gt;&lt;a href="https://platform.claude.com/docs/en/build-with-claude/prompt-caching#:~:text=Check%20that%20calls%20are%20made%20within%20the%20cache%20lifetime%20(5%20minutes%20by%20default)"&gt;&lt;span&gt;Anthropic&amp;#8217;s default KV cache TTL&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This level of determinism ensures that runs using the same inference engine, hardware, concurrency, and server settings are reproducible. However, because AgentX is a &lt;/span&gt;&lt;a href="https://notpeerreviewed.com/blog/tail-latency/"&gt;&lt;span&gt;closed-loop benchmark&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, different configurations will complete different numbers of requests at different rates, introducing some natural variation in the workloads they encounter. This is most noticeable at lower concurrency, where fewer requests are completed (naturally) and the workload has less opportunity to converge toward the dataset&amp;#8217;s overall distribution.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When a conversation completes during profiling, its replay lane selects another conversation from the dataset sampler. Each replay receives a unique, deterministic cache-bust marker that is prepended to every independent prefix chain, including the main-agent chain and any fresh-context subagent or one-off chains. Forked subagents inherit the marker from their parents. The marker stays the same within a replay, preserving its KV-reuse patterns, but changes between replays to prevent artificially high cache-hit rates. This also enables scenarios to run where concurrency is greater than the number of conversations in the dataset (393).&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;AgentX&amp;#8217;s Fair Speculative Decoding Methodology&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;As mentioned, the dataset is anonymized upon collection. This means that the 64-token hash blocks must be synthetically filled in before replay. AIPerf accomplishes this by deterministically sampling from a synthetic coding/tool-use token pool.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Importantly, the KV reuse patterns as well as request timing are maintained, however the synthetic request data does lead to some additional considerations. Namely, running speculative decoding methods on synthetic data may lead to the speculator rejecting/accepting an abnormal number of tokens when compared to non-synthetic data (since the speculator is not trained on synthetic data).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We talked about this shortcoming in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/188090866/multi-token-prediction-mtp"&gt;&lt;span&gt;InferenceX v2 article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and have since then improved on our methodology. We have worked closely with the community to ensure a mechanism exists in most OSS inference engines that allows users to force how many draft tokens to accept from the speculator (aka, &amp;#8220;acceptance length&amp;#8221; or &amp;#8220;acceptance rate&amp;#8221;). Then, for each (model, speculator, draft length, and thinking mode) combination, &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX/tree/main/golden_al_distribution"&gt;&lt;span&gt;we collect the average AL&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on the &lt;/span&gt;&lt;a href="https://huggingface.co/datasets/nvidia/SPEED-Bench"&gt;&lt;span&gt;SPEED-Bench&lt;/span&gt;&lt;/a&gt;&lt;span&gt; agentic coding dataset, a &amp;#8220;unified benchmark designed to evaluate speculative decoding (SD) across diverse semantic domains and realistic serving regimes.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Then, at runtime we apply these realistic Speculative decoding acceptance lengths to AgentX to ensure vendor neutral fairness.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9hPf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15f47a8-fcb3-4220-80ee-4b95bfa7b0b0_2048x1376.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="978" src="https://substackcdn.com/image/fetch/$s_!9hPf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15f47a8-fcb3-4220-80ee-4b95bfa7b0b0_2048x1376.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Exploring Agentic Workloads Detailed Telemetry Tutorial&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;AgentX required more than a new benchmark harness and dataset. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/inference/agentic/439903"&gt;&lt;span&gt;We also spent some time rebuilding parts of the InferenceX visualization to make agentic results easier to explore and digest&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. A single AgentX datapoint represents thousands of requests across growing conversations, subagents, warmup periods, cache states, and dynamically changing in-flight load. Due to this, having a single point on a Pareto curve can hide a lot of useful information. As we have said many times - there is never just a one size fits all solution for inference serving.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hiWr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46159be7-8b5b-49d7-990f-2ce1cf1217d0_1110x687.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="687" src="https://substackcdn.com/image/fetch/$s_!hiWr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46159be7-8b5b-49d7-990f-2ce1cf1217d0_1110x687.png" width="1110" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference/agentic/439903"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One of our major changes is how we construct the curves themselves. In previous versions of InferenceX, configurations with speculative decoding enabled and disabled were often displayed as separate curves. However, we are now moving away from this approach. The frontend now combines allowed inference optimizations and displays the best available curve for each model, SKU, and inference engine combination. Due to this, individual points along a single curve may use different optimization techniques and configurations, including speculative decoding, disaggregation, or KV cache offload.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our goal is to show the best production performance available from each hardware and software stack, rather than creating a separate curve for every possible combination of optimizations. However, we still expose the underlying configuration and provenance for every point. Clicking a point shows a tooltip with a detailed view showing exactly which configuration produced it, along with the run metadata, links to the publicly viewable CI provenance, and AgentX specific statistics. From there, the &amp;#8220;View charts&amp;#8221; link opens the full point-detail page with AgentX specific statistics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Jfa1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadd2d50c-a0be-4771-a00b-e6b4f1fe8502_2048x1256.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="893" src="https://substackcdn.com/image/fetch/$s_!Jfa1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadd2d50c-a0be-4771-a00b-e6b4f1fe8502_2048x1256.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The detailed point view provides a much deeper look into the selected AgentX run. It includes input and output sequence length distributions, interactivity and TTFT over time, KV cache utilization, request queue depth, prefix cache hit rate, input and decode throughput, prompt-token source breakdown, and unique input tokens over time. These metrics make it easier to understand why two points with similar aggregate throughput may behave differently throughout the replay.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The page also separates warmup and profiling data. Readers can switch between the two phases to inspect how the system behaves while its cache state is being established and during the profiling period used for the benchmark run.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9zfy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91abef64-d639-4da8-8d7e-3499be750011_1001x1541.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1541" src="https://substackcdn.com/image/fetch/$s_!9zfy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91abef64-d639-4da8-8d7e-3499be750011_1001x1541.png" width="1001" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;Points using KV cache offload are surrounded by an additional dotted circle on the main chart, which is used to distinguish points with KV offload enabled. When one of these points is selected, the detail page shows the offload type, KV offload engine, chip cache-hit rate, and CPU cache-hit rate. This makes it possible to see where KV offload contributes to the best curve without creating a separate curve for every offload configuration.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another new feature is the request timeline. This view shows the individual requests replayed during a selected AgentX run and can be organized either by conversation or by worker. The conversation view groups subagents underneath their corresponding root conversation, making it easy to see when conversations and subagents overlap. Warmup and profiling requests can also still be viewed separately.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VEvb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8fc6236-52bd-45ff-ac2e-539899c00d87_2048x1097.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="780" src="https://substackcdn.com/image/fetch/$s_!VEvb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8fc6236-52bd-45ff-ac2e-539899c00d87_2048x1097.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Each request in the timeline is clickable and links directly to the corresponding conversation and turns on the InferenceX datasets page. This allows readers to move from an aggregate point on the Pareto curve to the exact anonymized request that was replayed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/datasets"&gt;&lt;span&gt;The AgentX page&lt;/span&gt;&lt;/a&gt;&lt;span&gt; also includes a flamegraph for visualizing the structure of an individual conversation. Each bar represents one turn and is scaled relative to the largest turn in that conversation. The bar is divided into cached prefix tokens, uncached input tokens, and generated output tokens. This gives a visual representation of how the context grows throughout a conversation and how much of each request can be reused from KV cache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qm5t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0e991d9-6ab6-43e7-9cc9-93ac9ca5b7bd_2048x879.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="625" src="https://substackcdn.com/image/fetch/$s_!qm5t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0e991d9-6ab6-43e7-9cc9-93ac9ca5b7bd_2048x879.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;InferenceX/AgentX Future Next Steps&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We are excited to continue our goal of making AgentX the most realistic and representative benchmark. For the foreseeable future, we will continue making &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/aiperf/releases"&gt;&lt;span&gt;small bug fixes to the current v1.0.x harness&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, but have plans to make bigger changes to the v1.1 harness. Submissions for each distinct model will always run the same minor version to ensure all results are comparable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As a fast follow, we will add SSD/NVMe KV offloading. This will allow an even larger KV cache working set size than DRAM allows, which will allow the high throughput left side of the pareto curve.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We will also capture a larger, more diverse, and more recent dataset of agentic traces across a wider variety of models and harnesses. Rather than representing each request as one contiguous list of hash IDs, the next dataset will preserve the boundaries between system instructions, user and assistant messages, tool calls, and tool results. This will allow AgentX to evaluate workload-aware serving techniques that use information available to the agent harness but normally hidden from the inference engine. For example, a router could direct low-reuse tool traffic to dedicated prefill workers, retain an agent&amp;#8217;s prefix during a long tool call, or prefetch and share prefixes when subagents fork. The current format preserves request sizes and KV-reuse patterns, but it lacks the structure needed to evaluate these optimizations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/issues/27574"&gt;&lt;span&gt;SGLang RFC&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by Ishan provides a concrete example of why this richer trace structure matters. It proposes a router-initiated hint interface that uses information such as session lifecycles, shared-prefix boundaries, tool-call duration, and subagent state to tell the engine when KV should be shared, prefetched, demoted, pinned, or retained. Capturing this structure would allow future AgentX versions to evaluate these workload-aware cache policies instead of only replaying flat token prefixes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AXto!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36899201-da3b-42ec-888f-2443c63980aa_2048x1260.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!AXto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36899201-da3b-42ec-888f-2443c63980aa_2048x1260.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/sgl-project/sglang/issues/27574"&gt;GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Lastly, we are capturing fine-grained and coarse grain power telemetry data to have an even more accurate view of the efficiency of the Joules per intelligence of different software and hardware stacks.&lt;/p&gt;&lt;p&gt;We have so much data and so many possible visualizations. Please let us know any visualizations you would like to see, as well as any more general feature requests!&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX-app/issues/new/choose"&gt;&lt;span&gt;Suggest Frontend Feature!&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Performance Throughout the Model Lifecycle&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;In the following sections, we turn to our historical single turn data (8k1k), which covers each model from launch day through the point we retired it from active testing. There are strong results here from both Nvidia and AMD, including several fixed sequence length configurations where MI355X comes out ahead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AgentX better represents today&amp;#8217;s agentic inference workloads. However, the historical fixed-sequence InferenceX results still remain useful for tracking the performance over time. Workloads such as 8k1k and 1k1k strip away most session-level behavior, including prefix reuse, persistent KV cache state, and routing affinity. This makes them less representative of current production traffic, but still useful for tracking how inference performance improves as software support matures.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/agentx-inferencexv3-does-cuda-moat"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-23T16:19:35+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/are-open-models-catching-up</id>
    <title>Are Open Models Catching Up?</title>
    <updated>2026-08-21T08:40:02+00:00</updated>
    <author>
      <name>Evan Cloutier</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;The past two months have been a breakout period for open source AI. Yes, there was the &amp;#8220;DeepSeek moment&amp;#8221; back in January 2025, but no one actually used R1 to do any economically valuable work. In contrast, models like &lt;/span&gt;&lt;strong&gt;&lt;span&gt;GLM 5.3 and Kimi K3 are genuinely capable of many of the same coding and agentic tasks that rocketed Anthropic to $65B+ ARR&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Unlike others who inflated ARR, &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;our figures were much closer to reality.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5AMx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F071b0427-31a2-42ce-9aae-7af8499352fa_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!5AMx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F071b0427-31a2-42ce-9aae-7af8499352fa_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is an exciting time to be a token consumer. Competition is heating up, usage resets are being doled out, and the battle for your tokens now extends beyond the OpenAI-Anthropic duopoly. Fireworks alone is processing over &lt;/span&gt;&lt;a href="https://fireworks.ai/blog/series-d-announcement"&gt;&lt;span&gt;40T&lt;/span&gt;&lt;/a&gt;&lt;span&gt; tokens per day&amp;#8212;2x the OpenAI API&amp;#8217;s &lt;/span&gt;&lt;a href="https://openai.com/index/accelerating-the-next-phase-ai/"&gt;&lt;span&gt;volume&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at the end of March.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;major FUD has also emerged as a result of open model success&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: if open models stay capable enough relative to the closed frontier at a fraction of the cost, won't the model layer become commoditized? This outcome would obviously be disastrous for frontier lab margins. For full details on Anthropic and OpenAI&amp;#8217;s financials, see our&lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt; Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To project how the open vs closed capability gap will progress in the future, we first need to measure the past. Naively, you might pick a single set of benchmarks to measure all historical models, but this is a mistake. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Every benchmark is a product of a particular era.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; When someone creates a new benchmark, their goal is to discern differences in model capabilities at the time. If they&amp;#8217;re successful, the model makers will climb said benchmark until it becomes saturated. Once that happens, everyone stops caring about the benchmark, and the cycle repeats.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;There have been three eras thus far in the history of LLMs: early scaling, reasoning, and agentic&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Each era represented a step-function increase in model utility, and rather than trying to plot a single continuous trend, we believe it&amp;#8217;s better to evaluate the models and benchmarks from each era individually.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When viewed this way, it becomes clear that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the open vs. closed gap moves in cycles&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. At the start of each era, a frontier lab completes some promising research, trains an impressive model, deploys it at scale to their users, and jumps ahead. Then, other labs identify the key advances, reverse-engineer what the frontier lab is doing, replicate them in their own models, and close the gap. Nothing stays secret forever&amp;#8212;especially when you factor in distillation. It&amp;#8217;s just a question of how long it takes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To answer this question, we took all the relevant models from each era and ran a curated set of benchmarks to get a composite capability score. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;The result is a clear trend: with each generation, open-source models take half as long to catch up to the first closed-source model of the era.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!l4pU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f661308-2050-4dab-8a3c-16647523b34b_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!l4pU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f661308-2050-4dab-8a3c-16647523b34b_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, benchmarks don&amp;#8217;t tell the full story, and we&amp;#8217;ll highlight all the relevant caveats below. Finally, we&amp;#8217;ll extend this analysis into the future, and explain why it&amp;#8217;s less bearish frontier models than you might initially think.&lt;/p&gt;&lt;h1&gt;How we measured&lt;/h1&gt;&lt;p&gt;Here&amp;#8217;s an overview of the models and benchmarks we selected for each era:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3Ysi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F398dbca6-c628-4a13-b22d-df1362c02434_2048x1280.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="910" src="https://substackcdn.com/image/fetch/$s_!3Ysi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F398dbca6-c628-4a13-b22d-df1362c02434_2048x1280.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Picking a single SOTA closed and open model at a particular time is subjective, but our selections reflect the general consensus among AI experts. In cases where there&amp;#8217;s debate&amp;#8212;e.g. Fable 5 vs GPT 5.6 today&amp;#8212;we were conservative and tested both.&lt;/p&gt;&lt;p&gt;&lt;span&gt;For benchmarks, we relied on a combination of personal taste and popularity. Humanities Last Exam (HLE), for example, is known to have lots of &lt;/span&gt;&lt;a href="https://www.futurehouse.org/research/hle-exam"&gt;&lt;span&gt;issues&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, but was also truly one of the defining benchmarks of the reasoning era with no close substitutes. SWE-bench Pro, on the other hand, is similarly popular and &lt;/span&gt;&lt;a href="https://openai.com/index/separating-signal-from-noise-coding-evaluations/"&gt;&lt;span&gt;problematic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, but also closely approximated by DeepSWE.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of the benchmark scores here we ran ourselves using &lt;/span&gt;&lt;a href="https://www.primeintellect.ai/"&gt;&lt;span&gt;Prime Intellect&lt;/span&gt;&lt;/a&gt;&lt;span&gt;'s evaluation stack, specifically their environments hub and the evals harness included in&lt;/span&gt;&lt;a href="https://github.com/PrimeIntellect-ai/prime-rl"&gt;&lt;span&gt; Prime-RL&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The rest come from runs by our friends at &lt;/span&gt;&lt;a href="https://artificialanalysis.ai/"&gt;&lt;span&gt;Artificial Analysis&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and Datacurve's &lt;/span&gt;&lt;a href="https://deepswe.datacurve.ai/"&gt;&lt;span&gt;DeepSWE leaderboard&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Open models were served the way they would have been at release: vLLM versions, hardware that was in use at the time, and sampling settings from the model card. For closed models, we ran against their pinned API versions. Where our numbers share a chart with third-party values, we matched their rulesets.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We&amp;#8217;d like to give a huge thank you to Florian Brand (&lt;/span&gt;&lt;a href="https://x.com/xeophon?s=20"&gt;&lt;span&gt;@xeophon&lt;/span&gt;&lt;/a&gt;&lt;span&gt;) from Prime Intellect&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for helping us pick benchmarks/models, implement evals, and check for correctness.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Era 1 | Early scaling (2022-2024)&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s June 2023. The world is reckoning with ChatGPT, and Mark Zuckerberg just agreed to fight Elon Musk at the Colosseum. But while Zuck is training jiu-jitsu and doing Murphs, his company is doing some training of their own. FAIR is about to push past the Mistral exodus and other drama, and successfully ship Llama-2-70B. The first open model that approached the frontier.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;How far behind the frontier was it? Four benchmarks helped define SOTA at the time: GSM8K, HumanEval, TriviaQA, and MMLU-Pro:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PJUJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb674a44-63d5-4960-a9b7-4f602ab8f8b3_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!PJUJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb674a44-63d5-4960-a9b7-4f602ab8f8b3_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;These benchmarks are representative of what the frontier models were capable of at the time. Simple multiple choice questions, word problems, and programming problems scoped to single functions. How times have changed! Here is how Llama-2 stacked up against GPT-3.5 Turbo in a cage match of their own:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TTkE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e69460-de7f-48db-b750-b6ce87fde19b_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!TTkE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e69460-de7f-48db-b750-b6ce87fde19b_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;To account for differences in benchmark difficulty, we normalized the scores. Each era&amp;#8217;s best result is set to 100, and every other model is scored relative to that. The composite score represents the equal-weight average of the four: 75.7 for GPT-3.5 Turbo on the frontier, and 39.9 for Llama-2-70B. A measured, but considerable gap. This initial lag creates the storyline for the rest of the era: Mixtral-8x7B released in December 2023 created momentum towards GPT-4 capability, only to have GPT-4 Turbo and GPT-4o race ahead:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0OZy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F232b9c60-4520-4ad7-b333-41398cff3f0c_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!0OZy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F232b9c60-4520-4ad7-b333-41398cff3f0c_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;It took until the Llama-3.1-405B release in July 2024 for open models to close the GPT-3.5 Turbo gap, with a composite score of 86. The last frontier model, GPT-4o, was matched in capability by DeepSeek V3 in December 2024, scoring 95.5 and 94.1 respectively. Qwen2.5-72B landed within striking distance of GPT-4o at a sixth of the 405B parameter count, pre-trained on 18T tokens.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;This is the first instance of the gap closing. Through this era, we didn&amp;#8217;t see the frontier rise much beyond the capabilities of GPT-4, but this was mostly due to priorities: Turbo and 4o were built to make GPT-4 cheaper and faster, not smarter.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Meanwhile, OpenAI had been working towards a different kind of model. The &lt;a href="https://arxiv.org/abs/2305.20050"&gt;process-reward paper&lt;/a&gt; and &lt;a href="https://x.com/polynoamial/status/1676971503261454340"&gt;&lt;span&gt;Noam Brown hire&lt;/span&gt;&lt;/a&gt; both pointed at reasoning, and by mid-2024 &lt;a href="https://arxiv.org/abs/2408.03314"&gt;every major lab was publishing test-time-compute research&lt;/a&gt;. Seven weeks after 405B, on September 12 2024, OpenAI shipped o1-preview: a model that sparked a new era of innovation.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;Era 2 | Reasoning (2024-2025)&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;o1 reset the choice of benchmarks, along with the gap. The elementary evals from Era 1 were no longer difficult enough to test o1&amp;#8217;s full abilities. Grade school math problems were replaced by the AIME. Scale AI collected some of the most esoteric, PhD-level multiple choice questions in the world and provocatively called it Humanity&amp;#8217;s Last Exam.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_TZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7676e5dd-379e-49d4-ba17-25652fc3e5ad_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!_TZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7676e5dd-379e-49d4-ba17-25652fc3e5ad_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;It&amp;#8217;s hard to overstate how important the release of o1 was in tech circles. Many consider it the day &amp;#8220;we knew for sure we&amp;#8217;d get AGI.&amp;#8221; However, unlike Llama-2-70B vs GPT-4, the gap between open vs closed source started off much smaller during Era 2. The culprit? A little known model called DeepSeek R1.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iZRt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F891cbf92-d756-4015-ba25-936c5fe533e6_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!iZRt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F891cbf92-d756-4015-ba25-936c5fe533e6_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A 12.1 point gap vs 35.8 at the start of the previous era. The market puked in response. Fortunately, the AI capex trade quickly recovered, as people realized good models being open source is good for AI infrastructure. The "we're so back" open model momentum established by R1 was soon squashed by Meta's Llama-4 Maverick and other Chinese models.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XxAm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700c6b14-aaea-4e05-ac7e-edb6480d5fca_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!XxAm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700c6b14-aaea-4e05-ac7e-edb6480d5fca_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Gemini 2.5 Pro and o3 continued to push the reasoning frontier, and the R1-0528 checkpoint closed the initial gap in May 2025 with a score of 78. An 8.5 month window to close a 12.1 point gap:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!clCp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd00db9e-d73b-4e72-82ac-b7eab611446d_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!clCp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd00db9e-d73b-4e72-82ac-b7eab611446d_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Notably absent from the charts so far is Anthropic. Their model cards reported these benchmarks like everyone else's, but they never fought for the top of the leaderboard in this era. While OpenAI and Google traded crowns, Anthropic was turning Claude into the default coding agent. This set the terms for the next era: the benchmarks that now matter run in a terminal.&lt;/p&gt;&lt;h1&gt;Era 3 | Agentic (2025 - Today)&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Prior to Claude Code, agents had their moments (like Cognition&amp;#8217;s &lt;/span&gt;&lt;a href="https://x.com/cognition/status/1767548763134964000"&gt;&lt;span&gt;viral demo of Devin&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March 2024), but Anthropic was the first to nail a model + harness product&amp;#8212;and it paid off. Since the general release of Claude Code in May 2025, Anthropic has added north of $65B in ARR. For in-depth Anthropic and OpenAI ARR projections, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With agents came yet another new set of benchmarks. Fancy math problems were no longer the best test of model capabilities. Instead, people wanted to know how well models could write code, do web search, and generally use a computer like a human.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kxyi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe082580f-2b7d-4877-a6bd-b712eeec3e0c_2048x1280.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="910" src="https://substackcdn.com/image/fetch/$s_!Kxyi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe082580f-2b7d-4877-a6bd-b712eeec3e0c_2048x1280.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Terminal-Bench 2.1, BrowseComp-Plus, &amp;#120591;&amp;#179;-banking, and DeepSWE cover the long-horizon work agents are used for today: software engineering, deep research, and knowledge work. We also picked benchmarks that skew newer by design to limit memorization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NxrI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02ce4e10-36e6-4db4-ab09-99beac72cdff_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!NxrI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02ce4e10-36e6-4db4-ab09-99beac72cdff_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Most AI experts consider Opus 4.5 the official start of the agentic era due to the reliability of the model. Interestingly, GPT-5.2 (OpenAI&amp;#8217;s flagship at the time) performed better on our benchmark suite, but this didn&amp;#8217;t correspond to a better user experience. The full agentic product (model + harness) was now what mattered, and Anthropic had been laser-focused on iterating towards a harness that excelled at general agentic work. Codex, in contrast, was comparatively crude, and OpenAI was simultaneously pursuing side quests like &lt;/span&gt;&lt;a href="https://openai.com/index/introducing-chatgpt-atlas/"&gt;&lt;span&gt;web browsers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Model releases also compressed between the two frontier labs. OpenAI and Anthropic created their duopoly by releasing a model every 51 days on average throughout this era. Compared to the 213 and 120 day release averages throughout Era 1 and Era 2, respectively, this is a massive speed up.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!volS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021545e4-9386-4738-8dff-ba1cebd218c4_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!volS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021545e4-9386-4738-8dff-ba1cebd218c4_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Yet despite the massive explosion in economic value created by frontier models, the gap closed faster in Era 3 than either era before it. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Kimi K2.6 surpassed Opus 4.5 with a score of 56.3 in 4.8 months, and GLM-5.2 cleared GPT-5.2 with a score of 72.4 in 6 months. The trend of the closing time halving with each subsequent era is remarkably consistent.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!H-n0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb272b3ef-7f89-4f4a-a44d-9be5a279da5c_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!H-n0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb272b3ef-7f89-4f4a-a44d-9be5a279da5c_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Looking forward&lt;/h1&gt;&lt;p&gt;&lt;span&gt;So, what does this all mean for the future of closed vs open source models?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, we want to acknowledge that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;benchmarks are not the end all be all&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Kimi K3 may score higher than Fable 5 on our curated composite, but we still prefer using Fable at SemiAnalysis for our day to day work. This is partly because Anthropic has done a better job productizing their model via things like Claude Code and Claude Tag, but also largely because benchmarks aren&amp;#8217;t a perfect proxy for real work. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;This is especially true for public benchmarks, which model makers can easily hill climb by simply creating a bunch of RL environments that closely mimic the benchmark tasks.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, you may argue that the closing time for Era 3 is artificially deflated due to Anthropic and OpenAI spending more time on safety testing than Moonshot and Zhipu, but this is not a new phenomenon. GPT-4, for example, finished training 218 days before release. Even if we assume Mythos finished training in mid February, that&amp;#8217;s still only a 114 day delay before the Fable release.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;The Upcoming Era&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/are-open-models-catching-up"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/are-open-models-catching-up"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;The past two months have been a breakout period for open source AI. Yes, there was the &amp;#8220;DeepSeek moment&amp;#8221; back in January 2025, but no one actually used R1 to do any economically valuable work. In contrast, models like &lt;/span&gt;&lt;strong&gt;&lt;span&gt;GLM 5.3 and Kimi K3 are genuinely capable of many of the same coding and agentic tasks that rocketed Anthropic to $65B+ ARR&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Unlike others who inflated ARR, &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;our figures were much closer to reality.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5AMx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F071b0427-31a2-42ce-9aae-7af8499352fa_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!5AMx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F071b0427-31a2-42ce-9aae-7af8499352fa_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is an exciting time to be a token consumer. Competition is heating up, usage resets are being doled out, and the battle for your tokens now extends beyond the OpenAI-Anthropic duopoly. Fireworks alone is processing over &lt;/span&gt;&lt;a href="https://fireworks.ai/blog/series-d-announcement"&gt;&lt;span&gt;40T&lt;/span&gt;&lt;/a&gt;&lt;span&gt; tokens per day&amp;#8212;2x the OpenAI API&amp;#8217;s &lt;/span&gt;&lt;a href="https://openai.com/index/accelerating-the-next-phase-ai/"&gt;&lt;span&gt;volume&lt;/span&gt;&lt;/a&gt;&lt;span&gt; at the end of March.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;major FUD has also emerged as a result of open model success&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: if open models stay capable enough relative to the closed frontier at a fraction of the cost, won't the model layer become commoditized? This outcome would obviously be disastrous for frontier lab margins. For full details on Anthropic and OpenAI&amp;#8217;s financials, see our&lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt; Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To project how the open vs closed capability gap will progress in the future, we first need to measure the past. Naively, you might pick a single set of benchmarks to measure all historical models, but this is a mistake. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Every benchmark is a product of a particular era.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; When someone creates a new benchmark, their goal is to discern differences in model capabilities at the time. If they&amp;#8217;re successful, the model makers will climb said benchmark until it becomes saturated. Once that happens, everyone stops caring about the benchmark, and the cycle repeats.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;There have been three eras thus far in the history of LLMs: early scaling, reasoning, and agentic&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Each era represented a step-function increase in model utility, and rather than trying to plot a single continuous trend, we believe it&amp;#8217;s better to evaluate the models and benchmarks from each era individually.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When viewed this way, it becomes clear that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;the open vs. closed gap moves in cycles&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. At the start of each era, a frontier lab completes some promising research, trains an impressive model, deploys it at scale to their users, and jumps ahead. Then, other labs identify the key advances, reverse-engineer what the frontier lab is doing, replicate them in their own models, and close the gap. Nothing stays secret forever&amp;#8212;especially when you factor in distillation. It&amp;#8217;s just a question of how long it takes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To answer this question, we took all the relevant models from each era and ran a curated set of benchmarks to get a composite capability score. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;The result is a clear trend: with each generation, open-source models take half as long to catch up to the first closed-source model of the era.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!l4pU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f661308-2050-4dab-8a3c-16647523b34b_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!l4pU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f661308-2050-4dab-8a3c-16647523b34b_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, benchmarks don&amp;#8217;t tell the full story, and we&amp;#8217;ll highlight all the relevant caveats below. Finally, we&amp;#8217;ll extend this analysis into the future, and explain why it&amp;#8217;s less bearish frontier models than you might initially think.&lt;/p&gt;&lt;h1&gt;How we measured&lt;/h1&gt;&lt;p&gt;Here&amp;#8217;s an overview of the models and benchmarks we selected for each era:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3Ysi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F398dbca6-c628-4a13-b22d-df1362c02434_2048x1280.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="910" src="https://substackcdn.com/image/fetch/$s_!3Ysi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F398dbca6-c628-4a13-b22d-df1362c02434_2048x1280.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Picking a single SOTA closed and open model at a particular time is subjective, but our selections reflect the general consensus among AI experts. In cases where there&amp;#8217;s debate&amp;#8212;e.g. Fable 5 vs GPT 5.6 today&amp;#8212;we were conservative and tested both.&lt;/p&gt;&lt;p&gt;&lt;span&gt;For benchmarks, we relied on a combination of personal taste and popularity. Humanities Last Exam (HLE), for example, is known to have lots of &lt;/span&gt;&lt;a href="https://www.futurehouse.org/research/hle-exam"&gt;&lt;span&gt;issues&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, but was also truly one of the defining benchmarks of the reasoning era with no close substitutes. SWE-bench Pro, on the other hand, is similarly popular and &lt;/span&gt;&lt;a href="https://openai.com/index/separating-signal-from-noise-coding-evaluations/"&gt;&lt;span&gt;problematic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, but also closely approximated by DeepSWE.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Most of the benchmark scores here we ran ourselves using &lt;/span&gt;&lt;a href="https://www.primeintellect.ai/"&gt;&lt;span&gt;Prime Intellect&lt;/span&gt;&lt;/a&gt;&lt;span&gt;'s evaluation stack, specifically their environments hub and the evals harness included in&lt;/span&gt;&lt;a href="https://github.com/PrimeIntellect-ai/prime-rl"&gt;&lt;span&gt; Prime-RL&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. The rest come from runs by our friends at &lt;/span&gt;&lt;a href="https://artificialanalysis.ai/"&gt;&lt;span&gt;Artificial Analysis&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and Datacurve's &lt;/span&gt;&lt;a href="https://deepswe.datacurve.ai/"&gt;&lt;span&gt;DeepSWE leaderboard&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Open models were served the way they would have been at release: vLLM versions, hardware that was in use at the time, and sampling settings from the model card. For closed models, we ran against their pinned API versions. Where our numbers share a chart with third-party values, we matched their rulesets.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We&amp;#8217;d like to give a huge thank you to Florian Brand (&lt;/span&gt;&lt;a href="https://x.com/xeophon?s=20"&gt;&lt;span&gt;@xeophon&lt;/span&gt;&lt;/a&gt;&lt;span&gt;) from Prime Intellect&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; for helping us pick benchmarks/models, implement evals, and check for correctness.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Era 1 | Early scaling (2022-2024)&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s June 2023. The world is reckoning with ChatGPT, and Mark Zuckerberg just agreed to fight Elon Musk at the Colosseum. But while Zuck is training jiu-jitsu and doing Murphs, his company is doing some training of their own. FAIR is about to push past the Mistral exodus and other drama, and successfully ship Llama-2-70B. The first open model that approached the frontier.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;How far behind the frontier was it? Four benchmarks helped define SOTA at the time: GSM8K, HumanEval, TriviaQA, and MMLU-Pro:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PJUJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb674a44-63d5-4960-a9b7-4f602ab8f8b3_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!PJUJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb674a44-63d5-4960-a9b7-4f602ab8f8b3_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;These benchmarks are representative of what the frontier models were capable of at the time. Simple multiple choice questions, word problems, and programming problems scoped to single functions. How times have changed! Here is how Llama-2 stacked up against GPT-3.5 Turbo in a cage match of their own:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TTkE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e69460-de7f-48db-b750-b6ce87fde19b_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!TTkE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e69460-de7f-48db-b750-b6ce87fde19b_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;To account for differences in benchmark difficulty, we normalized the scores. Each era&amp;#8217;s best result is set to 100, and every other model is scored relative to that. The composite score represents the equal-weight average of the four: 75.7 for GPT-3.5 Turbo on the frontier, and 39.9 for Llama-2-70B. A measured, but considerable gap. This initial lag creates the storyline for the rest of the era: Mixtral-8x7B released in December 2023 created momentum towards GPT-4 capability, only to have GPT-4 Turbo and GPT-4o race ahead:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0OZy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F232b9c60-4520-4ad7-b333-41398cff3f0c_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!0OZy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F232b9c60-4520-4ad7-b333-41398cff3f0c_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;It took until the Llama-3.1-405B release in July 2024 for open models to close the GPT-3.5 Turbo gap, with a composite score of 86. The last frontier model, GPT-4o, was matched in capability by DeepSeek V3 in December 2024, scoring 95.5 and 94.1 respectively. Qwen2.5-72B landed within striking distance of GPT-4o at a sixth of the 405B parameter count, pre-trained on 18T tokens.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;This is the first instance of the gap closing. Through this era, we didn&amp;#8217;t see the frontier rise much beyond the capabilities of GPT-4, but this was mostly due to priorities: Turbo and 4o were built to make GPT-4 cheaper and faster, not smarter.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Meanwhile, OpenAI had been working towards a different kind of model. The &lt;a href="https://arxiv.org/abs/2305.20050"&gt;process-reward paper&lt;/a&gt; and &lt;a href="https://x.com/polynoamial/status/1676971503261454340"&gt;&lt;span&gt;Noam Brown hire&lt;/span&gt;&lt;/a&gt; both pointed at reasoning, and by mid-2024 &lt;a href="https://arxiv.org/abs/2408.03314"&gt;every major lab was publishing test-time-compute research&lt;/a&gt;. Seven weeks after 405B, on September 12 2024, OpenAI shipped o1-preview: a model that sparked a new era of innovation.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;Era 2 | Reasoning (2024-2025)&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;o1 reset the choice of benchmarks, along with the gap. The elementary evals from Era 1 were no longer difficult enough to test o1&amp;#8217;s full abilities. Grade school math problems were replaced by the AIME. Scale AI collected some of the most esoteric, PhD-level multiple choice questions in the world and provocatively called it Humanity&amp;#8217;s Last Exam.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_TZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7676e5dd-379e-49d4-ba17-25652fc3e5ad_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!_TZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7676e5dd-379e-49d4-ba17-25652fc3e5ad_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;It&amp;#8217;s hard to overstate how important the release of o1 was in tech circles. Many consider it the day &amp;#8220;we knew for sure we&amp;#8217;d get AGI.&amp;#8221; However, unlike Llama-2-70B vs GPT-4, the gap between open vs closed source started off much smaller during Era 2. The culprit? A little known model called DeepSeek R1.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iZRt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F891cbf92-d756-4015-ba25-936c5fe533e6_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!iZRt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F891cbf92-d756-4015-ba25-936c5fe533e6_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A 12.1 point gap vs 35.8 at the start of the previous era. The market puked in response. Fortunately, the AI capex trade quickly recovered, as people realized good models being open source is good for AI infrastructure. The "we're so back" open model momentum established by R1 was soon squashed by Meta's Llama-4 Maverick and other Chinese models.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XxAm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700c6b14-aaea-4e05-ac7e-edb6480d5fca_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!XxAm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700c6b14-aaea-4e05-ac7e-edb6480d5fca_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Gemini 2.5 Pro and o3 continued to push the reasoning frontier, and the R1-0528 checkpoint closed the initial gap in May 2025 with a score of 78. An 8.5 month window to close a 12.1 point gap:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!clCp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd00db9e-d73b-4e72-82ac-b7eab611446d_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!clCp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd00db9e-d73b-4e72-82ac-b7eab611446d_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Notably absent from the charts so far is Anthropic. Their model cards reported these benchmarks like everyone else's, but they never fought for the top of the leaderboard in this era. While OpenAI and Google traded crowns, Anthropic was turning Claude into the default coding agent. This set the terms for the next era: the benchmarks that now matter run in a terminal.&lt;/p&gt;&lt;h1&gt;Era 3 | Agentic (2025 - Today)&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Prior to Claude Code, agents had their moments (like Cognition&amp;#8217;s &lt;/span&gt;&lt;a href="https://x.com/cognition/status/1767548763134964000"&gt;&lt;span&gt;viral demo of Devin&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in March 2024), but Anthropic was the first to nail a model + harness product&amp;#8212;and it paid off. Since the general release of Claude Code in May 2025, Anthropic has added north of $65B in ARR. For in-depth Anthropic and OpenAI ARR projections, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With agents came yet another new set of benchmarks. Fancy math problems were no longer the best test of model capabilities. Instead, people wanted to know how well models could write code, do web search, and generally use a computer like a human.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kxyi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe082580f-2b7d-4877-a6bd-b712eeec3e0c_2048x1280.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="910" src="https://substackcdn.com/image/fetch/$s_!Kxyi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe082580f-2b7d-4877-a6bd-b712eeec3e0c_2048x1280.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Terminal-Bench 2.1, BrowseComp-Plus, &amp;#120591;&amp;#179;-banking, and DeepSWE cover the long-horizon work agents are used for today: software engineering, deep research, and knowledge work. We also picked benchmarks that skew newer by design to limit memorization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NxrI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02ce4e10-36e6-4db4-ab09-99beac72cdff_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!NxrI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02ce4e10-36e6-4db4-ab09-99beac72cdff_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Most AI experts consider Opus 4.5 the official start of the agentic era due to the reliability of the model. Interestingly, GPT-5.2 (OpenAI&amp;#8217;s flagship at the time) performed better on our benchmark suite, but this didn&amp;#8217;t correspond to a better user experience. The full agentic product (model + harness) was now what mattered, and Anthropic had been laser-focused on iterating towards a harness that excelled at general agentic work. Codex, in contrast, was comparatively crude, and OpenAI was simultaneously pursuing side quests like &lt;/span&gt;&lt;a href="https://openai.com/index/introducing-chatgpt-atlas/"&gt;&lt;span&gt;web browsers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Model releases also compressed between the two frontier labs. OpenAI and Anthropic created their duopoly by releasing a model every 51 days on average throughout this era. Compared to the 213 and 120 day release averages throughout Era 1 and Era 2, respectively, this is a massive speed up.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!volS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021545e4-9386-4738-8dff-ba1cebd218c4_3200x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!volS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021545e4-9386-4738-8dff-ba1cebd218c4_3200x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Yet despite the massive explosion in economic value created by frontier models, the gap closed faster in Era 3 than either era before it. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Kimi K2.6 surpassed Opus 4.5 with a score of 56.3 in 4.8 months, and GLM-5.2 cleared GPT-5.2 with a score of 72.4 in 6 months. The trend of the closing time halving with each subsequent era is remarkably consistent.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!H-n0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb272b3ef-7f89-4f4a-a44d-9be5a279da5c_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!H-n0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb272b3ef-7f89-4f4a-a44d-9be5a279da5c_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;Looking forward&lt;/h1&gt;&lt;p&gt;&lt;span&gt;So, what does this all mean for the future of closed vs open source models?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, we want to acknowledge that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;benchmarks are not the end all be all&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Kimi K3 may score higher than Fable 5 on our curated composite, but we still prefer using Fable at SemiAnalysis for our day to day work. This is partly because Anthropic has done a better job productizing their model via things like Claude Code and Claude Tag, but also largely because benchmarks aren&amp;#8217;t a perfect proxy for real work. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;This is especially true for public benchmarks, which model makers can easily hill climb by simply creating a bunch of RL environments that closely mimic the benchmark tasks.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, you may argue that the closing time for Era 3 is artificially deflated due to Anthropic and OpenAI spending more time on safety testing than Moonshot and Zhipu, but this is not a new phenomenon. GPT-4, for example, finished training 218 days before release. Even if we assume Mythos finished training in mid February, that&amp;#8217;s still only a 114 day delay before the Fable release.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;The Upcoming Era&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/are-open-models-catching-up"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-21T08:40:02+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/cerebrass-next-generation-cs-4-fast</id>
    <title>Cerebras's Next Generation CS-4: Fast Just Got Faster</title>
    <updated>2026-08-18T17:32:08+00:00</updated>
    <author>
      <name>Myron Xie</name>
    </author>
    <content type="html">&lt;p&gt;Cerebras revealed CS-4 this week, with more details to come at Hot Chips. CS-4 is their fourth-generation rack built around the same third generation 5nm wafer-scale engine: WSE-3. CS-4 doubles the performance of CS-3 through increased power consumption and clock frequency per wafer, and better rack-scale density.&lt;/p&gt;&lt;p&gt;&lt;span&gt;This all translate into CS-4 being able to double the tokens/s/user per wafer from CS-3, and at around the same cost as the previous generation. This is a no-brainer for customers who can enjoy double the token revenue with the same hardware spend. It&amp;#8217;s not only the tokens that are getting faster, but so is time time market: the rack architecture itself is redesigned to be more modular, allowing improved manufacturability and deployment times. Last but not least, a new I/O module will &lt;/span&gt;enable open, heterogeneous and disaggregated inference architectures going forward. These disaggregated inference setups will go a long way to help overcome the memory capacity constraints of the CS-4 by pairing it with HBM-based systems.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!X3v3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e1a46c-39e0-40af-9892-cda940b120d9_2407x1339.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="810" src="https://substackcdn.com/image/fetch/$s_!X3v3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e1a46c-39e0-40af-9892-cda940b120d9_2407x1339.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Same Wafer, Double the Clock&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vY4A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606cc687-c8a9-4507-8e56-fc3de6f682b6_1020x516.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="516" src="https://substackcdn.com/image/fetch/$s_!vY4A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606cc687-c8a9-4507-8e56-fc3de6f682b6_1020x516.png" width="1020" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The CS-4 uses the same 5nm WSE-3 as the CS-3, but Cerebras is extracting double the performance by doubling clock speeds. This comes from feeding dramatically more power to the wafer, and is enabled by the CS-4&amp;#8217;s improvement in power delivery and cooling technology. While staying on the same 5nm silicon sounds underwhelming, Cerebras can still double the metric that matters most: memory bandwidth. The doubling in memory bandwidth should translate into a near doubling of tokens/sec/user all else equal, and this is what customers want from Cerebras. Clock speed doubling also drives double the peak theoretical FLOPs and the WSE&amp;#8217;s parallel off-wafer I/O, allowing the CS-4 to upgrade to 2.4Tb/s of off-wafer I/O from 1.2Tb/s with CS-3. However, what remains the same is 44GB of SRAM capacity per wafer, as this is determined by the number of SRAM bit cells available on each wafer. so we&amp;#8217;ll have to wait for the next generation silicon before we can see any improvement here. This is the main drawback of re-using the same WSE-3 as the low memory capacity per wafer is one of the key tradeoffs inherent with Cerebras&amp;#8217;s architecture. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we described in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/cerebras-faster-tokens-please"&gt;&lt;span&gt;previous article on Cerebras&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the wafer has an incredibly unique architecture due to the use of SRAM that makes it well suited for running kernels with low Arithmetic Intensity, such as low-batch size decode.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3enI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa5fbc1-16ad-49b8-ba4d-d61c0091004f_2800x1560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="811" src="https://substackcdn.com/image/fetch/$s_!3enI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa5fbc1-16ad-49b8-ba4d-d61c0091004f_2800x1560.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Network Improvements&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Beyond the doubling of off-wafer I/O bandwidth, there are further improvements made on off-wafer communications coming from a new Wafer I/O interface, which is an upgraded FPGA card that is used as a NIC to convert Cerebras &lt;/span&gt;proprietary I/O to standard ethernet.&lt;span&gt; From the image below, we can see that there are 2 I/O modules coming off the north and south of the wafer.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9WIS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F524dd8f8-64a7-4403-a290-2528afd9e9be_1819x1021.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="817" src="https://substackcdn.com/image/fetch/$s_!9WIS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F524dd8f8-64a7-4403-a290-2528afd9e9be_1819x1021.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Cerebras&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This &lt;/span&gt;I/O module is field-upgradeable, so Cerebras can move to new networking standards without redesigning the chassis. This seems like a small change but there are big implications. This makes it easier for the CS-4 to interface with other systems for disaggregated inference setups. Pairing the CS-4 with HBM-based XPUs in a disaggregated attention feed-forward network setup is one way to overcome the CS-4&amp;#8217;s low memory capacity, i&lt;a href="https://newsletter.semianalysis.com/p/nvidia-the-inference-kingdom-expands?open=false#%C2%A7gpu-and-lpu-integration-attention-ffn-disaggregation-afd"&gt;n the same way that Nvidia is positioning the Groq LPUs. &lt;/a&gt;We write more about this below. This seems to be designed especially for AWS in mind, who would like to have its EFA NICs on CS-4 to interface with Trainium servers for disaggregated inference. &lt;/p&gt;&lt;p&gt;&lt;span&gt;In addition, latency through the 2 layer fat-tree network (using Arista ethernet switches) is reduced to 3 microseconds from 5 microseconds for CS-3 through a new low latency package processing pipeline. Now, direct wafer to wafer links are also possible rather than going through the switched network which further reduces latency to 2 microseconds. The direct wafer paths are also configurable so this means that the FPGA has switching capability to route data through various wafers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This is a real improvement, but with many Cerebras competitors now quoting all in switch latencies in nanoseconds, &amp;#8220;ultrafast&amp;#8221; networking is relative and we view it as a modest improvement. We believe this 3&amp;#181;s and bandwidth limitations continues to be a bottleneck that prevents parallelism setups such as EP and ETP where expert layers span multiple wafers. Token dispatch and combine from router to expert is latency sensitive, and the expert imbalance problem coupled with an extra network hop makes pipeline parallelism the only viable solution. &lt;/p&gt;&lt;h1&gt;&lt;span&gt;The Backpack Rack&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At the system level, the headline change in CS-4 is physical. Cerebras has split the rack into a front half dedicated to power delivery and a rear half dedicated to compute, packaged as modular, pluggable &amp;#8220;backpacks.&amp;#8221; Each backpack houses a single wafer-scale engine, and a CS-4 rack holds three of them, up from two wafers per rack in CS-3. The cooling infrastructure such as the pump and the heat exchangers are also removed from the rack, as data centers nowadays are built to support fully liquid cooled racks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!obH0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5821801-a81f-498c-a9d7-359074c95b22_2048x1198.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!obH0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5821801-a81f-498c-a9d7-359074c95b22_2048x1198.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Cerebras&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The backpack is a vertical enclosure that is split into power, cooling, I/O, and WSE-3 modules independently, which makes the whole system meaningfully simpler to manufacture than CS-3. The WSE-3 wafer sits vertically with the power side facing the front of the rack. The power modules will deliver power via the front side of the wafer, which is the same as CS-3. The cooling of the wafer will be approached from the rear side of the wafer. The I/O modules are attached to the top and bottom edges of the wafer forming a rectangular surface with the wafer.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The backpack design allows a smoother deployment process. Customers can set up the rack with the power modules before simply socketing in the the wafer backpack onto the rack on site. Given the upgrade to three wafer engines per rack running at higher clock speed. One CS-4 rack lands at 125-135kW TDP, which is up around or just short of double the 23kW power draw of a single CS-3. Overall, this means performance/W has at best a slight improvement over CS-3.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6U5W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc366bb11-0fbe-45a9-a3b2-c52c7cd7a659_1114x1442.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1442" src="https://substackcdn.com/image/fetch/$s_!6U5W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc366bb11-0fbe-45a9-a3b2-c52c7cd7a659_1114x1442.png" width="1114" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Cerebras&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The big improvement gen-on-gen should be cost. While more cooling and power alone would bring up the BOM, the CS-4&amp;#8217;s reduction in components and simpler assembly should be a significant offset to these cost items, and we think the effective BOM per wafer could end up similar to the CS-3. To customers, this means getting nearly double the interactivity and token revenue but at similar TCO which is a very attractive proposition. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cerebras&amp;#8217;s favorite number for CS-4 is 43 PB/s of total on-chip memory bandwidth, which the company markets as roughly 2,000x more memory bandwidth than Nvidia&amp;#8217;s Rubin. That&amp;#8217;s the number that will lead most coverage of this launch, since on-wafer SRAM bandwidth scales up with the increase in power.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The result is that in spite of 2,000x more memory bandwidth, Cerebras claims a more reasonable interactivity improvement of up to 30x when compared to GPUs, which it&amp;#8217;s branding as a new &amp;#8220;ultrafast&amp;#8221; performance tier. We believe CS-4 will hit near 4,000 tok/sec/user on frontier models, while CS-3 hits 2,000 tok/sec/user. Meanwhile we expect Blackwell GPUs will continue to top out at a theoretical 200 tok/sec/user (which no one actually runs at), and a more realistic 100 tok/sec/user for reasonable amounts of concurrency. That looks like 20-40x more interactivity to us, so why not &amp;#8220;up to&amp;#8221; 40x faster? Seems fair enough.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Parallelism Strategies&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Because a WSE does not have enough SRAM on wafer to hold an entire model&amp;#8217;s weights, Cerebras continues to focus their efforts on pipeline parallel inference with this system. On CS-4, every MoE expert for a given model will sit on a single wafer, interleaved. Pipeline parallelism by default is different than GPUs, where tensor and expert parallelism are most common to get big models to fit in the available HBM. Cerebras has always maintained that using the GPU&amp;#8217;s HBM to store weights is slower, more power hungry, and more expensive than doing everything on one wafer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, when comparing a cluster of WSEs to a cluster of GPUs on performance, power consumption, and cost, it really depends what parallelism strategy you choose. GPUs have a very wide range of configuration options (from high throughput/low interactivity configs to high interactivity/low throughput) while the wafer&amp;#8217;s range is more modest. Only high interactivity/low throughput is considered.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In order to compare WSEs directly to GPUs, we are particularly interested in NVIDIA&amp;#8217;s release of TileRT, which brings high throughput/low interactivity configs to GPU clusters. We discussed some of this in our TileRT article last week&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bskL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa005ae63-d068-4140-8461-25047b6a8a41_2048x1110.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!bskL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa005ae63-d068-4140-8461-25047b6a8a41_2048x1110.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Because the wafer itself is 44GB, Cerebras hasn&amp;#8217;t yet needed to shard individual experts in a MoE model across multiple wafers, even for frontier models that they run today such as GPT 5.6 Sol. However, due to the demands of long context inference, we expect Cerebras customers such as OpenAI to try and save on the cost of keeping KV Cache on-wafer for long context workloads, and run 5.6 Sol at 256k context window, rather than the full 1M context.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/cerebras-faster-tokens-please"&gt;&lt;span&gt;described in our Cerebras IPO article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the cost of supporting long context inference is massive. Most people still understand that the amount of memory required to get one forward pass from a model is proportional to the total amount of parameters in the model. However, it still seems to be a well kept secret that the amount of memory required to hold KV Cache grows proportionally to the number of concurrent users and the average/max size of those users requests (which is dictated by the context window of the model). Running a model with a large context window, and supporting many concurrent users, requires lots of memory capacity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When we run a simple analysis of what it would take to run a large model (say, the 1.6T parameter DeepSeek V4 Pro), we find that the minimum number of Cerebras WSE&amp;#8217;s needed to run this model at 1M ctx is around 20 systems, and at a reasonable concurrency of 256 requests, its around 40 systems. That&amp;#8217;s over $20M of CAPEX and 1MW of power consumption before you can get a forward pass on a frontier model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This analysis is available on our public &lt;/span&gt;&lt;a href="https://tokenomics.info/cerebras"&gt;&lt;span&gt;tokenomics website&lt;/span&gt;&lt;/a&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!R8Xe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c4f13b1-6de1-457c-8026-9044658c339e_2048x1435.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1020" src="https://substackcdn.com/image/fetch/$s_!R8Xe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c4f13b1-6de1-457c-8026-9044658c339e_2048x1435.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RKrM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9eee3e4-36ed-45c4-945c-1563289a5b66_2048x1426.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1014" src="https://substackcdn.com/image/fetch/$s_!RKrM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9eee3e4-36ed-45c4-945c-1563289a5b66_2048x1426.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.tokenomics.info/cerebras"&gt;https://www.tokenomics.info/cerebras&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Of course, after this up front investment comes some pretty remarkable aggregate performance metrics. Lets dig into that.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Betting on Disaggregation&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Cerebras is positioning CS-4 as being built for open, heterogenous, disaggregated inference from the ground up. They are currently working with AMD and AWS Trainium as partners, but have more coming. In all these configurations, Cerebras will serve as the decode chip, since its rooflines aren&amp;#8217;t optimal for compute-bound prefill. The company believes in all disagg setups, and claims support for attention feedforward disaggregation (AFD) in addition to the traditional prefill decode disaggregation (PDD).&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DTpg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0c70bb-afa9-457a-b9b7-8f2eae6d96d0_1456x865.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="865" src="https://substackcdn.com/image/fetch/$s_!DTpg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0c70bb-afa9-457a-b9b7-8f2eae6d96d0_1456x865.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Software approaches trying to replicate dataflow execution on GPUs can approach the HBM roofline, but cannot compare to SRAM-only architectures on bandwidth. However, all heterogeneous disagg setups are double-edged, since the ratio of Prefill to Decode resources in your cluster is fixed the day that the hardware PO is signed. Meanwhile a fleet of GPUs or TPUs can be dynamically allocated into different ratios as workload profiles from users shift over time. And in the real world, workloads do shift over time. We saw reasoning models drive decode costs up as models thought longer, and then agentic cache hits drive prefill costs down while decode costs remained the same. One P:D ratio to rule them all is unlikely to be perfectly optimal for the 5+ year lifespan of these systems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To get a better understanding of these dynamics, and the thought process that infrastructure teams are using to design high performance inference clusters, read &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia"&gt;&lt;span&gt;our TileRT article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Roadmap: Nexus and CS-5&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Cerebras has already co-designed the next-generation wafer-scale engine alongside a new rack-scale platform &amp;#8220;Nexus&amp;#8221; meaning the CS-4 rack chassis will likely carry forward into future chip generations without major mechanical redesign. The company&amp;#8217;s stated roadmap commitment is roughly 2x faster performance every year, with a specific target of 20x throughput improvement by 2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the reliability side, Cerebras is addressing the operational difficulty of swapping wafer trays in the field, and continues investment in error recovery, tray-level redundancy, and yield harvesting across cores and channels on the chip itself.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/cerebrass-next-generation-cs-4-fast"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/cerebrass-next-generation-cs-4-fast"/>
    <summary type="html">&lt;p&gt;Cerebras revealed CS-4 this week, with more details to come at Hot Chips. CS-4 is their fourth-generation rack built around the same third generation 5nm wafer-scale engine: WSE-3. CS-4 doubles the performance of CS-3 through increased power consumption and clock frequency per wafer, and better rack-scale density.&lt;/p&gt;&lt;p&gt;&lt;span&gt;This all translate into CS-4 being able to double the tokens/s/user per wafer from CS-3, and at around the same cost as the previous generation. This is a no-brainer for customers who can enjoy double the token revenue with the same hardware spend. It&amp;#8217;s not only the tokens that are getting faster, but so is time time market: the rack architecture itself is redesigned to be more modular, allowing improved manufacturability and deployment times. Last but not least, a new I/O module will &lt;/span&gt;enable open, heterogeneous and disaggregated inference architectures going forward. These disaggregated inference setups will go a long way to help overcome the memory capacity constraints of the CS-4 by pairing it with HBM-based systems.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!X3v3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e1a46c-39e0-40af-9892-cda940b120d9_2407x1339.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="810" src="https://substackcdn.com/image/fetch/$s_!X3v3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e1a46c-39e0-40af-9892-cda940b120d9_2407x1339.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Same Wafer, Double the Clock&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vY4A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606cc687-c8a9-4507-8e56-fc3de6f682b6_1020x516.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="516" src="https://substackcdn.com/image/fetch/$s_!vY4A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F606cc687-c8a9-4507-8e56-fc3de6f682b6_1020x516.png" width="1020" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The CS-4 uses the same 5nm WSE-3 as the CS-3, but Cerebras is extracting double the performance by doubling clock speeds. This comes from feeding dramatically more power to the wafer, and is enabled by the CS-4&amp;#8217;s improvement in power delivery and cooling technology. While staying on the same 5nm silicon sounds underwhelming, Cerebras can still double the metric that matters most: memory bandwidth. The doubling in memory bandwidth should translate into a near doubling of tokens/sec/user all else equal, and this is what customers want from Cerebras. Clock speed doubling also drives double the peak theoretical FLOPs and the WSE&amp;#8217;s parallel off-wafer I/O, allowing the CS-4 to upgrade to 2.4Tb/s of off-wafer I/O from 1.2Tb/s with CS-3. However, what remains the same is 44GB of SRAM capacity per wafer, as this is determined by the number of SRAM bit cells available on each wafer. so we&amp;#8217;ll have to wait for the next generation silicon before we can see any improvement here. This is the main drawback of re-using the same WSE-3 as the low memory capacity per wafer is one of the key tradeoffs inherent with Cerebras&amp;#8217;s architecture. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we described in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/cerebras-faster-tokens-please"&gt;&lt;span&gt;previous article on Cerebras&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the wafer has an incredibly unique architecture due to the use of SRAM that makes it well suited for running kernels with low Arithmetic Intensity, such as low-batch size decode.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3enI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa5fbc1-16ad-49b8-ba4d-d61c0091004f_2800x1560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="811" src="https://substackcdn.com/image/fetch/$s_!3enI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa5fbc1-16ad-49b8-ba4d-d61c0091004f_2800x1560.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Network Improvements&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Beyond the doubling of off-wafer I/O bandwidth, there are further improvements made on off-wafer communications coming from a new Wafer I/O interface, which is an upgraded FPGA card that is used as a NIC to convert Cerebras &lt;/span&gt;proprietary I/O to standard ethernet.&lt;span&gt; From the image below, we can see that there are 2 I/O modules coming off the north and south of the wafer.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9WIS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F524dd8f8-64a7-4403-a290-2528afd9e9be_1819x1021.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="817" src="https://substackcdn.com/image/fetch/$s_!9WIS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F524dd8f8-64a7-4403-a290-2528afd9e9be_1819x1021.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Cerebras&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This &lt;/span&gt;I/O module is field-upgradeable, so Cerebras can move to new networking standards without redesigning the chassis. This seems like a small change but there are big implications. This makes it easier for the CS-4 to interface with other systems for disaggregated inference setups. Pairing the CS-4 with HBM-based XPUs in a disaggregated attention feed-forward network setup is one way to overcome the CS-4&amp;#8217;s low memory capacity, i&lt;a href="https://newsletter.semianalysis.com/p/nvidia-the-inference-kingdom-expands?open=false#%C2%A7gpu-and-lpu-integration-attention-ffn-disaggregation-afd"&gt;n the same way that Nvidia is positioning the Groq LPUs. &lt;/a&gt;We write more about this below. This seems to be designed especially for AWS in mind, who would like to have its EFA NICs on CS-4 to interface with Trainium servers for disaggregated inference. &lt;/p&gt;&lt;p&gt;&lt;span&gt;In addition, latency through the 2 layer fat-tree network (using Arista ethernet switches) is reduced to 3 microseconds from 5 microseconds for CS-3 through a new low latency package processing pipeline. Now, direct wafer to wafer links are also possible rather than going through the switched network which further reduces latency to 2 microseconds. The direct wafer paths are also configurable so this means that the FPGA has switching capability to route data through various wafers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This is a real improvement, but with many Cerebras competitors now quoting all in switch latencies in nanoseconds, &amp;#8220;ultrafast&amp;#8221; networking is relative and we view it as a modest improvement. We believe this 3&amp;#181;s and bandwidth limitations continues to be a bottleneck that prevents parallelism setups such as EP and ETP where expert layers span multiple wafers. Token dispatch and combine from router to expert is latency sensitive, and the expert imbalance problem coupled with an extra network hop makes pipeline parallelism the only viable solution. &lt;/p&gt;&lt;h1&gt;&lt;span&gt;The Backpack Rack&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;At the system level, the headline change in CS-4 is physical. Cerebras has split the rack into a front half dedicated to power delivery and a rear half dedicated to compute, packaged as modular, pluggable &amp;#8220;backpacks.&amp;#8221; Each backpack houses a single wafer-scale engine, and a CS-4 rack holds three of them, up from two wafers per rack in CS-3. The cooling infrastructure such as the pump and the heat exchangers are also removed from the rack, as data centers nowadays are built to support fully liquid cooled racks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!obH0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5821801-a81f-498c-a9d7-359074c95b22_2048x1198.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!obH0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5821801-a81f-498c-a9d7-359074c95b22_2048x1198.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Cerebras&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The backpack is a vertical enclosure that is split into power, cooling, I/O, and WSE-3 modules independently, which makes the whole system meaningfully simpler to manufacture than CS-3. The WSE-3 wafer sits vertically with the power side facing the front of the rack. The power modules will deliver power via the front side of the wafer, which is the same as CS-3. The cooling of the wafer will be approached from the rear side of the wafer. The I/O modules are attached to the top and bottom edges of the wafer forming a rectangular surface with the wafer.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The backpack design allows a smoother deployment process. Customers can set up the rack with the power modules before simply socketing in the the wafer backpack onto the rack on site. Given the upgrade to three wafer engines per rack running at higher clock speed. One CS-4 rack lands at 125-135kW TDP, which is up around or just short of double the 23kW power draw of a single CS-3. Overall, this means performance/W has at best a slight improvement over CS-3.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6U5W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc366bb11-0fbe-45a9-a3b2-c52c7cd7a659_1114x1442.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1442" src="https://substackcdn.com/image/fetch/$s_!6U5W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc366bb11-0fbe-45a9-a3b2-c52c7cd7a659_1114x1442.png" width="1114" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Cerebras&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The big improvement gen-on-gen should be cost. While more cooling and power alone would bring up the BOM, the CS-4&amp;#8217;s reduction in components and simpler assembly should be a significant offset to these cost items, and we think the effective BOM per wafer could end up similar to the CS-3. To customers, this means getting nearly double the interactivity and token revenue but at similar TCO which is a very attractive proposition. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Cerebras&amp;#8217;s favorite number for CS-4 is 43 PB/s of total on-chip memory bandwidth, which the company markets as roughly 2,000x more memory bandwidth than Nvidia&amp;#8217;s Rubin. That&amp;#8217;s the number that will lead most coverage of this launch, since on-wafer SRAM bandwidth scales up with the increase in power.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The result is that in spite of 2,000x more memory bandwidth, Cerebras claims a more reasonable interactivity improvement of up to 30x when compared to GPUs, which it&amp;#8217;s branding as a new &amp;#8220;ultrafast&amp;#8221; performance tier. We believe CS-4 will hit near 4,000 tok/sec/user on frontier models, while CS-3 hits 2,000 tok/sec/user. Meanwhile we expect Blackwell GPUs will continue to top out at a theoretical 200 tok/sec/user (which no one actually runs at), and a more realistic 100 tok/sec/user for reasonable amounts of concurrency. That looks like 20-40x more interactivity to us, so why not &amp;#8220;up to&amp;#8221; 40x faster? Seems fair enough.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Parallelism Strategies&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Because a WSE does not have enough SRAM on wafer to hold an entire model&amp;#8217;s weights, Cerebras continues to focus their efforts on pipeline parallel inference with this system. On CS-4, every MoE expert for a given model will sit on a single wafer, interleaved. Pipeline parallelism by default is different than GPUs, where tensor and expert parallelism are most common to get big models to fit in the available HBM. Cerebras has always maintained that using the GPU&amp;#8217;s HBM to store weights is slower, more power hungry, and more expensive than doing everything on one wafer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, when comparing a cluster of WSEs to a cluster of GPUs on performance, power consumption, and cost, it really depends what parallelism strategy you choose. GPUs have a very wide range of configuration options (from high throughput/low interactivity configs to high interactivity/low throughput) while the wafer&amp;#8217;s range is more modest. Only high interactivity/low throughput is considered.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In order to compare WSEs directly to GPUs, we are particularly interested in NVIDIA&amp;#8217;s release of TileRT, which brings high throughput/low interactivity configs to GPU clusters. We discussed some of this in our TileRT article last week&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bskL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa005ae63-d068-4140-8461-25047b6a8a41_2048x1110.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!bskL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa005ae63-d068-4140-8461-25047b6a8a41_2048x1110.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX &lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Because the wafer itself is 44GB, Cerebras hasn&amp;#8217;t yet needed to shard individual experts in a MoE model across multiple wafers, even for frontier models that they run today such as GPT 5.6 Sol. However, due to the demands of long context inference, we expect Cerebras customers such as OpenAI to try and save on the cost of keeping KV Cache on-wafer for long context workloads, and run 5.6 Sol at 256k context window, rather than the full 1M context.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/cerebras-faster-tokens-please"&gt;&lt;span&gt;described in our Cerebras IPO article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the cost of supporting long context inference is massive. Most people still understand that the amount of memory required to get one forward pass from a model is proportional to the total amount of parameters in the model. However, it still seems to be a well kept secret that the amount of memory required to hold KV Cache grows proportionally to the number of concurrent users and the average/max size of those users requests (which is dictated by the context window of the model). Running a model with a large context window, and supporting many concurrent users, requires lots of memory capacity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When we run a simple analysis of what it would take to run a large model (say, the 1.6T parameter DeepSeek V4 Pro), we find that the minimum number of Cerebras WSE&amp;#8217;s needed to run this model at 1M ctx is around 20 systems, and at a reasonable concurrency of 256 requests, its around 40 systems. That&amp;#8217;s over $20M of CAPEX and 1MW of power consumption before you can get a forward pass on a frontier model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This analysis is available on our public &lt;/span&gt;&lt;a href="https://tokenomics.info/cerebras"&gt;&lt;span&gt;tokenomics website&lt;/span&gt;&lt;/a&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!R8Xe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c4f13b1-6de1-457c-8026-9044658c339e_2048x1435.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1020" src="https://substackcdn.com/image/fetch/$s_!R8Xe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c4f13b1-6de1-457c-8026-9044658c339e_2048x1435.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RKrM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9eee3e4-36ed-45c4-945c-1563289a5b66_2048x1426.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1014" src="https://substackcdn.com/image/fetch/$s_!RKrM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9eee3e4-36ed-45c4-945c-1563289a5b66_2048x1426.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.tokenomics.info/cerebras"&gt;https://www.tokenomics.info/cerebras&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Of course, after this up front investment comes some pretty remarkable aggregate performance metrics. Lets dig into that.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Betting on Disaggregation&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Cerebras is positioning CS-4 as being built for open, heterogenous, disaggregated inference from the ground up. They are currently working with AMD and AWS Trainium as partners, but have more coming. In all these configurations, Cerebras will serve as the decode chip, since its rooflines aren&amp;#8217;t optimal for compute-bound prefill. The company believes in all disagg setups, and claims support for attention feedforward disaggregation (AFD) in addition to the traditional prefill decode disaggregation (PDD).&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DTpg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0c70bb-afa9-457a-b9b7-8f2eae6d96d0_1456x865.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="865" src="https://substackcdn.com/image/fetch/$s_!DTpg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda0c70bb-afa9-457a-b9b7-8f2eae6d96d0_1456x865.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Software approaches trying to replicate dataflow execution on GPUs can approach the HBM roofline, but cannot compare to SRAM-only architectures on bandwidth. However, all heterogeneous disagg setups are double-edged, since the ratio of Prefill to Decode resources in your cluster is fixed the day that the hardware PO is signed. Meanwhile a fleet of GPUs or TPUs can be dynamically allocated into different ratios as workload profiles from users shift over time. And in the real world, workloads do shift over time. We saw reasoning models drive decode costs up as models thought longer, and then agentic cache hits drive prefill costs down while decode costs remained the same. One P:D ratio to rule them all is unlikely to be perfectly optimal for the 5+ year lifespan of these systems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To get a better understanding of these dynamics, and the thought process that infrastructure teams are using to design high performance inference clusters, read &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia"&gt;&lt;span&gt;our TileRT article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Roadmap: Nexus and CS-5&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Cerebras has already co-designed the next-generation wafer-scale engine alongside a new rack-scale platform &amp;#8220;Nexus&amp;#8221; meaning the CS-4 rack chassis will likely carry forward into future chip generations without major mechanical redesign. The company&amp;#8217;s stated roadmap commitment is roughly 2x faster performance every year, with a specific target of 20x throughput improvement by 2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the reliability side, Cerebras is addressing the operational difficulty of swapping wafer trays in the field, and continues investment in error recovery, tray-level redundancy, and yield harvesting across cores and channels on the chip itself.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/cerebrass-next-generation-cs-4-fast"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-18T17:32:08+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted</id>
    <title>$12B of US ratepayers' money wasted on a modeling mistake and PJM wants to do it again</title>
    <updated>2026-08-16T14:27:59+00:00</updated>
    <author>
      <name>Robert Boswall</name>
    </author>
    <content type="html">&lt;p style="text-align: justify;"&gt;Earlier this year, we &lt;a href="https://open.substack.com/pub/semianalysis/p/are-ai-datacenters-increasing-electric?r=8s6hrc&amp;amp;utm_campaign=post&amp;amp;utm_medium=web"&gt;explained&lt;/a&gt; why residents of the PJM area, America&amp;#8217;s largest electricity market, have seen their power bills rise by ~20%. We argued that the main culprit was PJM&amp;#8217;s auction design choices and how PJM models demand and supply. To better understand the extent of the problem, our Energy Model team spent the last 6 months reverse-engineering PJM&amp;#8217;s main system model, the &amp;#8216;Reserve Requirement Study&amp;#8217;, which to date has been a black box. This study is how PJM decides what type of and how many power plants to buy to make sure electricity is reliable, using an annual auction, and spending billions each year.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Armed with a reconstructed model we argue that the problem is worse than we thought. PJM&amp;#8217;s model includes errors that we estimate have cost all of its 66 million residents a total of $12B between 2025 and 2027 alone. We share our method in the annex of this newsletter for our subscribers; as well as the results of the model in our &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;PJM Model dashboard&lt;/a&gt;. Our live rebuild of the Reserve Requirement Model is a tab available exclusively to our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; clients; which also includes a quarter-by-quarter forecast of the whole US grid tracking &amp;gt;40,000 grid-connected power plants, and every single behind-the-meter datacenter power order.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s model is &lt;strong&gt;structurally anti-growth&lt;/strong&gt; with a poorly designed capacity market that is globally unique and a governance system that is too big to function.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;These failings magnify the negative impact of bad system modeling, which is the focus of this report:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&lt;strong&gt; underestimates by ~4 gigawatts&lt;/strong&gt; the existing power plants it already has; owing to a methodology which doesn&amp;#8217;t account for the higher efficiency of power plants in winter and improved power plant resilience since Storm Elliott.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM has &lt;strong&gt;wasted ~$12 billion of ratepayers&amp;#8217; money&lt;/strong&gt; from 2025 to 2027 due to this weak methodology, which dramatically overstated the supply/demand shortfall it faced. Household electricity bills would have risen much less if PJM&amp;#8217;s model was accurate.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s emergency auction is &lt;strong&gt;putting ratepayers at risk&lt;/strong&gt; by signing contracts for too much power without committed counter-parties.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0djL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103d6c71-0e23-4b8c-a940-d1edfa399690_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!0djL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103d6c71-0e23-4b8c-a940-d1edfa399690_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Using PJM&amp;#8217;s demand and supply curves we calculate that better modeling would have resulted in $6.7B of savings with only 0.014GW (yes, 14MW) less power procured for 2025/26; then $4.9B and 0.8GW for 2026/27. More power meaning less in savings might be counter-intuitive but we have the supply and demand curves to show how these disproportionate impacts occur. PJM has forced itself into operating at the limit, so inaccurately modeling power plants&amp;#8217; capacities has a massive impact on auction costs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IZj4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6b4a3c1-4dd9-4827-b717-506a643fbbc0_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!IZj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6b4a3c1-4dd9-4827-b717-506a643fbbc0_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;PJM has constrained its own supply of new power by having one-year contracts that start too soon after they are signed, as well as being slow to connect these new plants to the grid. This means fulfilling any demand growth requires paying a big premium for new power plants to be built at unrealistic speeds. PJM also runs the only capacity market in the world that does not distinguish between new and existing power plants. So that premium paid for new power plants is also paid to existing power plants for doing nothing. The same growth in a market that splits new and existing power plant auctions avoids the volume effect of repricing the entire fleet; which means ratepayers are better protected from price spikes.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Despite four record-breaking auctions costing $63B, PJM will be short of the amount of generation it needs to run reliably, and plans to run an &amp;#8220;emergency auction&amp;#8221; from September 30th to October 21st with results by December 2nd. SemiAnalysis concludes there is an additional 3.8GW of reliable power on PJM&amp;#8217;s system by taking into account increased turbine efficiency from cold air, and reduced risk of winter failure after federally mandated asset winterization investments. This is the equivalent of eight large gas power plants which would cost around&lt;strong&gt; $10 billion to build today&lt;/strong&gt;. This 3.8GW would negate 56% of the 6.8GW that PJM plans to procure in its emergency auction.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oc8r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b905d79-53dd-42cd-b3ce-2c8f1b021025_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!oc8r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b905d79-53dd-42cd-b3ce-2c8f1b021025_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s emergency auction presents serious risks, it will sign contracts running to 2043 that are supposed to be paid for by new large loads. These are not sales of electricity; the plants get paid just for existing, whether or not the forecast demand ever arrives. But PJM is doing this with &lt;strong&gt;no committed counter-parties&lt;/strong&gt;. PJM does not have its own money, everything it spends is from ratepayers. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Every PJM state will have to pass (but none have done so yet) their own cost-allocation policy to pass on costs to participating new large loads. But those large loads can opt out if they contract their own additional power plants directly. If they participate there is little clarity on how much of the auction&amp;#8217;s capacity they are expected to pay for. Participation brings no other benefits, like accelerated interconnection timelines. Many datacenter developers have written off PJM regardless, going elsewhere or planning behind-the-meter power configurations. If no other counter-party emerges, then once again those left holding the bag will be the residential ratepayers.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bbfD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3ce08fc-8bb7-4a1b-847c-0681632d8089_2300x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!bbfD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3ce08fc-8bb7-4a1b-847c-0681632d8089_2300x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;In this report, we dive into PJM&amp;#8217;s capacity market and introduce our proprietary reverse-engineered model. We believe that PJM fails to accurately model two critical supply characteristics, despite key stakeholders recognizing them to be both real and of importance:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM does not credit how cold, dense air makes gas plants stronger electricity generators by up to 25% in winter; and&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s risk calculations have not been updated to recognize that as long ago as 2024, 400 of PJM&amp;#8217;s ~700 gas plants had invested in winter reliability measures in response to the outages from Storm Elliott.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="text-align: justify;"&gt;There are deeper problems at PJM than just modeling. Its current auctions were designed two decades ago, and it has not experienced demand growth since. Today PJM is structurally anti-growth. PJM is failing to adapt to this new era of load growth because of a governance &lt;a href="https://semianalysis.com/institutional/pjms-power-struggles/"&gt;deadlock&lt;/a&gt;, a vetocracy of vested interests. If it cannot achieve market reform perhaps it can stem the ratepayer bleeding by improving how capacity is modeled, especially when winter is coming.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;This report will dig deep into PJM&amp;#8217;s capacity market. After providing some introductory context, we adopt the following structure:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We start with the fundamentals and explain how PJM models supply, demand, and reliability risks. We cover their major modeling methodology change in 2024 from EFORd to Reserve Requirement Study and the implications of that change.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We introduce our reverse-engineered model and cover in greater depth how we calculate the role of various resources, outages, reliability, and fleet size.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We get to the core issue: PJM&amp;#8217;s lack of consideration of the increased throughput of gas power plants in the winter, and their improved reliability through Asset Winterization.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We then dive into the pricing impact. PJM&amp;#8217;s capacity auctions are highly complex and we explain why and how PJM&amp;#8217;s 66M residents&amp;#8217; electricity bills were $12B higher than they needed to be.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Lastly, we provide some thoughts on the future of PJM and its upcoming Reliability Backstop Auction. This is an emergency mechanism hoping for datacenters to pay for their own capacity. We believe that ratepayers could, again, be at risk.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Let&amp;#8217;s go.&lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align: justify;"&gt;&lt;em&gt;This report is a collaboration between SemiAnalysis and Nathan Iyer in his personal capacity.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 style="text-align: justify;"&gt;Context&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;If you have not been following along, let us catch you up:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Power bills in PJM states jumped 17-24% in June 2025, and the state regulators labeled the capacity auction as the main driver. Read our &lt;a href="https://substack.com/home/post/p-189479360"&gt;PJM vs ERCOT&lt;/a&gt; article to understand PJM&amp;#8217;s capacity auction, and how singular it is relative to other energy markets.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM constrains its own supply of new power plants by requiring them to be built unrealistically quickly and not even accelerating the grid connections of critical projects. This constrained supply greatly increases prices in the auction.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s capacity auctions restarted in July 2024 after extended delays. This cut the lead time for new generation to get built from the intended 36 months (per the Independent Market Monitor) to 10 months, rising to only 23 months for the latest auction. Power plants take time to build and need long term visibility so giving only a 23-month lead time makes it near impossible to build new generation.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;The four auctions since have each procured 134-138GW a year of accredited capacity at prices that jumped from &lt;a href="https://www.pjm.com/-/media/DotCom/markets-ops/rpm/rpm-auction-info/2024-2025/2024-2025-base-residual-auction-report.ashx"&gt;$28.92&lt;/a&gt; before the delay to $270-333 per megawatt-day, raising the cost of a capacity auction from $2.2B to $16.4B, and the four-auction total to $63.6B.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;This money is paid by every single household and business in the PJM area, and is little more than a transfer from ratepayers to existing power plants as over the last four auctions only 4.8GW of new capacity has been procured.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Already built capacity does not need $325/MW-day: PJM&amp;#8217;s own market monitor says existing generators bid at &lt;a href="https://www.monitoringanalytics.com/reports/Reports/2026/IMM_Analysis_of_the_20272028_RPM_Base_Residual_Auction_Part_B_20260709.pdf"&gt;$8-14/MW-day&lt;/a&gt;, and Great Britain&amp;#8217;s latest auction paid existing generation $18/MW-day (&amp;#163;5/kW-year).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;These gas plants do not need the money to stay online. The median existing combined cycle made &lt;a href="https://www.monitoringanalytics.com/reports/PJM_State_of_the_Market/2025.shtml"&gt;407%&lt;/a&gt; of its going-forward costs in the energy and ancillary services markets alone in 2025, before a dollar of capacity revenue.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM prevented new projects from getting a grid connection. From October 2021 there was no study path while PJM cleared its &lt;a href="https://www.pjm.com/-/media/documents/ferc/orders/2022/20221129-er22-2110-000.ashx"&gt;backlog&lt;/a&gt;; a general application window did not reopen until April 2026, when &lt;a href="https://insidelines.pjm.com/"&gt;220 GW applied&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Now PJM has two under-performing interconnection fast-tracks: 1. &lt;a href="https://www.pjm.com/planning/service-requests/reliability-resource-initiative"&gt;The Reliability Resource Initiative&lt;/a&gt;, 51 shovel-ready projects picked May 2025, now 41 with 31.5% of the megawatts withdrawn, first output scheduled 2030; 2. The 10-units-a-year Expedited Track opened July 31, 2026. Neither has energized a single megawatt.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM cannot reform itself: rule changes need a two-thirds majority across five equally weighted member sectors, so any two sectors can veto anything, and they often do. The Board can override depending on the reform but has chosen not to on these problems.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;FERC has now given PJM until the end of September to reform its governance otherwise FERC will intervene. But FERC mainly has reactive rather than proactive powers and this threat is not strictly about the capacity auctions or modeling.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM is also the only market in the world where the capacity auction price is for the whole generation stack. Japan was the last other market to price the whole fleet on one year terms but has now concluded the design builds nothing and bolted on a separate 20-year auction for new entries.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IZ2m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdaac66-a419-4663-9c0e-a7c26c98d5cf_2360x1230.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="759" src="https://substackcdn.com/image/fetch/$s_!IZ2m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdaac66-a419-4663-9c0e-a7c26c98d5cf_2360x1230.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Action&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;FERC is accepting comments on PJM&amp;#8217;s backstop &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;filing&lt;/a&gt;, until 21st August. Anyone may participate at &lt;a href="http://ferconline.ferc.gov"&gt;ferconline.ferc.gov&lt;/a&gt;. SemiAnalysis will be submitting this analysis. We encourage others to do the same and we welcome any input on the model, please write to us at &lt;a href="mailto:energy@semianalysis.com"&gt;energy@semianalysis.com&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;We also encourage PJM&amp;#8217;s Board to file improved modeling criteria at FERC to change the tariff and Reliability Assurance Agreement, through the same fast-path process it used to install the current rules in 2023 and to launch the backstop this July. FERC must accept it if it is just and reasonable, and FERC accepted seasonal accreditation at MISO in 2022. The winter-ratings text was &lt;a href="https://www.pjm.com/-/media/committees-groups/committees/mrc/2025/20250820/20250820-item-04a---elccstf-background-and-voting-results---presentation.ashx"&gt;written&lt;/a&gt; in Package C in August 2025, passed by PJM&amp;#8217;s own task force, but was not passed by the senior committee. The Board can pick it up tomorrow. Crediting mandated winterization has not been drafted. The closest attempt was the market monitor&amp;#8217;s blunter &lt;a href="https://www.pjm.com/committees-and-groups/committees/mrc"&gt;version&lt;/a&gt; to delete the storm data outright, which was refused in the same session. FERC should require that the emergency auction&amp;#8217;s 6.8GW target be recalculated before PJM signs contracts that will last until 2043.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Our main recommendations are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;These modeling recommendations should be implemented for the emergency auction as well as future auctions;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;There should be an inquiry into the overspending of ratepayers&amp;#8217; money in the 2025/26 and 2026/27 auctions; and&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Auctions for existing vs new capacity should be split.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="text-align: justify;"&gt;Our more loosely held thoughts are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;The Emergency Auction should probably be canceled for posing too great a risk to ratepayers if new large loads do not arrive, instead only use direct capacity contracting as part of accelerated interconnection agreements; and&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;If the Emergency Auction is kept to make up the shortfall it should be paid for by existing demand with a short term fix of further lowering the price cap for the Base Residual Auction, this would effectively create separate existing and new capacity auctions.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Datacenters are how electricity can become cheaper than ever before by paying down high system costs using economies of scale and unprecedented value creation . To attract more datacenters and achieve this affordable energy future State Governors and customer advocates need to focus on the bureaucratic failures to create functional markets.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h1 style="text-align: justify;"&gt;1. PJM underestimates the power plants it already has by ~4 gigawatts of reliable power&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;For a primer on PJM&amp;#8217;s capacity market and auctions, read our previous &lt;a href="https://open.substack.com/pub/semianalysis/p/are-ai-datacenters-increasing-electric?r=8s6hrc&amp;amp;utm_campaign=post-expanded-share&amp;amp;utm_medium=web"&gt;report&lt;/a&gt;. As a TLDR: PJM acts as a central planner and runs auctions to ensure there is enough supply to meet peak demand, with a safety buffer. PJM made its planning more sophisticated in 2024, but due to failed stakeholder votes, did not include important inputs. The result of leaving out these inputs is that PJM overestimates system risk during winter months which leads to trying to procure too many new power plants as backup. But PJM also has a constrained supply of new power plants which leads to price spikes, trying but failing to fix this scarcity.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Things weren&amp;#8217;t always this way.&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;In 2024, the same year the capacity auction prices first spiked, PJM overhauled their resource adequacy modeling. Previously, the PJM system operated under a system called &amp;#8220;Equivalent Demand Forced Outage Rate&amp;#8221; or EFORd. The capacity target was set by taking the peak demand and adding a margin based on the chance a generator might be offline. However, this system is not able to effectively capture &lt;strong&gt;correlated failures, which are more common in cold winter months for natural gas power plants.&lt;/strong&gt; It also fails to account for newer technologies on the grid. Specifically variable resources which require modeling on at least an hourly basis to capture their contributions to capacity. These are intermittent generation such as wind, solar, or run-of-river hydro; as well as &amp;#8216;limited&amp;#8217; resources, like storage of all kinds.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;These limitations came to light in 2022. During Winter Storm Elliott, PJM lost &lt;a href="https://www.ferc.gov/media/winter-storm-elliott-report-inquiry-bulk-power-system-operations-during-december-2022"&gt;24%&lt;/a&gt; of its total generation due to forced outages and derates, and two thirds of the loss came from natural gas generators. Storm Elliott led to a substantial overhaul of the Reserve Requirement Study making it into an hourly risk framework. In this study PJM models demand against supply for every hour of the year for a number of theoretical years, using both historic and forecast-based randomized data. This more detailed approach identified that at certain times of the year there is not enough supply relative to demand.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;As a result, gas in particular suffered a 10-20% knock-down. These two changes had a large system impact, cleared capacity fell by 8% (12GW from 147GW to 135GW) between the auctions for 2024/25 and 2025/26. It is as if the system lost a score of large power plants. The capacity auctions have been expensive since PJM basically had to buy replacement plants.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ciCO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18fb33e4-4e47-4bc8-a568-9a60921845d6_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!ciCO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18fb33e4-4e47-4bc8-a568-9a60921845d6_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;The shift from a summer risk system to a winter risk system is a much bigger deal in PJM. It has one central auction, versus other capacity markets, which instead distinguish specifically between winter and summer. For PJM, a winter risk system &lt;strong&gt;degrades the reliability value&lt;/strong&gt; of stronger summer resources (e.g. solar and storage which can bridge afternoon peaks), and enhances the stronger winter resources (e.g. nuclear, coal). Even a minor improvement in winter gas risk can have ripple effects across every resource, with major commercial implications.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The study&amp;#8217;s hourly matching against weather and demand scenarios defines how each new generator improves reliability of the system. To many this new system is a black box. PJM, to its credit, publishes a portion of its work and data. It is complex but its nuances are important for understanding PJM&amp;#8217;s current problems. With which, combined with other public data, we have given our best shot at reconstructing the model and scrutinizing its inner workings. In doing so, we&amp;#8217;ve identified and corroborated a number of weaknesses that are of great importance to recent price spikes; reliability concerns; and the upcoming backstop auction.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;The Reserve Requirement Study&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s new(ish) system overestimates the risk in winter months which leads to overbuilding power plants. Our model re-runs the Reserve Requirement Study on the same whole-system basis PJM uses. Our conclusion is that the same fleet is worth more reliable capacity than PJM credits it, so the auction requirement against total electricity demand falls.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;While PJM models demand with its year-round variations, it caps supply at generators&amp;#8217; summer accreditations. On one hand, that makes sense as PJM is a summer peaking system. There is more air conditioning electricity demand in the summer than there is heating demand in the winter, and so the highest demand points in the year are in summer. Even when netted off against the increased output of solar, the demand for reliable power plants is still higher in the summer than it is in the winter. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;On the other hand, historically failure rates of generation are much higher in the winter, tend to be correlated across fleets, and aligned with periods of highest demand. Higher failure rates mean that winter can be the most probable time for supply to fall short of demand. Gas is less reliable in winter as storms can cause them all to freeze at the same time, as seen with the Polar Vortex and Storm Elliott.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;This type of winter risk is recognized in PJM&amp;#8217;s modeling but the details are out of date and lack precision. They do not consider how cold improves the operations of the plants that do not fail, or how plants have hardened themselves against the weather in recent years.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7Dh2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11dbed88-3387-4fb8-8765-963fe8bc9972_2300x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1139" src="https://substackcdn.com/image/fetch/$s_!7Dh2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11dbed88-3387-4fb8-8765-963fe8bc9972_2300x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://pjm-model.semianalysis.compjm-model.semianalysis.comatlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;PJM uses historical data for performance. This means that if a resource falters one time, the only way to increase reliability is to wait over a decade to flush the event out of the system. No amount of investments, regulations, or assurances can lift this judgment. As a result, the largest driver of reliability risk to this day was driven by a polar vortex in 2013 and the second is Storm Elliott in 2022. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sa1T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8905a664-f7e4-4c6c-acc6-f4025ff30f23_2300x1520.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="962" src="https://substackcdn.com/image/fetch/$s_!sa1T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8905a664-f7e4-4c6c-acc6-f4025ff30f23_2300x1520.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Self-Supply&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;Why aren&amp;#8217;t PJM ratepayers better protected from price swings? In most other power markets, retail customers have long-term contracts with utilities and are not exposed to yearly capacity market changes. The market next door, MISO, also experienced substantial capacity swings, but the vast majority of households were unaffected because utilities had long-term contracts. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;There are a number of reasons PJM is so all-or-nothing, but it comes down to a combination of retail choice and deregulation (shorter and less certain contracts), a Supreme Court case that struck down state efforts to support long-term contracts, and a long-standing FERC fight that boiled down to a partisan battle between resource preferences.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The other main option remaining is for utilities to procure enough capacity for themselves and then effectively eject themselves fully from the capacity market for 5 years. This shows up on the capacity markets as big swings, but ends up being relatively neutral impacts because the supply and demand impact is balanced. &lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Fleet Uncertainty&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;While data for PJM&amp;#8217;s overall fleet is relatively transparent and drives their risk model, the auction itself diverges in often unpredictable ways and cannot be fully replicated.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The Reserve Requirement Study is bigger than just the Base Residual Auction, as some utilities &amp;#8216;self-supply&amp;#8217;. The Fixed Resource Requirement (FRR) alternative allows utilities to opt out of the auction and file their own capacity plans, with an obligation set by their share of load, which is ~8% of the PJM system (e.g. 12GW for 2026/27).&lt;/p&gt;&lt;p style="text-align: justify;"&gt;So PJM&amp;#8217;s Reserve Requirement Study models an &amp;#8216;Assumed Fleet&amp;#8217;, and produces a whole-system number (e.g. 146GW of reliable capacity for 2026/27). The auction&amp;#8217;s target is the requirement minus the self-supply obligation (e.g. 134GW for 2026/27). &lt;/p&gt;&lt;p style="text-align: justify;"&gt;The &amp;#8216;Committed Fleet&amp;#8217; is the result of the auction and self-supply. In 2026/27 the auction cleared 134.3GW, 0.2GW short of its target, while the self-supply plans committed 12GW, about 0.3GW more than their obligation. The system ended the auction 0.1GW above the whole-system requirement, but only because self-supply over-delivered by more than the auction missed. Behind all of this sits the total fleet, the power plants that physically exist.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rIZk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c0a2a6-b90e-4dbb-8aa9-06eba6c5989b_2300x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!rIZk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c0a2a6-b90e-4dbb-8aa9-06eba6c5989b_2300x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uTTH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43441d04-a04a-432b-9c74-bc322d3d2660_2295x1224.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!uTTH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43441d04-a04a-432b-9c74-bc322d3d2660_2295x1224.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Reverse-Engineering the Model&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;To get the real numbers we needed to rebuild the model in full. So we took PJM&amp;#8217;s Manual, which explains how they do this study and turned it into code. Then we ran on that code the weather, demand, and generation data that they publish. For data that they do not give we used publicly available proxies, mainly from the U.S. Energy Information Administration. We got a high level of accuracy to the outputs that PJM publishes across the last four auctions. The detailed step by step is included in the Methodology Annex of this newsletter to help subscribers who wishes to recreate or audit our work.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!B81L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e17ac5-bcbc-4237-94b3-be0eb91f7c18_2300x820.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="519" src="https://substackcdn.com/image/fetch/$s_!B81L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e17ac5-bcbc-4237-94b3-be0eb91f7c18_2300x820.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Improving the model&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;In the auction for 2026/27, cold air uplift alone should have reduced the required capacity by 1.5GW and weatherization alone 2.5GW at only 60%. Together they would have been worth 3.1GW as there is a significant overlap between their effects.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8LFh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cb6a8a-49c4-4fd5-8a07-910c25fa9250_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!8LFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cb6a8a-49c4-4fd5-8a07-910c25fa9250_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;We calculated this by using our reconstructed Reserve Requirement Study to test how much the outputs would change if we altered two input assumptions that have been widely debated and previously proposed: crediting cold air uplift and asset winterization. Again, the detailed steps are in the Methodology Annex.&lt;/p&gt;&lt;h3&gt;Crediting Cold Air Uplift&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;A turbine is a mass-flow machine, cold air is denser, so turbines can squeeze more electricity out when temperatures drop. If you ignore ways that a system is more efficient in winter, but still recognize winter failure risk then you double count the risk and buy too many power plants. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s modeling does not recognize that cold weather makes thermal plants more efficient, and increases the available capacity on the grid during cold periods. Cold temperatures make the air denser and improve temperature gradients, which improves turbine flow and increases the peak electricity output of a unit. For combustion turbines, this impact is as high as 25%, and PJM&amp;#8217;s class table averages 8.4% for turbines over the winter months. While gas plants are more likely to come offline in the winter, their fellow gas plants are better able to produce more power to make up for it. Steam plants also benefit from colder cooling water which lowers condenser pressure, improving cycle efficiency. Instead these plants are modeled as if it were the summer months.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Crediting cold air counterbalances the greater breakdown risk. Our model runs these two dynamics side-by-side hour-by-hour. It keeps PJM&amp;#8217;s winter breakdown rates exactly as PJM sets them, and credits extra output per thermal plant running in each simulated hour. Netted over 41,600 simulated years, crediting cold air alone, with PJM&amp;#8217;s failure rates untouched, still cuts the capacity requirement by 1.3 to 2.2GW depending on the year.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM was already told they were modeling this wrong. E3, the consultant PJM hired to review its methodology, highlighted the bias in its &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/task-forces/elccstf/2025/20251209/20251209-item-02---pjm-elcc-rrs-model-evaluation---e3-report.pdf"&gt;December 2025 evaluation&lt;/a&gt;: &amp;#8220;PJM asymmetrically applies ambient derates to the ICAP of unlimited resource classes when temperatures rise but does not apply ambient uprates when temperatures fall.&amp;#8221; PJM&amp;#8217;s own &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/task-forces/elccstf/2025/20250522/20250522-item-02---elcc-accreditation-methodology-update-on-sensitivity-analyses---pjm-presentation.pdf"&gt;May 2025 sensitivity&lt;/a&gt; tested crediting it in the model which resulted in 33 percent less winter loss of load hours and a 1.1 percentage point lower reserve margin against the 2026/27 auction model. E3&amp;#8217;s consideration 4 of 14 was to adopt seasonal or daily capability ratings.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM measured winter capability uplift as &lt;a href="https://www.pjm.com/-/media/committees-groups/task-forces/elccstf/2025/20250522/20250522-item-02---elcc-accreditation-sensitivity-update.ashx"&gt;8.5GW&lt;/a&gt; nameplate. Despite this massive impact (worth at least $13B in new gas plants at a conservative $1500/kW), PJM did not implement this adjustment despite having all the core information. One of the primary reasons is that they would have to run deliverability studies to determine if the additional capacity could serve the whole system. To our knowledge, PJM never ran these studies. It is worth noting that the likelihood of deliverability is high. In stressed circumstances, a large portion of the otherwise deliverable fleet would be offline, and the cold also improves the thermal capacity of all grid components (including conductors, substations, and breakers). Using the summertime capacity ratings for wintertime thermal production is physically inaccurate, but due to stakeholder disagreement (detailed in &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/committees/mrc/2025/20250820/20250820-item-04a---elccstf-background-and-voting-results---presentation.ashx"&gt;Package C&lt;/a&gt; of the ELCC taskforce), proposed reforms to implement this basic change did not pass.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Our modeling methodology is in the annex.&lt;/p&gt;&lt;h3&gt;Updating Risk with Asset Winterization&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;PJM does not properly credit power plants that invest in hardening themselves against extreme events. This means it underestimated winter risk before Storm Elliott and could now overestimate the risk of their newly winterized fleet. This lack of accuracy and forecasting drives up the cost of electricity. Crediting weatherization alone for the 2026/27 auction would have been worth up to 3GW of reliable power. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Crediting winterization and other forms of resilience investment would be a strong financial incentive for plants to invest as they would then earn more in capacity auctions. Instead PJM establishes plant failure rates based on past performance, and the large collapses of the gas fleet during the Polar Vortex and more recently during Winter Storm Elliott play an outsized role in reducing the capacity value which PJM credits to gas plants. For increased statistical heft PJM uses as many historical weather years as possible. But once there is a big miss only time and good performance can slowly return this to baseline. A painstaking process of asymptotic averages. Even if gas plants invested billions in weatherization or demonstrated extraordinary resilience during a similar event. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Plants fail because components freeze: instrumentation and sensing lines, valves, fuel handling. During Winter Storm Elliott (December 2022), PJM saw 46GW of coincident outages. The FERC/NERC joint inquiry (&lt;a href="https://www.ferc.gov/media/winter-storm-elliott-report-inquiry-bulk-power-system-operations-during-december-2022"&gt;October 2023&lt;/a&gt;) found that at least 75% of freezing-caused failures occurred at temperatures above the units&amp;#8217; documented operating limits. Which means a properly winterized unit would not have failed.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;By the winter beginning November 2025, the existing fleet was winterized substantially more than PJM&amp;#8217;s model assumes. Mandatory cold-weather preparedness plans, annual training for every unit, and reporting of each unit&amp;#8217;s cold-weather operating limits were mandated by &lt;a href="https://www.pjm.com/-/media/documents/ferc/filings/2021/20210824-rd21-5-000.ashx"&gt;April 2023&lt;/a&gt;. By January 2024, more than &lt;a href="https://insidelines.pjm.com/pjm-review-system-performed-well-during-winter-storm-gerri/"&gt;400&lt;/a&gt; generators had reported winterization improvements to PJM, a figure PJM published in its own review of Storm Gerri. PJM has roughly 450 gas units and about 750 thermal units in total, so that is the majority of the relevant units. The reports are self-made but they were filed under a regime that already required every unit to hold a cold-weather plan, and they came nearly two years before the auction&amp;#8217;s winter we are modeling. A legally required calculation of every unit&amp;#8217;s extreme cold weather temperature was due by &lt;a href="https://www.govinfo.gov/content/pkg/FR-2024-07-03/pdf/2024-14668.pdf"&gt;October 2024&lt;/a&gt;. The event-CAP rule was enforceable from October 2024; any unit that froze during winter 2024/25 owed a completed corrective plan before &lt;a href="https://www.nerc.com/globalassets/standards/approved-standards/eop/eop-012-3.pdf"&gt;December 2025&lt;/a&gt;. In addition, &lt;a href="https://www.federalregister.gov/documents/2024/07/03/2024-14668/north-american-electric-reliability-corporation-order-approving-extreme-cold-weather-reliability"&gt;binding NERC winterization standards&lt;/a&gt; ramp through 2027, although this had no impact on recent auctions that target years after it goes into effect. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is evidence of winterization in the fleet&amp;#8217;s recent performance. Gerri (January 2024) had a peak of 16GW or 9% in forced outages against Elliott&amp;#8217;s 46GW. The MLK storm (&lt;a href="https://www.pjm.com/committees-and-groups/committees/mrc"&gt;January 2025&lt;/a&gt;) also had a 9% forced-outage rate against Elliott&amp;#8217;s 24%, on similar weather over a holiday weekend, while serving an all-time winter peak. Storm Fern (&lt;a href="https://insidelines.pjm.com/pjm-reviews-january-cold-weather-operations/"&gt;January 2026&lt;/a&gt;) had outages of 18-19GW or 10%. During each of the cold events since Storm Elliott, PJM&amp;#8217;s fleet has behaved like one substantially winterized. MLK in January 2025 with Elliott-like weather showed no excess clustering at all.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Specific methodology is in the annex but the key point is that the winterization lever does not assume plants fail less often. It preserves each class&amp;#8217;s annual average failure rate exactly and removes only the weather clustering. A genuinely winterized fleet would also fail less on average. We do not include credit for that. To be highly conservative we assume a 50% winterization for 2025/26 then step it up by 10% each year from there.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nb_2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde20265a-da5d-4983-9048-ba3f86140f66_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!nb_2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde20265a-da5d-4983-9048-ba3f86140f66_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Overlap &lt;/h3&gt;&lt;p style="text-align: justify;"&gt;The outcomes of these two modeling changes have significant overlap, so together they are less than the sum of their parts. This is because they fix the same hours. PJM&amp;#8217;s requirement is set by a handful of deep-cold hours in which the system might run short. In 2026/27, cold air alone is worth 1,535 MW of requirement relief on the auction&amp;#8217;s scale and weatherization alone set to 100% is worth 3,143 MW, but together they are worth 3,320 MW, not 4,678. In the overlap winterization (when set to 100%) particularly dominates cold air&amp;#8217;s effect, covering up to 76-96% depending on the year. At lower settings the overlap is reduced. For the annual settings we have chosen the overlap range becomes 53-69% depending on the year.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;2. PJM has overspent by ~$12 billion&lt;/h1&gt;&lt;p&gt;The result of these improvements to the model inputs is that PJM has a more reliable fleet than its Reserve Requirement Study currently recognizes. So relative to modeled demand load it needed to procure less capacity than it has done for the last four years. In the two auctions where the price was free to move (2025/26 and 2026/27) that difference was worth $12B.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Auction Design&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Auction design is much harder to reform than modeling methodology. But you need to understand the design in order to see that relatively small shortfalls in modeled capacity can have outsized impacts on auction costs. PJM has two markets: one for energy which is in real time and one for capacity which is on an annual basis. A capacity contract pays a plant for being available, not for making energy. PJM interconnection queue is famously slow and long, but power plants applying joining the queue do so at their own risk, plants joining the capacity market are the ratepayers&amp;#8217; risk. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Two costs matter in any power market: what it costs to run a plant for another hour, and what it cost to build and keep the plant at all. The first short-run marginal cost and the second long-run marginal cost. The daily energy market clears at the short-run marginal cost (fuel, labor, variable maintenance) of the last needed producer. This incentivizes bidding true cost rather than gaming the system as any more than that would risk not being dispatched and so earning nothing. The difference between the short-run and the long-run marginal cost (capital, assets, fixed maintenance) creates a &amp;#8220;missing money&amp;#8221; problem as power plants struggle to make this back in the daily energy market. Some electricity grids, most famously ERCOT in Texas, only have an energy market. Power plants make that missing money by putting prices really high when supply is scarce. But many markets use a capacity auction to provide this missing money, considering it the more stable approach. PJM&amp;#8217;s annual capacity auction also pays all bidders the price of the last needed capacity.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Every year PJM&amp;#8217;s planning model (the Reserve Requirement Study, RRS) decides how much reliable power keeps shortfalls to one event in ten years (the 0.1 Loss of Load Expectation, LOLE). Because risks are spread out everyone in the market tries to free-ride on everyone else which means power capacity has no natural buyer. PJM acts as the insurance intermediary. It draws a market demand curve, a sliding schedule of what price it will pay at each level of supply (the Variable Resource Requirement, VRR). The yearly auction in which generation bids and PJM buys against that curve is the Base Residual Auction (BRA).&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Unfortunately, PJM runs one capacity auction that includes ~92-93% of fleet capacity, both existing generators and new generators. Most of the rest is covered by self-supplied utilities. This is a problem as these are substantially different products, new generators have much larger long-run marginal costs. Existing generators only need to cover their annual fixed costs, the Independent Market Monitor&amp;#8217;s offer data shows most bids at $8-14/MW-day. New generators have substantial risk-related costs and much greater initial fixed costs. New and existing plants also receive the same one-year contract, even though a new plant normally needs a long-term contract with which to raise financing cost-effectively. This auction design means that if there is electricity demand growth which requires new plants to be built then prices will need to increase by a lot compared to the baseline. In PJM&amp;#8217;s case the whole fleet&amp;#8217;s price went from $28.92 to $270-333 per megawatt-day, roughly 20 to 40 times the $8-14 the existing plants themselves were offering. This creates huge windfalls to existing generators without necessarily increasing generation capacity on the system in an effective manner.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Happy to be corrected, but we believe PJM is also unique in the world for how much of its fleet is put through the same marginal-priced auction. 93% of PJM capacity settles at the clearing price, against 15% in MISO&amp;#8217;s residual auction, monthly rolling in New York, bilateral contracts in California, none in Texas, and New England just abandoned the design entirely. MISO also had a sharp auction price swing, but its auction is residual and utilities self-supply or contract for most capacity beforehand. Therefore about 86% of its 2025/26 summer requirement was met outside the auction, leaving most load protected against the swing. Great Britain, Ireland, Italy, and Japan run centralized auctions, but give qualifying new plants contracts of 10 or 20 years while existing plants generally receive one year.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;All of these markets make customers pay for growth. But the same growth in those markets would not drive the repricing of nearly the entire fleet as it did in PJM. That cost shift is a product of market design rather than inherent to load growth. Reform is coming, and datacenter developers have largely supported reforms to pay for capacity as it is in their interests for growth to happen painlessly. However, currently no proposals provide any respite for ratepayers who are still paying for design choices made two decades ago.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;This design is not without its reasons. For over 20 years, PJM has not experienced any load growth, and benefited from an early gas boom by Independent Power Producers that proved disastrous for early investors. Over that time less efficient plants have been pushed off the system by more efficient ones, in many ways a good system, just not one built for growth.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;The Wasted $12B&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;For the four most recent auctions we have calculated what price and volume the auctions would have cleared at if the Reserve Requirement Study had been more accurate. That modeling improvement shifts the demand curve to the left. We find that the auctions for 2025/26 and for 2026/27 would have seen savings of $11.57 billion, with a sensitivity range between $8.0 billion and $14.5 billion combined while procuring more than the reliability requirement. The auctions for 2027/28 and 2028/29 would not have cleared at a lower price or volume because supply was tight enough that the price cap for those years still binds, even under improved modeling.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The capacity auction price is set where the supply curve crosses PJM&amp;#8217;s demand curve (VRR). The demand curve is a published price schedule stating what PJM will pay at each level of supply. The supply curve is made up of all the bids into the market; PJM and its market monitor publish the shape with key data points. We have reconstructed these curves for each of the four auctions.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8Huo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9867b3bb-c6e6-4c8b-b8d0-1c466389414e_2700x2300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1240" src="https://substackcdn.com/image/fetch/$s_!8Huo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9867b3bb-c6e6-4c8b-b8d0-1c466389414e_2700x2300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;We then used our reverse-engineered Reserve Requirement Study to calculate how the curves move with improved inputs to incorporate cold air and asset winterization. Given the greater reliability of the existing fleet the need to procure a greater margin of supply over the electricity demand is reduced. This shifts the demand curve for capacity (VRR) to the left. We computed this by year given different inputs and concluded that for a 0.1 LOLE, whole-system reliable capacity requirements fall by: 2,879 MW (2025/26), 3,396 (2026/27), 4,513 (2027/28), 3,824 (2028/29). We have to assume that bids do not change as modeling bid behavior is complex, in reality there would be some change but we do not think it would be material in this context.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s capacity market has a right-angled supply curve. The vast majority of it is low and flat, then some steady increase, before right at the end it spikes straight up. For example the 2025/26 auction had the first 79% of the bids between $2-5, the next 20% rose until they peaked at $105, and it was only the last 1% that went as high as $352, with the market clearing at $270. This is reflecting that most of the power plants in PJM have existed for a while and bid low as they have little difference between their short-run and long-run marginal costs. But then new power plants bid high to be able to afford to be built quickly and to cover their own risk. The shape of PJM&amp;#8217;s supply curves is why, if you are at their limit, a small change in quantity demanded has a huge impact on price and on total cost, even when having a small impact on volume procured.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The Base Residual Auctions do not stop at their required capacity, they clear on their demand curve. So if there is more capacity that can be bought at a price that PJM has decided is acceptable then it clears the auction. For the 2025/26 auction PJM&amp;#8217;s ceiling price was $452 and enough bids came in that 135.7GW was procured for $270 against a required capacity of 133.6GW.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tu0O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ff41df5-eaeb-4918-95fa-a50e8eaa9861_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!tu0O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ff41df5-eaeb-4918-95fa-a50e8eaa9861_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;If the Reserve Requirement Study had been computed differently then the demand curve would have been shifted to the left by 2.7GW. The adjusted target required capacity would have been 130.9GW and the auction would have cleared 135.7GW at a price of $135 (a 50% discount). Only 0.014GW difference, but that $135/MW-day saving is multiplied by the full 135.7GW (plus $270 times 0.014GW), then multiplied by 365 days to give $6.7B for the full auction.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is even a magnitude of impact sense check we can compare against. The independent market monitor ran a &lt;a href="https://www.monitoringanalytics.com/reports/Reports/2024/IMM_Analysis_of_the_20252026_RPM_Base_Residual_Auction_Part_A_20240920.pdf"&gt;similar calculation&lt;/a&gt; in September 2024, for the cold-air credit alone. It found $2.7 billion with the reserve margin held fixed, and up to $8.0 billion without. Our figure also includes the reliability effects of winterization.&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Price Caps&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;The auction for 2026/27 included the first politically imposed price cap. PJM has price ceilings in its demand curve modeling but price caps were set as a hasty measure by governors to prevent PJM&amp;#8217;s awkward auction design from harming ratepayers even more. While this was achieved, the price cap of $329 also prevented the auction from clearing properly. 134.2GW was procured against a required capacity of 134.5GW, only 0.3GW short. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8os-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3388956-b4cb-4df0-a045-923f99c0c2dc_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!8os-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3388956-b4cb-4df0-a045-923f99c0c2dc_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;If the Reserve Requirement Study had been computed differently then the demand curve would have been shifted to the left by 3.1GW. The adjusted target required capacity would have been 131.4GW and the auction would have cleared 133.6GW at a price of $230. Only 0.6GW less, with an improved reliability margin, and $99/MW-day discount. Total auction savings of $4.9 billion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9r-i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd72f2e4-4f3e-44e0-9a3b-59287b42ddb0_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!9r-i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd72f2e4-4f3e-44e0-9a3b-59287b42ddb0_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Price caps can have many unintended consequences. In this instance one result has been an emergency auction for 11-15 year contracts at elevated prices. Any generators that chose to withhold incremental capacity may well have benefited from doing so.&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Constrained Supply&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;2025/26 and 2026/27 are the two auctions in which we found PJM had wasted ratepayers&amp;#8217; money. The next two auctions would not have had price or volume impacts from improved modeling because supply was so constrained that even 4.5GW and 3.8GW of movement respectively would not get the demand curve to cross with the supply curve below the auctions&amp;#8217; political price caps.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The 2027/28 auction held in December 2025, cleared at $333.44, at the price cap and 6.5GW short. So a 4.5GW leftwards shift in the demand curve is not sufficient to make a difference. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4O-i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19132299-ddf9-4ab3-8aa7-cbb500f5b708_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!4O-i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19132299-ddf9-4ab3-8aa7-cbb500f5b708_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;The 2028/29 auction held in July 2026, cleared at $325.00, at the cap and 6.8GW short. The 6.8GW target falls to about 3GW with improved modeling.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;That 6.8GW vs 3GW is now the billions-of-dollars question for PJM&amp;#8217;s fast-approaching emergency auction.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;3. PJM is putting ratepayers at risk by trying to buy too much in its upcoming emergency auction.&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PhJK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5210d48f-1ef8-4d6f-88c8-cad08046d5a3_2300x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!PhJK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5210d48f-1ef8-4d6f-88c8-cad08046d5a3_2300x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Who Pays?&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;Buying too much is bad in any auction, but this backstop auction has no defined counter-party. PJM plans to pay for power plants to get built on the expectation that energy demand arrives later. But if that demand does not arrive then PJM will still have to pay.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;In theory new large loads are supposed to pay for this emergency auction. But the forcasted large loads are hypothetical and won&amp;#8217;t be signing on the dotted line. The plan is for PJM to sign the contracts and for the States to each pass their own cost-allocation policy to allocate costs onto participating new large loads. PJM&amp;#8217;s &lt;a href="https://www.pjm.com/-/media/about-pjm/who-we-are/public-disclosures/20260727-board-decisional-letter-on-cifp-reliability-backstop-procurement-and-connect-and-manage.ashx"&gt;filing&lt;/a&gt; clarifies that &amp;#8220;Because PJM does not have jurisdiction to allocate retail costs directly to individual data centers, state action will be essential.&amp;#8221; This creates a lot of uncertainty for large loads as cost pass-on will be bespoke state-by-state.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Only new resources in service by June 2032 may bid. Contracts all end in 2043, so a power plant online in 2032 gets about eleven years. The costs are then assigned to transmission zones in proportion to forecast load growth between 2026/27 and 2028/29. Those shares are frozen for the full fifteen years. Inside each zone, a state will use bespoke policy design to direct the costs onward to specific large loads or distribution companies. If a state does nothing, the filing&amp;#8217;s default applies and the costs fall on every load-serving entity in the zone by peak-load share.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is no true-up, the zone shares are set by forecast growth and never revisited. The supply contracts are structured as guaranteed top-ups. Each winner is made whole to its bid against whatever the capacity market later pays out to 2043. Load-serving entities assigned backstop costs must post credit support of &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;$1.5 million per megawatt&lt;/a&gt; of obligation, within ninety days of each delivery year. At the ceiling average of $555/MW-day the maximum liability for 6.8GW is roughly $21 billion.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is no sweetener to encourage large loads to participate such as accelerated interconnection. There is not even assurance on &amp;#8216;unaccelerated&amp;#8217; interconnection timelines. Then on the supply side there is little penalty for under-delivering once a plant is running. PJM itself &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;projects&lt;/a&gt; that even with the backstop the next auction &amp;#8220;may clear short&amp;#8221;.&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Overruled&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;Through PJM&amp;#8217;s fast-track stakeholder process this spring, the members developed and endorsed a backstop design built around a voluntary subscription model. This was championed by a coalition of the electric distribution companies and the Data Center Coalition. The idea was for large new loads to subscribe first, committing to pay for the new capacity before it&amp;#8217;s procured. Unbelievably for PJM that design won more than &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/committees/mc/2026/20260630-special/mc-voting-results---agenda-item-3o---joint-edcs-and-data-center-coalition-rbp-proposal.pdf"&gt;two-thirds sector-weighted support&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Then the Board overrode its own members. In its &lt;a href="https://www.pjm.com/-/media/about-pjm/who-we-are/public-disclosures/20260727-board-decisional-letter-on-cifp-reliability-backstop-procurement-and-connect-and-manage.ashx"&gt;decisional letter&lt;/a&gt; of 27th July 2026, the Board rejected the subscription framework on the stated ground that it &amp;#8220;would not provide sufficient assurance that capacity equal to the identified near-term shortfall would actually be procured&amp;#8221;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;That is why improving this system modeling is crucial. The Board decided this high-risk emergency auction was necessary because of modeling which overstates the near-term shortfall. The near-term shortfall is currently 6.8GW, recomputed it would be 3.0GW, an amount a subscription model could plausibly have covered. The total requirement of 156GW is built from the 2028/29 load forecast, which already embeds the anticipated datacenter growth.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM has &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;filed&lt;/a&gt; the Board&amp;#8217;s proposal at FERC on 31st July 2026. The Board&amp;#8217;s design uses a $555 average-cap and they added back a badly designed curtailment scheme (IRAS) that the members had rightly voted down. Both of these measures seem designed to dissuade new large loads from joining this scheme.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;An average-price cap with pay-as-bid supply contracts means that participating demand loads do not know what price they will sign. The $555 cap constrains the portfolio average and not any individual contract. PJM&amp;#8217;s own &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;worked example&lt;/a&gt; shows a $600 offer clearing. The quantity being bought is also unknown, because the window for reporting bilateral offsets runs concurrently with the offer window. The load&amp;#8217;s own share is unknown, because it depends on state allocation mechanisms that do not yet exist and on how many other loads participate. The average is applied at selection. If contracts are voided later, the remaining portfolio is never re-tested against $555. This risk is asymmetric on the upside as lower priced contracts are more likely to be abandoned or fail. Pay-as-bid makes this worse. In a marginal-price auction a bidder&amp;#8217;s best strategy is to bid its true cost. Under pay-as-bid the best strategy is to bid your forecast of the highest accepted price. PJM&amp;#8217;s own witness says this in the &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;filing&lt;/a&gt;: pay-as-bid sellers &amp;#8220;are more likely to offer the expected clearing price,&amp;#8221; and market-power mitigation in this setting is &amp;#8220;difficult and ineffective.&amp;#8221;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The Interim Resource Adequacy Service (IRAS) scheme applies to loads over 50MW after 2027/28 that are not covered by one of: the central procurement, self-supply, or a bilateral contract. These loads connect as non-firm and are curtailed first during capacity shortages, ahead of even the pre-emergency demand response programs. As an aside, non-firm connections are fair in extreme cases, but this is mad. Demand response participants are paid to curtail; it is a service they sell. The new large loads would be paying for this service in their electricity bills and still be turned off first. These demand loads will be in the hundreds of megawatts and are not designed for this kind of fast response or high-fidelity manipulation. It could even be dangerous to the system. PJM&amp;#8217;s own staff had dropped mandatory curtailment days before the final stakeholder meeting, citing doubts about PJM&amp;#8217;s jurisdiction to curtail retail load at all, and the generators&amp;#8217; own trade group warned that reviving it invited protracted litigation.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;For any load that can manage it, self-supply strictly dominates the auction. This will drive defection and greatly increase the risk of yet more over-procurement by PJM to the detriment of its rate-paying households and businesses. For the rest, greener pastures await in other power markets. &lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Governance&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Comments to FERC close 21st August at 17:00 Eastern. The auction runs from 30th September to 21st October, with results by 2nd December. This is only one week before the next regular auction opens on 9th December. PJM posted the class ratings for the 2029/30 auction on 7th August. Once again they were computed for endless summer. PJM will post the remaining parameters on 31st August. Everything in this piece is about decisions being made in the next ninety days.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Other than our reverse-engineered model almost none of this is new. In 2023 PJM proposed a full two-season capacity market itself. But after the Independent Market Monitor and others objected that the design needed more development time, PJM withdrew it and filed an annual-only package; FERC &lt;a href="https://www.pjm.com/-/media/documents/ferc/orders/2024/20240130-er24-99-000.ashx"&gt;approved that package&lt;/a&gt; in January 2024 and declined to require seasonality. In September 2024, the Independent Market Monitor &lt;a href="https://www.monitoringanalytics.com/reports/Reports/2024/IMM_Analysis_of_the_20252026_RPM_Base_Residual_Auction_Part_A_20240920.pdf"&gt;concluded&lt;/a&gt; that crediting the winter capability of thermal plants would have cut that year&amp;#8217;s capacity bill by $2.7 billion with the reserve margin held fixed, and up to $8.0 billion otherwise. Its standing recommendation read: &amp;#8220;There is no reason that excess winter CIRs cannot be assigned to these resources immediately.&amp;#8221; In May 2025 PJM&amp;#8217;s &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/task-forces/elccstf/2025/20250522/20250522-item-02---elcc-accreditation-methodology-update-on-sensitivity-analyses---pjm-presentation.pdf"&gt;sensitivity analysis&lt;/a&gt; found the fleet&amp;#8217;s winter capability runs 8,561 megawatts above its summer ratings. That same month, members voted &lt;a href="https://www.pjm.com/-/media/committees-groups/committees/mrc/2025/20250521/mc-voting-results.ashx"&gt;3.699&lt;/a&gt; (of 5 sector-weighted votes) to defer adjacent transmission work &amp;#8220;until such time that stakeholders undertake work on a seasonal capacity construct.&amp;#8221; In July 2025 PJM&amp;#8217;s own task force endorsed the fix in Package C. This included winter ratings and passed &lt;a href="https://www.pjm.com/-/media/committees-groups/task-forces/elccstf/2025/20250725-voting-result-report---elcc-accreditation-methodology---july-31-2025.ashx"&gt;178 votes to 54, 77%&lt;/a&gt;. Twenty-six days later, on 20th August 2025, the senior committee killed it with &lt;a href="https://www.pjm.com/-/media/committees-groups/committees/mrc/2025/20250820/20250820-item-04a---elccstf-background-and-voting-results---presentation.ashx"&gt;30.7%&lt;/a&gt; of the weighted vote. Generation owners argued a higher winter rating raises the benchmark a plant is penalized against when it underperforms in summer. The consumer sectors voted PJM&amp;#8217;s package down while backing two blunter alternatives, and the generators killed those in turn. In December 2025 E3 &lt;a href="https://www.pjm.com/-/media/committees-groups/task-forces/elccstf/2025/20251209/20251209-item-02---pjm-elcc-rrs-model-evaluation---e3-report.ashx"&gt;recommended&lt;/a&gt; seasonal or daily ratings, Consideration 4 of 14. No vote has been held since.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;Conclusion&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s centralized capacity market has fully failed at its core role of solving capacity shortfalls. Faced with the first instance of modest growth in its modern history, the capacity market was unable to procure capacity. Instead PJM&amp;#8217;s design misallocated those dollars as windfall profits to existing generators while constraining supply with short lead times and long interconnection queues. PJM is making progress at creating a third energy market in the form of this emergency auction specifically for the new generation. But in doing so it is converting long-standing errors into long-standing liabilities with basic resource modeling accuracy still in the air.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;These specific modeling points have been debated before but without success in implementation. Our hope is that this effort to reverse-engineer and release PJM&amp;#8217;s black box will move the debate through exposure to the size of impact this change in methodology could have. That is what we have attempted to do with the information that is publicly available. We must emphasize that there is key information which is not available which we have highlighted. This has the result that our modeling is at best a good approximation. If we are even half right, we need to change this modeling urgently to avoid further waste and create a clearer signal of what new capacity is required to enable PJM to grow once again.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;Methodology Annex&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted"/>
    <summary type="html">&lt;p style="text-align: justify;"&gt;Earlier this year, we &lt;a href="https://open.substack.com/pub/semianalysis/p/are-ai-datacenters-increasing-electric?r=8s6hrc&amp;amp;utm_campaign=post&amp;amp;utm_medium=web"&gt;explained&lt;/a&gt; why residents of the PJM area, America&amp;#8217;s largest electricity market, have seen their power bills rise by ~20%. We argued that the main culprit was PJM&amp;#8217;s auction design choices and how PJM models demand and supply. To better understand the extent of the problem, our Energy Model team spent the last 6 months reverse-engineering PJM&amp;#8217;s main system model, the &amp;#8216;Reserve Requirement Study&amp;#8217;, which to date has been a black box. This study is how PJM decides what type of and how many power plants to buy to make sure electricity is reliable, using an annual auction, and spending billions each year.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Armed with a reconstructed model we argue that the problem is worse than we thought. PJM&amp;#8217;s model includes errors that we estimate have cost all of its 66 million residents a total of $12B between 2025 and 2027 alone. We share our method in the annex of this newsletter for our subscribers; as well as the results of the model in our &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;PJM Model dashboard&lt;/a&gt;. Our live rebuild of the Reserve Requirement Model is a tab available exclusively to our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model&lt;/a&gt; clients; which also includes a quarter-by-quarter forecast of the whole US grid tracking &amp;gt;40,000 grid-connected power plants, and every single behind-the-meter datacenter power order.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s model is &lt;strong&gt;structurally anti-growth&lt;/strong&gt; with a poorly designed capacity market that is globally unique and a governance system that is too big to function.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;These failings magnify the negative impact of bad system modeling, which is the focus of this report:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&lt;strong&gt; underestimates by ~4 gigawatts&lt;/strong&gt; the existing power plants it already has; owing to a methodology which doesn&amp;#8217;t account for the higher efficiency of power plants in winter and improved power plant resilience since Storm Elliott.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM has &lt;strong&gt;wasted ~$12 billion of ratepayers&amp;#8217; money&lt;/strong&gt; from 2025 to 2027 due to this weak methodology, which dramatically overstated the supply/demand shortfall it faced. Household electricity bills would have risen much less if PJM&amp;#8217;s model was accurate.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s emergency auction is &lt;strong&gt;putting ratepayers at risk&lt;/strong&gt; by signing contracts for too much power without committed counter-parties.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0djL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103d6c71-0e23-4b8c-a940-d1edfa399690_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!0djL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103d6c71-0e23-4b8c-a940-d1edfa399690_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Using PJM&amp;#8217;s demand and supply curves we calculate that better modeling would have resulted in $6.7B of savings with only 0.014GW (yes, 14MW) less power procured for 2025/26; then $4.9B and 0.8GW for 2026/27. More power meaning less in savings might be counter-intuitive but we have the supply and demand curves to show how these disproportionate impacts occur. PJM has forced itself into operating at the limit, so inaccurately modeling power plants&amp;#8217; capacities has a massive impact on auction costs.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IZj4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6b4a3c1-4dd9-4827-b717-506a643fbbc0_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!IZj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6b4a3c1-4dd9-4827-b717-506a643fbbc0_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;PJM has constrained its own supply of new power by having one-year contracts that start too soon after they are signed, as well as being slow to connect these new plants to the grid. This means fulfilling any demand growth requires paying a big premium for new power plants to be built at unrealistic speeds. PJM also runs the only capacity market in the world that does not distinguish between new and existing power plants. So that premium paid for new power plants is also paid to existing power plants for doing nothing. The same growth in a market that splits new and existing power plant auctions avoids the volume effect of repricing the entire fleet; which means ratepayers are better protected from price spikes.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Despite four record-breaking auctions costing $63B, PJM will be short of the amount of generation it needs to run reliably, and plans to run an &amp;#8220;emergency auction&amp;#8221; from September 30th to October 21st with results by December 2nd. SemiAnalysis concludes there is an additional 3.8GW of reliable power on PJM&amp;#8217;s system by taking into account increased turbine efficiency from cold air, and reduced risk of winter failure after federally mandated asset winterization investments. This is the equivalent of eight large gas power plants which would cost around&lt;strong&gt; $10 billion to build today&lt;/strong&gt;. This 3.8GW would negate 56% of the 6.8GW that PJM plans to procure in its emergency auction.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oc8r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b905d79-53dd-42cd-b3ce-2c8f1b021025_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!oc8r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b905d79-53dd-42cd-b3ce-2c8f1b021025_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s emergency auction presents serious risks, it will sign contracts running to 2043 that are supposed to be paid for by new large loads. These are not sales of electricity; the plants get paid just for existing, whether or not the forecast demand ever arrives. But PJM is doing this with &lt;strong&gt;no committed counter-parties&lt;/strong&gt;. PJM does not have its own money, everything it spends is from ratepayers. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Every PJM state will have to pass (but none have done so yet) their own cost-allocation policy to pass on costs to participating new large loads. But those large loads can opt out if they contract their own additional power plants directly. If they participate there is little clarity on how much of the auction&amp;#8217;s capacity they are expected to pay for. Participation brings no other benefits, like accelerated interconnection timelines. Many datacenter developers have written off PJM regardless, going elsewhere or planning behind-the-meter power configurations. If no other counter-party emerges, then once again those left holding the bag will be the residential ratepayers.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bbfD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3ce08fc-8bb7-4a1b-847c-0681632d8089_2300x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!bbfD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3ce08fc-8bb7-4a1b-847c-0681632d8089_2300x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;In this report, we dive into PJM&amp;#8217;s capacity market and introduce our proprietary reverse-engineered model. We believe that PJM fails to accurately model two critical supply characteristics, despite key stakeholders recognizing them to be both real and of importance:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM does not credit how cold, dense air makes gas plants stronger electricity generators by up to 25% in winter; and&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s risk calculations have not been updated to recognize that as long ago as 2024, 400 of PJM&amp;#8217;s ~700 gas plants had invested in winter reliability measures in response to the outages from Storm Elliott.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="text-align: justify;"&gt;There are deeper problems at PJM than just modeling. Its current auctions were designed two decades ago, and it has not experienced demand growth since. Today PJM is structurally anti-growth. PJM is failing to adapt to this new era of load growth because of a governance &lt;a href="https://semianalysis.com/institutional/pjms-power-struggles/"&gt;deadlock&lt;/a&gt;, a vetocracy of vested interests. If it cannot achieve market reform perhaps it can stem the ratepayer bleeding by improving how capacity is modeled, especially when winter is coming.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;This report will dig deep into PJM&amp;#8217;s capacity market. After providing some introductory context, we adopt the following structure:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We start with the fundamentals and explain how PJM models supply, demand, and reliability risks. We cover their major modeling methodology change in 2024 from EFORd to Reserve Requirement Study and the implications of that change.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We introduce our reverse-engineered model and cover in greater depth how we calculate the role of various resources, outages, reliability, and fleet size.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We get to the core issue: PJM&amp;#8217;s lack of consideration of the increased throughput of gas power plants in the winter, and their improved reliability through Asset Winterization.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;We then dive into the pricing impact. PJM&amp;#8217;s capacity auctions are highly complex and we explain why and how PJM&amp;#8217;s 66M residents&amp;#8217; electricity bills were $12B higher than they needed to be.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Lastly, we provide some thoughts on the future of PJM and its upcoming Reliability Backstop Auction. This is an emergency mechanism hoping for datacenters to pay for their own capacity. We believe that ratepayers could, again, be at risk.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Let&amp;#8217;s go.&lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align: justify;"&gt;&lt;em&gt;This report is a collaboration between SemiAnalysis and Nathan Iyer in his personal capacity.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 style="text-align: justify;"&gt;Context&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;If you have not been following along, let us catch you up:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Power bills in PJM states jumped 17-24% in June 2025, and the state regulators labeled the capacity auction as the main driver. Read our &lt;a href="https://substack.com/home/post/p-189479360"&gt;PJM vs ERCOT&lt;/a&gt; article to understand PJM&amp;#8217;s capacity auction, and how singular it is relative to other energy markets.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM constrains its own supply of new power plants by requiring them to be built unrealistically quickly and not even accelerating the grid connections of critical projects. This constrained supply greatly increases prices in the auction.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s capacity auctions restarted in July 2024 after extended delays. This cut the lead time for new generation to get built from the intended 36 months (per the Independent Market Monitor) to 10 months, rising to only 23 months for the latest auction. Power plants take time to build and need long term visibility so giving only a 23-month lead time makes it near impossible to build new generation.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;The four auctions since have each procured 134-138GW a year of accredited capacity at prices that jumped from &lt;a href="https://www.pjm.com/-/media/DotCom/markets-ops/rpm/rpm-auction-info/2024-2025/2024-2025-base-residual-auction-report.ashx"&gt;$28.92&lt;/a&gt; before the delay to $270-333 per megawatt-day, raising the cost of a capacity auction from $2.2B to $16.4B, and the four-auction total to $63.6B.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;This money is paid by every single household and business in the PJM area, and is little more than a transfer from ratepayers to existing power plants as over the last four auctions only 4.8GW of new capacity has been procured.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Already built capacity does not need $325/MW-day: PJM&amp;#8217;s own market monitor says existing generators bid at &lt;a href="https://www.monitoringanalytics.com/reports/Reports/2026/IMM_Analysis_of_the_20272028_RPM_Base_Residual_Auction_Part_B_20260709.pdf"&gt;$8-14/MW-day&lt;/a&gt;, and Great Britain&amp;#8217;s latest auction paid existing generation $18/MW-day (&amp;#163;5/kW-year).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;These gas plants do not need the money to stay online. The median existing combined cycle made &lt;a href="https://www.monitoringanalytics.com/reports/PJM_State_of_the_Market/2025.shtml"&gt;407%&lt;/a&gt; of its going-forward costs in the energy and ancillary services markets alone in 2025, before a dollar of capacity revenue.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM prevented new projects from getting a grid connection. From October 2021 there was no study path while PJM cleared its &lt;a href="https://www.pjm.com/-/media/documents/ferc/orders/2022/20221129-er22-2110-000.ashx"&gt;backlog&lt;/a&gt;; a general application window did not reopen until April 2026, when &lt;a href="https://insidelines.pjm.com/"&gt;220 GW applied&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Now PJM has two under-performing interconnection fast-tracks: 1. &lt;a href="https://www.pjm.com/planning/service-requests/reliability-resource-initiative"&gt;The Reliability Resource Initiative&lt;/a&gt;, 51 shovel-ready projects picked May 2025, now 41 with 31.5% of the megawatts withdrawn, first output scheduled 2030; 2. The 10-units-a-year Expedited Track opened July 31, 2026. Neither has energized a single megawatt.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM cannot reform itself: rule changes need a two-thirds majority across five equally weighted member sectors, so any two sectors can veto anything, and they often do. The Board can override depending on the reform but has chosen not to on these problems.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;FERC has now given PJM until the end of September to reform its governance otherwise FERC will intervene. But FERC mainly has reactive rather than proactive powers and this threat is not strictly about the capacity auctions or modeling.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;PJM is also the only market in the world where the capacity auction price is for the whole generation stack. Japan was the last other market to price the whole fleet on one year terms but has now concluded the design builds nothing and bolted on a separate 20-year auction for new entries.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IZ2m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdaac66-a419-4663-9c0e-a7c26c98d5cf_2360x1230.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="759" src="https://substackcdn.com/image/fetch/$s_!IZ2m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffdaac66-a419-4663-9c0e-a7c26c98d5cf_2360x1230.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Action&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;FERC is accepting comments on PJM&amp;#8217;s backstop &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;filing&lt;/a&gt;, until 21st August. Anyone may participate at &lt;a href="http://ferconline.ferc.gov"&gt;ferconline.ferc.gov&lt;/a&gt;. SemiAnalysis will be submitting this analysis. We encourage others to do the same and we welcome any input on the model, please write to us at &lt;a href="mailto:energy@semianalysis.com"&gt;energy@semianalysis.com&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;We also encourage PJM&amp;#8217;s Board to file improved modeling criteria at FERC to change the tariff and Reliability Assurance Agreement, through the same fast-path process it used to install the current rules in 2023 and to launch the backstop this July. FERC must accept it if it is just and reasonable, and FERC accepted seasonal accreditation at MISO in 2022. The winter-ratings text was &lt;a href="https://www.pjm.com/-/media/committees-groups/committees/mrc/2025/20250820/20250820-item-04a---elccstf-background-and-voting-results---presentation.ashx"&gt;written&lt;/a&gt; in Package C in August 2025, passed by PJM&amp;#8217;s own task force, but was not passed by the senior committee. The Board can pick it up tomorrow. Crediting mandated winterization has not been drafted. The closest attempt was the market monitor&amp;#8217;s blunter &lt;a href="https://www.pjm.com/committees-and-groups/committees/mrc"&gt;version&lt;/a&gt; to delete the storm data outright, which was refused in the same session. FERC should require that the emergency auction&amp;#8217;s 6.8GW target be recalculated before PJM signs contracts that will last until 2043.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Our main recommendations are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;These modeling recommendations should be implemented for the emergency auction as well as future auctions;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;There should be an inquiry into the overspending of ratepayers&amp;#8217; money in the 2025/26 and 2026/27 auctions; and&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;Auctions for existing vs new capacity should be split.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="text-align: justify;"&gt;Our more loosely held thoughts are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;The Emergency Auction should probably be canceled for posing too great a risk to ratepayers if new large loads do not arrive, instead only use direct capacity contracting as part of accelerated interconnection agreements; and&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;If the Emergency Auction is kept to make up the shortfall it should be paid for by existing demand with a short term fix of further lowering the price cap for the Base Residual Auction, this would effectively create separate existing and new capacity auctions.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Datacenters are how electricity can become cheaper than ever before by paying down high system costs using economies of scale and unprecedented value creation . To attract more datacenters and achieve this affordable energy future State Governors and customer advocates need to focus on the bureaucratic failures to create functional markets.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h1 style="text-align: justify;"&gt;1. PJM underestimates the power plants it already has by ~4 gigawatts of reliable power&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;For a primer on PJM&amp;#8217;s capacity market and auctions, read our previous &lt;a href="https://open.substack.com/pub/semianalysis/p/are-ai-datacenters-increasing-electric?r=8s6hrc&amp;amp;utm_campaign=post-expanded-share&amp;amp;utm_medium=web"&gt;report&lt;/a&gt;. As a TLDR: PJM acts as a central planner and runs auctions to ensure there is enough supply to meet peak demand, with a safety buffer. PJM made its planning more sophisticated in 2024, but due to failed stakeholder votes, did not include important inputs. The result of leaving out these inputs is that PJM overestimates system risk during winter months which leads to trying to procure too many new power plants as backup. But PJM also has a constrained supply of new power plants which leads to price spikes, trying but failing to fix this scarcity.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Things weren&amp;#8217;t always this way.&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;In 2024, the same year the capacity auction prices first spiked, PJM overhauled their resource adequacy modeling. Previously, the PJM system operated under a system called &amp;#8220;Equivalent Demand Forced Outage Rate&amp;#8221; or EFORd. The capacity target was set by taking the peak demand and adding a margin based on the chance a generator might be offline. However, this system is not able to effectively capture &lt;strong&gt;correlated failures, which are more common in cold winter months for natural gas power plants.&lt;/strong&gt; It also fails to account for newer technologies on the grid. Specifically variable resources which require modeling on at least an hourly basis to capture their contributions to capacity. These are intermittent generation such as wind, solar, or run-of-river hydro; as well as &amp;#8216;limited&amp;#8217; resources, like storage of all kinds.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;These limitations came to light in 2022. During Winter Storm Elliott, PJM lost &lt;a href="https://www.ferc.gov/media/winter-storm-elliott-report-inquiry-bulk-power-system-operations-during-december-2022"&gt;24%&lt;/a&gt; of its total generation due to forced outages and derates, and two thirds of the loss came from natural gas generators. Storm Elliott led to a substantial overhaul of the Reserve Requirement Study making it into an hourly risk framework. In this study PJM models demand against supply for every hour of the year for a number of theoretical years, using both historic and forecast-based randomized data. This more detailed approach identified that at certain times of the year there is not enough supply relative to demand.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;As a result, gas in particular suffered a 10-20% knock-down. These two changes had a large system impact, cleared capacity fell by 8% (12GW from 147GW to 135GW) between the auctions for 2024/25 and 2025/26. It is as if the system lost a score of large power plants. The capacity auctions have been expensive since PJM basically had to buy replacement plants.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ciCO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18fb33e4-4e47-4bc8-a568-9a60921845d6_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!ciCO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18fb33e4-4e47-4bc8-a568-9a60921845d6_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;The shift from a summer risk system to a winter risk system is a much bigger deal in PJM. It has one central auction, versus other capacity markets, which instead distinguish specifically between winter and summer. For PJM, a winter risk system &lt;strong&gt;degrades the reliability value&lt;/strong&gt; of stronger summer resources (e.g. solar and storage which can bridge afternoon peaks), and enhances the stronger winter resources (e.g. nuclear, coal). Even a minor improvement in winter gas risk can have ripple effects across every resource, with major commercial implications.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The study&amp;#8217;s hourly matching against weather and demand scenarios defines how each new generator improves reliability of the system. To many this new system is a black box. PJM, to its credit, publishes a portion of its work and data. It is complex but its nuances are important for understanding PJM&amp;#8217;s current problems. With which, combined with other public data, we have given our best shot at reconstructing the model and scrutinizing its inner workings. In doing so, we&amp;#8217;ve identified and corroborated a number of weaknesses that are of great importance to recent price spikes; reliability concerns; and the upcoming backstop auction.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;The Reserve Requirement Study&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s new(ish) system overestimates the risk in winter months which leads to overbuilding power plants. Our model re-runs the Reserve Requirement Study on the same whole-system basis PJM uses. Our conclusion is that the same fleet is worth more reliable capacity than PJM credits it, so the auction requirement against total electricity demand falls.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;While PJM models demand with its year-round variations, it caps supply at generators&amp;#8217; summer accreditations. On one hand, that makes sense as PJM is a summer peaking system. There is more air conditioning electricity demand in the summer than there is heating demand in the winter, and so the highest demand points in the year are in summer. Even when netted off against the increased output of solar, the demand for reliable power plants is still higher in the summer than it is in the winter. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;On the other hand, historically failure rates of generation are much higher in the winter, tend to be correlated across fleets, and aligned with periods of highest demand. Higher failure rates mean that winter can be the most probable time for supply to fall short of demand. Gas is less reliable in winter as storms can cause them all to freeze at the same time, as seen with the Polar Vortex and Storm Elliott.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;This type of winter risk is recognized in PJM&amp;#8217;s modeling but the details are out of date and lack precision. They do not consider how cold improves the operations of the plants that do not fail, or how plants have hardened themselves against the weather in recent years.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7Dh2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11dbed88-3387-4fb8-8765-963fe8bc9972_2300x1800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1139" src="https://substackcdn.com/image/fetch/$s_!7Dh2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11dbed88-3387-4fb8-8765-963fe8bc9972_2300x1800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://pjm-model.semianalysis.compjm-model.semianalysis.comatlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;PJM uses historical data for performance. This means that if a resource falters one time, the only way to increase reliability is to wait over a decade to flush the event out of the system. No amount of investments, regulations, or assurances can lift this judgment. As a result, the largest driver of reliability risk to this day was driven by a polar vortex in 2013 and the second is Storm Elliott in 2022. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sa1T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8905a664-f7e4-4c6c-acc6-f4025ff30f23_2300x1520.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="962" src="https://substackcdn.com/image/fetch/$s_!sa1T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8905a664-f7e4-4c6c-acc6-f4025ff30f23_2300x1520.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Self-Supply&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;Why aren&amp;#8217;t PJM ratepayers better protected from price swings? In most other power markets, retail customers have long-term contracts with utilities and are not exposed to yearly capacity market changes. The market next door, MISO, also experienced substantial capacity swings, but the vast majority of households were unaffected because utilities had long-term contracts. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;There are a number of reasons PJM is so all-or-nothing, but it comes down to a combination of retail choice and deregulation (shorter and less certain contracts), a Supreme Court case that struck down state efforts to support long-term contracts, and a long-standing FERC fight that boiled down to a partisan battle between resource preferences.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The other main option remaining is for utilities to procure enough capacity for themselves and then effectively eject themselves fully from the capacity market for 5 years. This shows up on the capacity markets as big swings, but ends up being relatively neutral impacts because the supply and demand impact is balanced. &lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Fleet Uncertainty&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;While data for PJM&amp;#8217;s overall fleet is relatively transparent and drives their risk model, the auction itself diverges in often unpredictable ways and cannot be fully replicated.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The Reserve Requirement Study is bigger than just the Base Residual Auction, as some utilities &amp;#8216;self-supply&amp;#8217;. The Fixed Resource Requirement (FRR) alternative allows utilities to opt out of the auction and file their own capacity plans, with an obligation set by their share of load, which is ~8% of the PJM system (e.g. 12GW for 2026/27).&lt;/p&gt;&lt;p style="text-align: justify;"&gt;So PJM&amp;#8217;s Reserve Requirement Study models an &amp;#8216;Assumed Fleet&amp;#8217;, and produces a whole-system number (e.g. 146GW of reliable capacity for 2026/27). The auction&amp;#8217;s target is the requirement minus the self-supply obligation (e.g. 134GW for 2026/27). &lt;/p&gt;&lt;p style="text-align: justify;"&gt;The &amp;#8216;Committed Fleet&amp;#8217; is the result of the auction and self-supply. In 2026/27 the auction cleared 134.3GW, 0.2GW short of its target, while the self-supply plans committed 12GW, about 0.3GW more than their obligation. The system ended the auction 0.1GW above the whole-system requirement, but only because self-supply over-delivered by more than the auction missed. Behind all of this sits the total fleet, the power plants that physically exist.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rIZk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c0a2a6-b90e-4dbb-8aa9-06eba6c5989b_2300x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!rIZk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c0a2a6-b90e-4dbb-8aa9-06eba6c5989b_2300x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!uTTH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43441d04-a04a-432b-9c74-bc322d3d2660_2295x1224.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!uTTH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43441d04-a04a-432b-9c74-bc322d3d2660_2295x1224.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Reverse-Engineering the Model&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;To get the real numbers we needed to rebuild the model in full. So we took PJM&amp;#8217;s Manual, which explains how they do this study and turned it into code. Then we ran on that code the weather, demand, and generation data that they publish. For data that they do not give we used publicly available proxies, mainly from the U.S. Energy Information Administration. We got a high level of accuracy to the outputs that PJM publishes across the last four auctions. The detailed step by step is included in the Methodology Annex of this newsletter to help subscribers who wishes to recreate or audit our work.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!B81L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e17ac5-bcbc-4237-94b3-be0eb91f7c18_2300x820.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="519" src="https://substackcdn.com/image/fetch/$s_!B81L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58e17ac5-bcbc-4237-94b3-be0eb91f7c18_2300x820.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Improving the model&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;In the auction for 2026/27, cold air uplift alone should have reduced the required capacity by 1.5GW and weatherization alone 2.5GW at only 60%. Together they would have been worth 3.1GW as there is a significant overlap between their effects.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8LFh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cb6a8a-49c4-4fd5-8a07-910c25fa9250_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!8LFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85cb6a8a-49c4-4fd5-8a07-910c25fa9250_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;We calculated this by using our reconstructed Reserve Requirement Study to test how much the outputs would change if we altered two input assumptions that have been widely debated and previously proposed: crediting cold air uplift and asset winterization. Again, the detailed steps are in the Methodology Annex.&lt;/p&gt;&lt;h3&gt;Crediting Cold Air Uplift&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;A turbine is a mass-flow machine, cold air is denser, so turbines can squeeze more electricity out when temperatures drop. If you ignore ways that a system is more efficient in winter, but still recognize winter failure risk then you double count the risk and buy too many power plants. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s modeling does not recognize that cold weather makes thermal plants more efficient, and increases the available capacity on the grid during cold periods. Cold temperatures make the air denser and improve temperature gradients, which improves turbine flow and increases the peak electricity output of a unit. For combustion turbines, this impact is as high as 25%, and PJM&amp;#8217;s class table averages 8.4% for turbines over the winter months. While gas plants are more likely to come offline in the winter, their fellow gas plants are better able to produce more power to make up for it. Steam plants also benefit from colder cooling water which lowers condenser pressure, improving cycle efficiency. Instead these plants are modeled as if it were the summer months.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Crediting cold air counterbalances the greater breakdown risk. Our model runs these two dynamics side-by-side hour-by-hour. It keeps PJM&amp;#8217;s winter breakdown rates exactly as PJM sets them, and credits extra output per thermal plant running in each simulated hour. Netted over 41,600 simulated years, crediting cold air alone, with PJM&amp;#8217;s failure rates untouched, still cuts the capacity requirement by 1.3 to 2.2GW depending on the year.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM was already told they were modeling this wrong. E3, the consultant PJM hired to review its methodology, highlighted the bias in its &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/task-forces/elccstf/2025/20251209/20251209-item-02---pjm-elcc-rrs-model-evaluation---e3-report.pdf"&gt;December 2025 evaluation&lt;/a&gt;: &amp;#8220;PJM asymmetrically applies ambient derates to the ICAP of unlimited resource classes when temperatures rise but does not apply ambient uprates when temperatures fall.&amp;#8221; PJM&amp;#8217;s own &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/task-forces/elccstf/2025/20250522/20250522-item-02---elcc-accreditation-methodology-update-on-sensitivity-analyses---pjm-presentation.pdf"&gt;May 2025 sensitivity&lt;/a&gt; tested crediting it in the model which resulted in 33 percent less winter loss of load hours and a 1.1 percentage point lower reserve margin against the 2026/27 auction model. E3&amp;#8217;s consideration 4 of 14 was to adopt seasonal or daily capability ratings.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM measured winter capability uplift as &lt;a href="https://www.pjm.com/-/media/committees-groups/task-forces/elccstf/2025/20250522/20250522-item-02---elcc-accreditation-sensitivity-update.ashx"&gt;8.5GW&lt;/a&gt; nameplate. Despite this massive impact (worth at least $13B in new gas plants at a conservative $1500/kW), PJM did not implement this adjustment despite having all the core information. One of the primary reasons is that they would have to run deliverability studies to determine if the additional capacity could serve the whole system. To our knowledge, PJM never ran these studies. It is worth noting that the likelihood of deliverability is high. In stressed circumstances, a large portion of the otherwise deliverable fleet would be offline, and the cold also improves the thermal capacity of all grid components (including conductors, substations, and breakers). Using the summertime capacity ratings for wintertime thermal production is physically inaccurate, but due to stakeholder disagreement (detailed in &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/committees/mrc/2025/20250820/20250820-item-04a---elccstf-background-and-voting-results---presentation.ashx"&gt;Package C&lt;/a&gt; of the ELCC taskforce), proposed reforms to implement this basic change did not pass.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Our modeling methodology is in the annex.&lt;/p&gt;&lt;h3&gt;Updating Risk with Asset Winterization&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;PJM does not properly credit power plants that invest in hardening themselves against extreme events. This means it underestimated winter risk before Storm Elliott and could now overestimate the risk of their newly winterized fleet. This lack of accuracy and forecasting drives up the cost of electricity. Crediting weatherization alone for the 2026/27 auction would have been worth up to 3GW of reliable power. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Crediting winterization and other forms of resilience investment would be a strong financial incentive for plants to invest as they would then earn more in capacity auctions. Instead PJM establishes plant failure rates based on past performance, and the large collapses of the gas fleet during the Polar Vortex and more recently during Winter Storm Elliott play an outsized role in reducing the capacity value which PJM credits to gas plants. For increased statistical heft PJM uses as many historical weather years as possible. But once there is a big miss only time and good performance can slowly return this to baseline. A painstaking process of asymptotic averages. Even if gas plants invested billions in weatherization or demonstrated extraordinary resilience during a similar event. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Plants fail because components freeze: instrumentation and sensing lines, valves, fuel handling. During Winter Storm Elliott (December 2022), PJM saw 46GW of coincident outages. The FERC/NERC joint inquiry (&lt;a href="https://www.ferc.gov/media/winter-storm-elliott-report-inquiry-bulk-power-system-operations-during-december-2022"&gt;October 2023&lt;/a&gt;) found that at least 75% of freezing-caused failures occurred at temperatures above the units&amp;#8217; documented operating limits. Which means a properly winterized unit would not have failed.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;By the winter beginning November 2025, the existing fleet was winterized substantially more than PJM&amp;#8217;s model assumes. Mandatory cold-weather preparedness plans, annual training for every unit, and reporting of each unit&amp;#8217;s cold-weather operating limits were mandated by &lt;a href="https://www.pjm.com/-/media/documents/ferc/filings/2021/20210824-rd21-5-000.ashx"&gt;April 2023&lt;/a&gt;. By January 2024, more than &lt;a href="https://insidelines.pjm.com/pjm-review-system-performed-well-during-winter-storm-gerri/"&gt;400&lt;/a&gt; generators had reported winterization improvements to PJM, a figure PJM published in its own review of Storm Gerri. PJM has roughly 450 gas units and about 750 thermal units in total, so that is the majority of the relevant units. The reports are self-made but they were filed under a regime that already required every unit to hold a cold-weather plan, and they came nearly two years before the auction&amp;#8217;s winter we are modeling. A legally required calculation of every unit&amp;#8217;s extreme cold weather temperature was due by &lt;a href="https://www.govinfo.gov/content/pkg/FR-2024-07-03/pdf/2024-14668.pdf"&gt;October 2024&lt;/a&gt;. The event-CAP rule was enforceable from October 2024; any unit that froze during winter 2024/25 owed a completed corrective plan before &lt;a href="https://www.nerc.com/globalassets/standards/approved-standards/eop/eop-012-3.pdf"&gt;December 2025&lt;/a&gt;. In addition, &lt;a href="https://www.federalregister.gov/documents/2024/07/03/2024-14668/north-american-electric-reliability-corporation-order-approving-extreme-cold-weather-reliability"&gt;binding NERC winterization standards&lt;/a&gt; ramp through 2027, although this had no impact on recent auctions that target years after it goes into effect. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is evidence of winterization in the fleet&amp;#8217;s recent performance. Gerri (January 2024) had a peak of 16GW or 9% in forced outages against Elliott&amp;#8217;s 46GW. The MLK storm (&lt;a href="https://www.pjm.com/committees-and-groups/committees/mrc"&gt;January 2025&lt;/a&gt;) also had a 9% forced-outage rate against Elliott&amp;#8217;s 24%, on similar weather over a holiday weekend, while serving an all-time winter peak. Storm Fern (&lt;a href="https://insidelines.pjm.com/pjm-reviews-january-cold-weather-operations/"&gt;January 2026&lt;/a&gt;) had outages of 18-19GW or 10%. During each of the cold events since Storm Elliott, PJM&amp;#8217;s fleet has behaved like one substantially winterized. MLK in January 2025 with Elliott-like weather showed no excess clustering at all.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Specific methodology is in the annex but the key point is that the winterization lever does not assume plants fail less often. It preserves each class&amp;#8217;s annual average failure rate exactly and removes only the weather clustering. A genuinely winterized fleet would also fail less on average. We do not include credit for that. To be highly conservative we assume a 50% winterization for 2025/26 then step it up by 10% each year from there.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nb_2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde20265a-da5d-4983-9048-ba3f86140f66_2300x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!nb_2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde20265a-da5d-4983-9048-ba3f86140f66_2300x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Overlap &lt;/h3&gt;&lt;p style="text-align: justify;"&gt;The outcomes of these two modeling changes have significant overlap, so together they are less than the sum of their parts. This is because they fix the same hours. PJM&amp;#8217;s requirement is set by a handful of deep-cold hours in which the system might run short. In 2026/27, cold air alone is worth 1,535 MW of requirement relief on the auction&amp;#8217;s scale and weatherization alone set to 100% is worth 3,143 MW, but together they are worth 3,320 MW, not 4,678. In the overlap winterization (when set to 100%) particularly dominates cold air&amp;#8217;s effect, covering up to 76-96% depending on the year. At lower settings the overlap is reduced. For the annual settings we have chosen the overlap range becomes 53-69% depending on the year.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;2. PJM has overspent by ~$12 billion&lt;/h1&gt;&lt;p&gt;The result of these improvements to the model inputs is that PJM has a more reliable fleet than its Reserve Requirement Study currently recognizes. So relative to modeled demand load it needed to procure less capacity than it has done for the last four years. In the two auctions where the price was free to move (2025/26 and 2026/27) that difference was worth $12B.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Auction Design&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Auction design is much harder to reform than modeling methodology. But you need to understand the design in order to see that relatively small shortfalls in modeled capacity can have outsized impacts on auction costs. PJM has two markets: one for energy which is in real time and one for capacity which is on an annual basis. A capacity contract pays a plant for being available, not for making energy. PJM interconnection queue is famously slow and long, but power plants applying joining the queue do so at their own risk, plants joining the capacity market are the ratepayers&amp;#8217; risk. &lt;/p&gt;&lt;p style="text-align: justify;"&gt;Two costs matter in any power market: what it costs to run a plant for another hour, and what it cost to build and keep the plant at all. The first short-run marginal cost and the second long-run marginal cost. The daily energy market clears at the short-run marginal cost (fuel, labor, variable maintenance) of the last needed producer. This incentivizes bidding true cost rather than gaming the system as any more than that would risk not being dispatched and so earning nothing. The difference between the short-run and the long-run marginal cost (capital, assets, fixed maintenance) creates a &amp;#8220;missing money&amp;#8221; problem as power plants struggle to make this back in the daily energy market. Some electricity grids, most famously ERCOT in Texas, only have an energy market. Power plants make that missing money by putting prices really high when supply is scarce. But many markets use a capacity auction to provide this missing money, considering it the more stable approach. PJM&amp;#8217;s annual capacity auction also pays all bidders the price of the last needed capacity.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Every year PJM&amp;#8217;s planning model (the Reserve Requirement Study, RRS) decides how much reliable power keeps shortfalls to one event in ten years (the 0.1 Loss of Load Expectation, LOLE). Because risks are spread out everyone in the market tries to free-ride on everyone else which means power capacity has no natural buyer. PJM acts as the insurance intermediary. It draws a market demand curve, a sliding schedule of what price it will pay at each level of supply (the Variable Resource Requirement, VRR). The yearly auction in which generation bids and PJM buys against that curve is the Base Residual Auction (BRA).&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Unfortunately, PJM runs one capacity auction that includes ~92-93% of fleet capacity, both existing generators and new generators. Most of the rest is covered by self-supplied utilities. This is a problem as these are substantially different products, new generators have much larger long-run marginal costs. Existing generators only need to cover their annual fixed costs, the Independent Market Monitor&amp;#8217;s offer data shows most bids at $8-14/MW-day. New generators have substantial risk-related costs and much greater initial fixed costs. New and existing plants also receive the same one-year contract, even though a new plant normally needs a long-term contract with which to raise financing cost-effectively. This auction design means that if there is electricity demand growth which requires new plants to be built then prices will need to increase by a lot compared to the baseline. In PJM&amp;#8217;s case the whole fleet&amp;#8217;s price went from $28.92 to $270-333 per megawatt-day, roughly 20 to 40 times the $8-14 the existing plants themselves were offering. This creates huge windfalls to existing generators without necessarily increasing generation capacity on the system in an effective manner.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Happy to be corrected, but we believe PJM is also unique in the world for how much of its fleet is put through the same marginal-priced auction. 93% of PJM capacity settles at the clearing price, against 15% in MISO&amp;#8217;s residual auction, monthly rolling in New York, bilateral contracts in California, none in Texas, and New England just abandoned the design entirely. MISO also had a sharp auction price swing, but its auction is residual and utilities self-supply or contract for most capacity beforehand. Therefore about 86% of its 2025/26 summer requirement was met outside the auction, leaving most load protected against the swing. Great Britain, Ireland, Italy, and Japan run centralized auctions, but give qualifying new plants contracts of 10 or 20 years while existing plants generally receive one year.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;All of these markets make customers pay for growth. But the same growth in those markets would not drive the repricing of nearly the entire fleet as it did in PJM. That cost shift is a product of market design rather than inherent to load growth. Reform is coming, and datacenter developers have largely supported reforms to pay for capacity as it is in their interests for growth to happen painlessly. However, currently no proposals provide any respite for ratepayers who are still paying for design choices made two decades ago.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;This design is not without its reasons. For over 20 years, PJM has not experienced any load growth, and benefited from an early gas boom by Independent Power Producers that proved disastrous for early investors. Over that time less efficient plants have been pushed off the system by more efficient ones, in many ways a good system, just not one built for growth.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;The Wasted $12B&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;For the four most recent auctions we have calculated what price and volume the auctions would have cleared at if the Reserve Requirement Study had been more accurate. That modeling improvement shifts the demand curve to the left. We find that the auctions for 2025/26 and for 2026/27 would have seen savings of $11.57 billion, with a sensitivity range between $8.0 billion and $14.5 billion combined while procuring more than the reliability requirement. The auctions for 2027/28 and 2028/29 would not have cleared at a lower price or volume because supply was tight enough that the price cap for those years still binds, even under improved modeling.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The capacity auction price is set where the supply curve crosses PJM&amp;#8217;s demand curve (VRR). The demand curve is a published price schedule stating what PJM will pay at each level of supply. The supply curve is made up of all the bids into the market; PJM and its market monitor publish the shape with key data points. We have reconstructed these curves for each of the four auctions.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8Huo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9867b3bb-c6e6-4c8b-b8d0-1c466389414e_2700x2300.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1240" src="https://substackcdn.com/image/fetch/$s_!8Huo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9867b3bb-c6e6-4c8b-b8d0-1c466389414e_2700x2300.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;We then used our reverse-engineered Reserve Requirement Study to calculate how the curves move with improved inputs to incorporate cold air and asset winterization. Given the greater reliability of the existing fleet the need to procure a greater margin of supply over the electricity demand is reduced. This shifts the demand curve for capacity (VRR) to the left. We computed this by year given different inputs and concluded that for a 0.1 LOLE, whole-system reliable capacity requirements fall by: 2,879 MW (2025/26), 3,396 (2026/27), 4,513 (2027/28), 3,824 (2028/29). We have to assume that bids do not change as modeling bid behavior is complex, in reality there would be some change but we do not think it would be material in this context.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s capacity market has a right-angled supply curve. The vast majority of it is low and flat, then some steady increase, before right at the end it spikes straight up. For example the 2025/26 auction had the first 79% of the bids between $2-5, the next 20% rose until they peaked at $105, and it was only the last 1% that went as high as $352, with the market clearing at $270. This is reflecting that most of the power plants in PJM have existed for a while and bid low as they have little difference between their short-run and long-run marginal costs. But then new power plants bid high to be able to afford to be built quickly and to cover their own risk. The shape of PJM&amp;#8217;s supply curves is why, if you are at their limit, a small change in quantity demanded has a huge impact on price and on total cost, even when having a small impact on volume procured.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The Base Residual Auctions do not stop at their required capacity, they clear on their demand curve. So if there is more capacity that can be bought at a price that PJM has decided is acceptable then it clears the auction. For the 2025/26 auction PJM&amp;#8217;s ceiling price was $452 and enough bids came in that 135.7GW was procured for $270 against a required capacity of 133.6GW.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tu0O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ff41df5-eaeb-4918-95fa-a50e8eaa9861_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!tu0O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ff41df5-eaeb-4918-95fa-a50e8eaa9861_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;If the Reserve Requirement Study had been computed differently then the demand curve would have been shifted to the left by 2.7GW. The adjusted target required capacity would have been 130.9GW and the auction would have cleared 135.7GW at a price of $135 (a 50% discount). Only 0.014GW difference, but that $135/MW-day saving is multiplied by the full 135.7GW (plus $270 times 0.014GW), then multiplied by 365 days to give $6.7B for the full auction.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is even a magnitude of impact sense check we can compare against. The independent market monitor ran a &lt;a href="https://www.monitoringanalytics.com/reports/Reports/2024/IMM_Analysis_of_the_20252026_RPM_Base_Residual_Auction_Part_A_20240920.pdf"&gt;similar calculation&lt;/a&gt; in September 2024, for the cold-air credit alone. It found $2.7 billion with the reserve margin held fixed, and up to $8.0 billion without. Our figure also includes the reliability effects of winterization.&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Price Caps&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;The auction for 2026/27 included the first politically imposed price cap. PJM has price ceilings in its demand curve modeling but price caps were set as a hasty measure by governors to prevent PJM&amp;#8217;s awkward auction design from harming ratepayers even more. While this was achieved, the price cap of $329 also prevented the auction from clearing properly. 134.2GW was procured against a required capacity of 134.5GW, only 0.3GW short. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8os-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3388956-b4cb-4df0-a045-923f99c0c2dc_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!8os-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3388956-b4cb-4df0-a045-923f99c0c2dc_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;If the Reserve Requirement Study had been computed differently then the demand curve would have been shifted to the left by 3.1GW. The adjusted target required capacity would have been 131.4GW and the auction would have cleared 133.6GW at a price of $230. Only 0.6GW less, with an improved reliability margin, and $99/MW-day discount. Total auction savings of $4.9 billion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9r-i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd72f2e4-4f3e-44e0-9a3b-59287b42ddb0_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!9r-i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd72f2e4-4f3e-44e0-9a3b-59287b42ddb0_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Price caps can have many unintended consequences. In this instance one result has been an emergency auction for 11-15 year contracts at elevated prices. Any generators that chose to withhold incremental capacity may well have benefited from doing so.&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Constrained Supply&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;2025/26 and 2026/27 are the two auctions in which we found PJM had wasted ratepayers&amp;#8217; money. The next two auctions would not have had price or volume impacts from improved modeling because supply was so constrained that even 4.5GW and 3.8GW of movement respectively would not get the demand curve to cross with the supply curve below the auctions&amp;#8217; political price caps.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The 2027/28 auction held in December 2025, cleared at $333.44, at the price cap and 6.5GW short. So a 4.5GW leftwards shift in the demand curve is not sufficient to make a difference. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4O-i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19132299-ddf9-4ab3-8aa7-cbb500f5b708_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!4O-i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19132299-ddf9-4ab3-8aa7-cbb500f5b708_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;The 2028/29 auction held in July 2026, cleared at $325.00, at the cap and 6.8GW short. The 6.8GW target falls to about 3GW with improved modeling.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;That 6.8GW vs 3GW is now the billions-of-dollars question for PJM&amp;#8217;s fast-approaching emergency auction.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;3. PJM is putting ratepayers at risk by trying to buy too much in its upcoming emergency auction.&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PhJK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5210d48f-1ef8-4d6f-88c8-cad08046d5a3_2300x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="886" src="https://substackcdn.com/image/fetch/$s_!PhJK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5210d48f-1ef8-4d6f-88c8-cad08046d5a3_2300x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Sources: &lt;a href="https://semianalysis.com/energy-model/"&gt;SemiAnalysis Energy Model&lt;/a&gt;; &lt;a href="https://atlas.semianalysis.com/?dashboard=pjm_model"&gt;SemiAnalysis PJM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Who Pays?&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;Buying too much is bad in any auction, but this backstop auction has no defined counter-party. PJM plans to pay for power plants to get built on the expectation that energy demand arrives later. But if that demand does not arrive then PJM will still have to pay.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;In theory new large loads are supposed to pay for this emergency auction. But the forcasted large loads are hypothetical and won&amp;#8217;t be signing on the dotted line. The plan is for PJM to sign the contracts and for the States to each pass their own cost-allocation policy to allocate costs onto participating new large loads. PJM&amp;#8217;s &lt;a href="https://www.pjm.com/-/media/about-pjm/who-we-are/public-disclosures/20260727-board-decisional-letter-on-cifp-reliability-backstop-procurement-and-connect-and-manage.ashx"&gt;filing&lt;/a&gt; clarifies that &amp;#8220;Because PJM does not have jurisdiction to allocate retail costs directly to individual data centers, state action will be essential.&amp;#8221; This creates a lot of uncertainty for large loads as cost pass-on will be bespoke state-by-state.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Only new resources in service by June 2032 may bid. Contracts all end in 2043, so a power plant online in 2032 gets about eleven years. The costs are then assigned to transmission zones in proportion to forecast load growth between 2026/27 and 2028/29. Those shares are frozen for the full fifteen years. Inside each zone, a state will use bespoke policy design to direct the costs onward to specific large loads or distribution companies. If a state does nothing, the filing&amp;#8217;s default applies and the costs fall on every load-serving entity in the zone by peak-load share.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is no true-up, the zone shares are set by forecast growth and never revisited. The supply contracts are structured as guaranteed top-ups. Each winner is made whole to its bid against whatever the capacity market later pays out to 2043. Load-serving entities assigned backstop costs must post credit support of &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;$1.5 million per megawatt&lt;/a&gt; of obligation, within ninety days of each delivery year. At the ceiling average of $555/MW-day the maximum liability for 6.8GW is roughly $21 billion.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;There is no sweetener to encourage large loads to participate such as accelerated interconnection. There is not even assurance on &amp;#8216;unaccelerated&amp;#8217; interconnection timelines. Then on the supply side there is little penalty for under-delivering once a plant is running. PJM itself &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;projects&lt;/a&gt; that even with the backstop the next auction &amp;#8220;may clear short&amp;#8221;.&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Overruled&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;Through PJM&amp;#8217;s fast-track stakeholder process this spring, the members developed and endorsed a backstop design built around a voluntary subscription model. This was championed by a coalition of the electric distribution companies and the Data Center Coalition. The idea was for large new loads to subscribe first, committing to pay for the new capacity before it&amp;#8217;s procured. Unbelievably for PJM that design won more than &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/committees/mc/2026/20260630-special/mc-voting-results---agenda-item-3o---joint-edcs-and-data-center-coalition-rbp-proposal.pdf"&gt;two-thirds sector-weighted support&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Then the Board overrode its own members. In its &lt;a href="https://www.pjm.com/-/media/about-pjm/who-we-are/public-disclosures/20260727-board-decisional-letter-on-cifp-reliability-backstop-procurement-and-connect-and-manage.ashx"&gt;decisional letter&lt;/a&gt; of 27th July 2026, the Board rejected the subscription framework on the stated ground that it &amp;#8220;would not provide sufficient assurance that capacity equal to the identified near-term shortfall would actually be procured&amp;#8221;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;That is why improving this system modeling is crucial. The Board decided this high-risk emergency auction was necessary because of modeling which overstates the near-term shortfall. The near-term shortfall is currently 6.8GW, recomputed it would be 3.0GW, an amount a subscription model could plausibly have covered. The total requirement of 156GW is built from the 2028/29 load forecast, which already embeds the anticipated datacenter growth.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;PJM has &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;filed&lt;/a&gt; the Board&amp;#8217;s proposal at FERC on 31st July 2026. The Board&amp;#8217;s design uses a $555 average-cap and they added back a badly designed curtailment scheme (IRAS) that the members had rightly voted down. Both of these measures seem designed to dissuade new large loads from joining this scheme.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;An average-price cap with pay-as-bid supply contracts means that participating demand loads do not know what price they will sign. The $555 cap constrains the portfolio average and not any individual contract. PJM&amp;#8217;s own &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;worked example&lt;/a&gt; shows a $600 offer clearing. The quantity being bought is also unknown, because the window for reporting bilateral offsets runs concurrently with the offer window. The load&amp;#8217;s own share is unknown, because it depends on state allocation mechanisms that do not yet exist and on how many other loads participate. The average is applied at selection. If contracts are voided later, the remaining portfolio is never re-tested against $555. This risk is asymmetric on the upside as lower priced contracts are more likely to be abandoned or fail. Pay-as-bid makes this worse. In a marginal-price auction a bidder&amp;#8217;s best strategy is to bid its true cost. Under pay-as-bid the best strategy is to bid your forecast of the highest accepted price. PJM&amp;#8217;s own witness says this in the &lt;a href="https://elibrary.ferc.gov/eLibrary/filelist?accession_number=20260731-5214&amp;amp;optimized=false"&gt;filing&lt;/a&gt;: pay-as-bid sellers &amp;#8220;are more likely to offer the expected clearing price,&amp;#8221; and market-power mitigation in this setting is &amp;#8220;difficult and ineffective.&amp;#8221;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The Interim Resource Adequacy Service (IRAS) scheme applies to loads over 50MW after 2027/28 that are not covered by one of: the central procurement, self-supply, or a bilateral contract. These loads connect as non-firm and are curtailed first during capacity shortages, ahead of even the pre-emergency demand response programs. As an aside, non-firm connections are fair in extreme cases, but this is mad. Demand response participants are paid to curtail; it is a service they sell. The new large loads would be paying for this service in their electricity bills and still be turned off first. These demand loads will be in the hundreds of megawatts and are not designed for this kind of fast response or high-fidelity manipulation. It could even be dangerous to the system. PJM&amp;#8217;s own staff had dropped mandatory curtailment days before the final stakeholder meeting, citing doubts about PJM&amp;#8217;s jurisdiction to curtail retail load at all, and the generators&amp;#8217; own trade group warned that reviving it invited protracted litigation.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;For any load that can manage it, self-supply strictly dominates the auction. This will drive defection and greatly increase the risk of yet more over-procurement by PJM to the detriment of its rate-paying households and businesses. For the rest, greener pastures await in other power markets. &lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Governance&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Comments to FERC close 21st August at 17:00 Eastern. The auction runs from 30th September to 21st October, with results by 2nd December. This is only one week before the next regular auction opens on 9th December. PJM posted the class ratings for the 2029/30 auction on 7th August. Once again they were computed for endless summer. PJM will post the remaining parameters on 31st August. Everything in this piece is about decisions being made in the next ninety days.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Other than our reverse-engineered model almost none of this is new. In 2023 PJM proposed a full two-season capacity market itself. But after the Independent Market Monitor and others objected that the design needed more development time, PJM withdrew it and filed an annual-only package; FERC &lt;a href="https://www.pjm.com/-/media/documents/ferc/orders/2024/20240130-er24-99-000.ashx"&gt;approved that package&lt;/a&gt; in January 2024 and declined to require seasonality. In September 2024, the Independent Market Monitor &lt;a href="https://www.monitoringanalytics.com/reports/Reports/2024/IMM_Analysis_of_the_20252026_RPM_Base_Residual_Auction_Part_A_20240920.pdf"&gt;concluded&lt;/a&gt; that crediting the winter capability of thermal plants would have cut that year&amp;#8217;s capacity bill by $2.7 billion with the reserve margin held fixed, and up to $8.0 billion otherwise. Its standing recommendation read: &amp;#8220;There is no reason that excess winter CIRs cannot be assigned to these resources immediately.&amp;#8221; In May 2025 PJM&amp;#8217;s &lt;a href="https://www.pjm.com/-/media/DotCom/committees-groups/task-forces/elccstf/2025/20250522/20250522-item-02---elcc-accreditation-methodology-update-on-sensitivity-analyses---pjm-presentation.pdf"&gt;sensitivity analysis&lt;/a&gt; found the fleet&amp;#8217;s winter capability runs 8,561 megawatts above its summer ratings. That same month, members voted &lt;a href="https://www.pjm.com/-/media/committees-groups/committees/mrc/2025/20250521/mc-voting-results.ashx"&gt;3.699&lt;/a&gt; (of 5 sector-weighted votes) to defer adjacent transmission work &amp;#8220;until such time that stakeholders undertake work on a seasonal capacity construct.&amp;#8221; In July 2025 PJM&amp;#8217;s own task force endorsed the fix in Package C. This included winter ratings and passed &lt;a href="https://www.pjm.com/-/media/committees-groups/task-forces/elccstf/2025/20250725-voting-result-report---elcc-accreditation-methodology---july-31-2025.ashx"&gt;178 votes to 54, 77%&lt;/a&gt;. Twenty-six days later, on 20th August 2025, the senior committee killed it with &lt;a href="https://www.pjm.com/-/media/committees-groups/committees/mrc/2025/20250820/20250820-item-04a---elccstf-background-and-voting-results---presentation.ashx"&gt;30.7%&lt;/a&gt; of the weighted vote. Generation owners argued a higher winter rating raises the benchmark a plant is penalized against when it underperforms in summer. The consumer sectors voted PJM&amp;#8217;s package down while backing two blunter alternatives, and the generators killed those in turn. In December 2025 E3 &lt;a href="https://www.pjm.com/-/media/committees-groups/task-forces/elccstf/2025/20251209/20251209-item-02---pjm-elcc-rrs-model-evaluation---e3-report.ashx"&gt;recommended&lt;/a&gt; seasonal or daily ratings, Consideration 4 of 14. No vote has been held since.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;Conclusion&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;PJM&amp;#8217;s centralized capacity market has fully failed at its core role of solving capacity shortfalls. Faced with the first instance of modest growth in its modern history, the capacity market was unable to procure capacity. Instead PJM&amp;#8217;s design misallocated those dollars as windfall profits to existing generators while constraining supply with short lead times and long interconnection queues. PJM is making progress at creating a third energy market in the form of this emergency auction specifically for the new generation. But in doing so it is converting long-standing errors into long-standing liabilities with basic resource modeling accuracy still in the air.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;These specific modeling points have been debated before but without success in implementation. Our hope is that this effort to reverse-engineer and release PJM&amp;#8217;s black box will move the debate through exposure to the size of impact this change in methodology could have. That is what we have attempted to do with the information that is publicly available. We must emphasize that there is key information which is not available which we have highlighted. This has the result that our modeling is at best a good approximation. If we are even half right, we need to change this modeling urgently to avoid further waste and create a clearer signal of what new capacity is required to enable PJM to grow once again.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;Methodology Annex&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-16T14:27:59+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia</id>
    <title>Ultra-High Interactivity on NVIDIA GPUs? - TileRT InferenceX</title>
    <updated>2026-08-09T20:51:35+00:00</updated>
    <author>
      <name>Bryan Shan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;Premium-priced &amp;#8220;fast modes&amp;#8221; are proving that users will pay more for lower latency and faster tokens, potentially yielding higher gross margins. Frontier AI labs such as &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;OpenAI are therefore evaluating purpose-built inference systems, including Cerebras and NVIDIA Groq LPUs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that prioritize ultra-high interactivity over maximum batched throughput. Ultra-low latency matters most in interactive workloads, including real-time assistants, and full-duplex voice. OpenAI GPT&amp;#8209;Live, for example, can listen and speak simultaneously, making response delay immediately perceptible to the user, &lt;/span&gt;&lt;a href="https://x.com/OpenAI/status/2080378182469857576"&gt;&lt;span&gt;described as feeling like Ironman JARVIS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;GPUs perform exceptionally well at high throughput and low-to-medium interactivity, but their architecture is less suited for ultra-low-latency inference. An 8-GPU HGX B200 server provides a theoretical HBM memory bandwidth of 64 TB/s of in aggregate. At batch size 1, GLM-5 at NVFP4 requires only approximately 21 GB of active-parameter traffic per generated token. The B200 HBM bandwidth roofline would therefore &lt;/span&gt;&lt;strong&gt;&lt;span&gt;suggest up to 3,047 tokens/s/user without speculative decoding. In practice, GPUs come nowhere close to this limit.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The gap comes from latency rather than bandwidth. The traditional GPU programming model launches and synchronizes many individual kernels, whose setup and teardown overhead becomes significant at ultra-high levels of interactivity. While these latency costs are less visible at conventional serving speeds, even with CUDA graphs, they dominate as token latency approaches the sub-millisecond Time Per Output Token (TPOT) range. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;Furthermore, although GPU memory bandwidth increases by roughly 2&amp;#8211;3&amp;#215; each generation, memory latency has not improved at all.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While using alternative hardware is popular, there are ways to use GPUs to do this too. This is where &lt;/span&gt;&lt;a href="https://github.com/tile-ai/TileRT"&gt;&lt;span&gt;TileRT&amp;#8217;s persistent engine&lt;/span&gt;&lt;/a&gt;&lt;span&gt; comes in. TileRT statically compiles the entire decode graph into a single persistent kernel on NVIDIA GPUs, maximizing overlap across computation, memory loads and stores, and communication. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;On the InferenceX GLM5 FP8 744B benchmark on a single B200 decode server, tileRT has been verified to reach up to 500 tokens/s/user, approximately 3&amp;#215; faster than GB300 NVL72 running traditional inference engines. Iso-cost per output token, TileRT can achieve up to 2x faster interactivity than traditional engines.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We thank the TileRT maintainers for collaborating on TileRT InferenceX benchmarks and also in general thankful to the vLLM community for their amazing design on the V1 connector. TileRT comes from the same community maintainer organization that built the &lt;/span&gt;&lt;a href="https://github.com/tile-ai/tilelang"&gt;&lt;span&gt;widely popular TileLang DSL&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With PD disaggregation inference technique, the hyperspecialized TileRT engine handles latency-sensitive decode while throughput-optimized engines such as vLLM and SGLang continuing to serving prefill. The TileRT decode engine is already being deployed in production at &lt;/span&gt;&lt;a href="https://mimo.mi.com/docs/en-US/news/latest/1000tps"&gt;&lt;span&gt;Xiaomi for MiMo V2.5 Pro UltraSpeed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.tilert.ai/"&gt;&lt;span&gt;ZAI with GLM 5.1 HighSpeed.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the article, we shall deep dive into the TileRT InferenceX results, what TileRT is, how it composes with the existing inference ecosystem along with the tradeoffs and challenges with TileRT. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We will also elaborate on the tradeoffs of using TileRT on standard GPUs vs. &lt;/span&gt;ultra low latency specialized chips like Nvidia Groq LPU, Cerebras and Sambanova&lt;/strong&gt;, weighing in on &lt;span&gt;if there is a potential for TileRT software running on GPUs to disrupt these specialist chips&amp;#8217; TAM.  &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;The SemiAnalysis Accelerator Model provides quarter by quarter estimates of Nvidia LPU30, LPU40, Cerebras WSE-3 &amp;amp; WSE-4 shipments and much more.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX is our open-source, vendor-neutral, continuously updated AI inference benchmarking and research platform.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; We measure leading models, inference frameworks, and hardware across the latency-throughput Pareto frontier, tracking how real-world inference performance and economics improve over time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Our benchmark has been widely reproduced, validated and/or supported by almost every major buyer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; of compute from &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/compute/scaling-moe-inference-with-nvidia-dynamo-on-google-cloud-a4x"&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://blog.aks.azure.com/2025/10/24/dynamo-on-aks#enterprise-scale-inference-experiments--dynamo-with-gb200-running-on-aks"&gt;&lt;span&gt;Microsoft Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Oracle,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and many more. Furthermore, it has the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;support of the ML community including from vLLM, LMCache, SGLang, PyTorch, Huggingface&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the support of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;major labs like OpenAI, MiniMax, ZAI, Qwen, Moonshot Kimi, etc. &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sqrA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34551ca4-fab9-4df2-a393-dd07cff7cd42_1918x1046.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="794" src="https://substackcdn.com/image/fetch/$s_!sqrA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34551ca4-fab9-4df2-a393-dd07cff7cd42_1918x1046.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/quotes"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star the InferenceX GitHub repository if you find the open-source benchmark and data useful!&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;As previously mentioned,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Nvidia has committed to submitting verifiable Vera Rubin numbers to InferenceX. We will have Google TPUv7 results soon, and AMD has committed to MI455X UALoE72 this year too.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9n9K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab92435-d677-444d-a608-e36df90e85ac_2048x1098.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="781" src="https://substackcdn.com/image/fetch/$s_!9n9K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab92435-d677-444d-a608-e36df90e85ac_2048x1098.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;InferenceX GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Throughput vs Interactivity Curve&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Every inference system must balance two competing goals.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Interactivity (tok/s/user) &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;measures how quickly a single user receives tokens, the inverse of time per output token (TPOT). It determines whether a response feels snappy or sluggish.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Throughput (tok/s/GPU)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; measures how many tokens the system produces in total across all users. It largely determines the cost per token.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Batching increases aggregate throughput by processing more requests together, but each user typically waits longer for each token. Small batches do the opposite: they improve per-user speed while reducing the amount of useful work each GPU completes in aggregate.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A bus amortizes its cost across many passengers but makes each passenger wait for shared stops. A race car carries only one or two people and reaches the destination faster, but at much higher cost per passenger. Inference has the same trade-off: batching improves aggregate throughput and cost per token, while small batches improve per-user responsiveness. There is no one-size-fits-all operating point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the configuration shown below, increasing interactivity from roughly 25 to 260 tokens/s/user reduces per-GPU throughput from about 5,900 to 200 tokens/s/GPU. That is roughly a 30&amp;#215; reduction in aggregate throughput for a 10&amp;#215; increase in per-user speed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZZb4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e4f81e-2e8b-442f-a355-99ccfa905254_1456x954.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="954" src="https://substackcdn.com/image/fetch/$s_!ZZb4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e4f81e-2e8b-442f-a355-99ccfa905254_1456x954.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/p/inferencex-v2-nvidia-blackwell-vs"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;TileRT results&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As we describe in the next section, GPUs already perform well in high-throughput scenarios but struggle in high-interactivity ones. This weakness has created an entire market segment for dataflow chips. TileRT targets the same weakness and therefore focuses exclusively on high-interactivity operating points.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TileRT on B200 is in a class of its own. For the 8k/1k input/output token scenario, TileRT reached 340 tokens/s/user on an eight-GPU B200 node. The fastest result in the current dataset was previously 181.4 tokens/s/user on GB300 NVL72 with NVFP4 and MTP, making TileRT 1.9&amp;#215; faster on this metric. Of course - this is on Batch Size 1, where all that extra trouble to set up the complicated copper backplane in the case of the GB300 NVL72 does not come into play at all in boosting interactivity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, the fastest FP8 result was 113.6 tokens/s/user on B300 with MTP, making TileRT 3.0&amp;#215; faster at the same precision.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WVnD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefef9b2d-1932-485d-afb9-f86374241a07_2368x1284.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!WVnD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefef9b2d-1932-485d-afb9-f86374241a07_2368x1284.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!vaIi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f090f1c-aa93-4554-8e41-5bbf1f6108da_2048x310.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="220" src="https://substackcdn.com/image/fetch/$s_!vaIi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f090f1c-aa93-4554-8e41-5bbf1f6108da_2048x310.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At 1k/1k input/output, TileRT FP8 reached 494.2 tokens/s/user. That was 1.9&amp;#215; the best conventional result, at 256.3 tokens/s/user using FP4, and 3.6&amp;#215; the best conventional FP8 result, at 136.3 tokens/s/user. TileRT doesn&amp;#8217;t yet have FP4 support, but it is already beating non TileRT FP4 implementations! The result is also notable because it comes from an eight-GPU B200 node rather than the 72-GPU NVLink scale-up domain of GB200 or GB300 NVL72. This comparison concerns per-user interactivity, not aggregate throughput or cost.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U559!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ffdd8c-6e1a-4b58-b29d-8aa5b023e6ff_2496x1348.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="786" src="https://substackcdn.com/image/fetch/$s_!U559!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ffdd8c-6e1a-4b58-b29d-8aa5b023e6ff_2496x1348.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!_UU5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ae537c3-de75-4f18-9e0f-be32562eb2ed_2048x290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="206" src="https://substackcdn.com/image/fetch/$s_!_UU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ae537c3-de75-4f18-9e0f-be32562eb2ed_2048x290.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However - there are always tradeoffs when it comes to inference! TileRT&amp;#8217;s interactivity advantage comes with lower aggregate throughput. Conventional engines can amortize weight loads and fixed kernel costs across more users as concurrency rises. At 8K/1K input/output, the GB300 FP4+MTP point at concurrency 12 delivers approximately 240 total tokens/s/GPU while maintaining 154 tokens/s/user. TileRT delivers 160.4 total tokens/s/GPU while reaching 340 tokens/s/user. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The trade-off is therefore: TileRT provides much higher per-user speed, but the conventional GB300 point completes more aggregate work per GPU. TileRT as of publication also serves only one in-flight request per decode node, making this a deliberately specialized operating point rather than a general throughput configuration. Thus, with support only for a batch size of 1 user, TileRT is not just a race car, but it is more like a private rocket ship with room for just one passenger. Engineering TileRT to support more passengers might be possible, but it is an ambitious goal.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star InferenceX GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For end-to-end latency, TileRT at FP8 outperforms the best previously recorded GLM-5.1 result by 4.5&amp;#215; at 1k/1k and 3.0&amp;#215; at 8k/1k. As expected, TileRT&amp;#8217;s time to first token (TTFT) is good but not exceptional. The decisive advantage comes from the decode tail: 3.01 seconds, compared with 6.54 seconds for the best NVFP4 + MTP competitor and 18.18 seconds for MI355X.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IWFm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859e219f-77b1-422f-b1fe-86cae70580ba_2614x1424.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!IWFm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859e219f-77b1-422f-b1fe-86cae70580ba_2614x1424.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;But What Exactly is TileRT?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We briefly introduced what TileRT does and showed some benchmark results, but let&amp;#8217;s pause and explain more deeply what TileRT is and how it works. Traditional serving engines run as thousands of separate GPU program kernels launched one after another. All that setup and teardown means the GPU spends a surprising amount of time waiting, and while this setup/teardown time might &lt;/span&gt;not matter for low to medium interactivity inference but it definitely does for ultra high interactivity inference (aka low latency inference)&lt;span&gt;. Worse, each kernel writes its half-finished work out to HBM. At small batch sizes, this is a bigger problem as kernels aren&amp;#8217;t large enough to amortize launch latency, synchronization, and scheduling overhead.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://www.tilert.ai/blog/speed-as-the-next-scaling-law.html"&gt;&lt;span&gt;As mentioned earlier, when running TileRT at batch size 1&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, for just an single HGX H200 server (38.4TB/s of aggregate HBM memory bandwidth), the active parameter memory bandwidth stands at 42GB per token at MXFP8. In theory, if we were only bound by memory bandwidth, then even without spec decoding, inference should be able to reach up to 1,000 tok/s/user interactivity. This is obviously not the case in the real world! The roadblock is that GPUs&amp;#8217; programming and architecture model is traditionally not built for low latency. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;Even though memory bandwidth per GPU increases 2-3x each generation, memory latency has not improved at all, even as HBM prices continually increase!&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!te-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe017de5a-1e20-4ac2-8510-582cd0e70533_778x773.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="773" src="https://substackcdn.com/image/fetch/$s_!te-w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe017de5a-1e20-4ac2-8510-582cd0e70533_778x773.png" title="" width="778" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/p/nvidia-tensor-core-evolution-from-volta-to-blackwell"&gt;SemiAnalysis, Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Instead of continuously launching kernels, TileRT has the GPU continuously execute a persistent pipeline, statically compiling the whole model ahead of time into a persistent Engine Kernel: the host launches once, execution stays resident on the GPU for the whole decode lifecycle, and most runtime orchestration moves into compile time.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is different from CUDA graphs, which captures the DAGs&lt;/span&gt;(directed acyclic graphs)&lt;span&gt; of kernel launches and memcpys once, then replays it with a single cudaGraphLaunch. But the kernels themselves are still separate kernels, this boundary between kernels carries device-side costs and the on-chip state is wiped at every boundary. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;A CUDA graph optimizes the launching of kernels, while TileRT abolishes the kernel as the unit of execution.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tpk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0124db3-2df8-46ff-becd-26a1a433773f_1578x1410.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1301" src="https://substackcdn.com/image/fetch/$s_!tpk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0124db3-2df8-46ff-becd-26a1a433773f_1578x1410.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Also, through decomposing work into tile-level tasks with warp and block specialization, the runtime dynamically reschedules computation, I/O, and communication in a highly overlapped way. Inside the Engine Kernel, different warp groups take on different jobs: asynchronous data movement, tensor computation, and communication overlap. Where stages used to run serially as load &amp;#8594; barrier &amp;#8594; compute &amp;#8594; barrier, they now overlap at tile granularity, and intermediate results flow forward through registers, shared memory, and L2 instead of repeatedly spilling to global memory. Effectively, each CTA(Cooperative Thread Array) becomes a small heterogeneous factory rather than a uniform SIMT(Single Instruction Multiple Threads) worker.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5W1t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e88cbba-8bac-443c-95cb-e64c0d32a40c_1280x720.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="720" src="https://substackcdn.com/image/fetch/$s_!5W1t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e88cbba-8bac-443c-95cb-e64c0d32a40c_1280x720.png" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.tilert.ai/blog/speed-as-the-next-scaling-law.html"&gt;TileRT&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The next optimization TileRT introduces is specialization extended to whole GPUs. Most TP frameworks assume all ranks execute identical logic synchronously, but sparse routing, Top-K selection, dynamic indexing, long-context attention, and MTP don&amp;#8217;t fit homogeneous scale-out well; they&amp;#8217;re not compute-heavy but depend on global information, so forcing every rank through them adds redundant work and synchronization amplification. So, if warps can specialize, so can GPUs. In GLM-5.1&amp;#8217;s attention layer, GPU 0 becomes a Sparse Indexer worker handling Top-K selection, sparse index construction, and routing, while GPUs 1 through 7 run the MLA workers doing RMSNorm, GEMM, flash sparse attention, and AllReduce.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!boY0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842be77f-67b3-418a-8d59-732fc994cedc_849x513.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="513" src="https://substackcdn.com/image/fetch/$s_!boY0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842be77f-67b3-418a-8d59-732fc994cedc_849x513.png" width="849" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.tilert.ai/blog/speed-as-the-next-scaling-law.html"&gt;TileRT&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Finally, instead of treating communication as an external stage, broadcasts, reductions, and synchronization execute directly inside the tile-level flow; with TileRT, an entire attention layer corresponds to a single kernel launch at the host, and execution shifts from compute &amp;#8594; sync &amp;#8594; compute toward a continuously overlapping compute &amp;#8596; communication &amp;#8596; compute pipeline.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;PD Disaggregated Engine with vLLM&amp;lt;&amp;gt;TileRT&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;LLM inference consists of two distinct phases: prefill and decode. Prefill processes the input prompt in parallel and is primarily compute-intensive, making aggregate throughput the key performance metric. Decode generates tokens sequentially and repeatedly accesses the growing KV cache, making it memory-intensive and highly sensitive to per-token latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5jCg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79985d3a-7cda-4ec2-a7dd-e3c794861f58_1112x548.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!5jCg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79985d3a-7cda-4ec2-a7dd-e3c794861f58_1112x548.png" width="1112" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/abs/2401.09670"&gt;DistServe&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TileRT does not replace vLLM, vLLM remains the high-throughput prefill engine and the surrounding serving layer, including its scheduler, chunked prefill, prefix caching, OpenAI-compatible API, and operational tooling. Only latency-critical decode traffic moves to TileRT. TileRT is engineered to be a single-passenger rocket ship, and vLLM remains the plane, car, bus, and train.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star InferenceX Github&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The prefill and decode phases can be disaggregated into seperate nodes. With disagg, one shared vLLM prefill pool can feed two entirely different decode pools.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Pool A: Ultra high interactivity decode with TileRT&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Latency-critical requests pass through the TileRT PD Router, which instructs vLLM to generate the first token and marks the request with the destination TileRT node in kv_transfer_params.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Pool B: General low to medium interactivity decode with vLLM decode&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;General traffic continues through vLLM&amp;#8217;s native disaggregation proxy to a conventional vLLM decode pool.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Iu_l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab80368-f12c-43d4-b713-158068127bae_1780x1227.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1004" src="https://substackcdn.com/image/fetch/$s_!Iu_l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab80368-f12c-43d4-b713-158068127bae_1780x1227.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://vllm-project.github.io/2026/07/14/vllm-tilert-pd.html"&gt;&lt;span&gt;vLLM &amp;amp; TileRT&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This is done via vLLM&amp;#8217;s MultiConnector API that composes the TileRTConnector with its native connector. The TileRT connector claims only marked high interactivity traffic class requests and becomes a no-op for everything else, meaning both traffic classes can share the same prefill server. Between the Prefill and Decode, TileRT uses Mooncake Transfer Engine and NIXL Transfer Engine to move KVCache. In TileRT v0.1.5, each decode node serves one in-flight request at a time. The router gates dispatch and applies back-pressure when the node is occupied.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;How does TileRT compare to Cerebras/Groq/SambaNova?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Purpose-built inference vendors identified the same execution bottleneck years ago, but encoded more of the solution in hardware. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;The SemiAnalysis Accelerator Model has our quarter by quarter estimates of NVIDIA LPU30, LPU40, Cerebras WSE-3 &amp;amp; WSE-4 shipments.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Groq uses deterministic, compiler-orchestrated execution and a large on-chip SRAM hierarchy. Cerebras maps computation spatially across a wafer-scale processor; the CS&amp;#8209;3 provides approximately 900,000 cores, 44 GB of on-chip SRAM, and 21 PB/s of memory bandwidth. SambaNova maps model graphs onto reconfigurable dataflow units backed by a tiered SRAM, HBM, and DDR memory system.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The silicon differs, but the systems share the same idea: latency-sensitive inference benefits from reducing runtime scheduling, operator boundaries, synchronization, and unnecessary movement through external memory. At large batch sizes, those costs are easier to amortize. At batch size 1, they occupy a much larger share of each token&amp;#8217;s latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4_Fn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a4d461-66d2-42e1-8cec-ca0c4b5dc73d_2048x1089.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="774" src="https://substackcdn.com/image/fetch/$s_!4_Fn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a4d461-66d2-42e1-8cec-ca0c4b5dc73d_2048x1089.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TileRT imports software analogues of several dataflow ideas: AoT scheduling, persistent execution, specialized workers, and tighter overlap between communication and computation. The resemblance is architectural rather than literal. TileRT still runs on a SIMT GPU with dynamic hardware scheduling, HBM, and a model-specific compiled schedule.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star InferenceX GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, TileRT is still software only: dataflow is imposed on a machine that was never specialized designed for it. A GPU carries dynamic warp schedulers, a SIMT model, and an HBM hierarchy, and TileRT gets its numbers by spending enormous compiler effort convincing that machinery to impersonate a spatial pipeline through statically expanded persistent kernels, hand-carved warp specialization, and per-model compilation against pinned driver stacks. Native dataflow silicon never fights its own substrate. Purpose-built accelerators encode more of the execution model in hardware and can avoid some of the overhead TileRT must hide in software. Their advantage still depends on the model, precision, memory hierarchy, compiler quality, system scale, and serving configuration. That is why Cerebras serves a dense 70B at speeds no eight-GPU node can reach regardless of scheduling: software can approach the HBM roofline, but it cannot raise it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nNq0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5181aa5-0273-418f-8ee8-e90e2b1f7beb_2048x1217.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="865" src="https://substackcdn.com/image/fetch/$s_!nNq0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5181aa5-0273-418f-8ee8-e90e2b1f7beb_2048x1217.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The market&amp;#8217;s early answer is that purity is negotiable. TileRT&amp;#8217;s decode engine is already in production behind Xiaomi&amp;#8217;s MiMo V2.5 Pro UltraSpeed and Z.ai&amp;#8217;s GLM-5.1 HighSpeed, and the deployment pattern is the tell. Neither company procured a new dataflow chip. They carved a speed tier out of the accelerator cluster they already ran, with vLLM keeping prefill, scheduling, and the API while TileRT takes over decode behind the same endpoint. Good enough on hardware you already own tends to beat architecturally pure on hardware you have to buy.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;That points at the deeper structural problem: fungibility and flexibility in prefill-decode (PD) ratio.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A GPU pool is one liquid resource, excellent at prefill, excellent at high to medium-batch decode, &lt;/span&gt;&lt;a href="https://mimo.mi.com/docs/en-US/news/latest/1000tps"&gt;&lt;span&gt;and now somewhat credibly strong at ultra-interactive decode&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, with capacity moving between those roles as software scheduler decision that can follow demand hour by hour. An ASIC fleet is the opposite: the ratio of speed-tier capacity to everything else is fixed in hardware the day the purchase order is signed. Changing the ratio of the physical fleet will take months to physically re-rack and re-cable. That would be fine if the workload mix were stable and known. Unfortunately, the split between users who need ordinary conversational latency and users, increasingly agents, who will pay for extreme-interactivity SLOs has a lot of different variables at play when estimating. Guess wrong with GPUs and you rebalance in software. Guess wrong with dedicated silicon and you either strand capital in idle speed machines or turn away the exact premium traffic you bought them for. On top of that - requirements may shift over time, so a correct guess will only be right for a limited period of time.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Going back to the shared prefill pool mentioned earlier, providers do not need to pay the TileRT premium for all traffic. General requests can stay on throughput-optimized vLLM or SGLang decode pools, while only latency-critical requests are routed to the TileRT decode pool.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Je1k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf63cd1-c7e5-44a9-bd4e-682c52cfa2e9_1594x1078.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="985" src="https://substackcdn.com/image/fetch/$s_!Je1k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf63cd1-c7e5-44a9-bd4e-682c52cfa2e9_1594x1078.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;None of this kills the top of the speed market. The SRAM roofline is still better, certain sizes of models still favor it, and some workloads will always want maximum tokens per second at any price. But TileRT reframes what most buyers need: not a speed machine, but a speed tier, provisioned dynamically out of the fleet they were going to own anyway. Cerebras, Groq, and SambaNova are no longer competing against a clumsy kernel-launcher. They are competing against their own execution model, running on fungible hardware, reallocated by a config file. TileRT may be a single-passenger rocketship, but it allows providers to strap solid rocket boosters to your Metro Bus instead of having to design an entirely new launch vehicle.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Why Is TileRT Development Slow?&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;GLM5.1 is a generation behind, and has already been deprecated on mainline InferenceX. TileRT&amp;#8217;s model catalog is very limited, currently supporting GLM-5/5.1, DeepSeek-V3.2. MiMo-V2.5-Pro-UltraSpeed is the result of a co-design partnership and has yet to be open-sourced.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TileRT inherits ASIC vendors&amp;#8217; biggest weakness. Static ahead-of-time compilation means a tiny model catalog (currently GLM-5/5.1 and DeepSeek-V3.2), hard-pinned dependencies, and real engineering effort per new architecture. There is no fully generic path, a persistent engine kernel means the model is statically expanded ahead of time into one resident program, so decisions have to be made on tile shapes, pipeline depth, buffer residency across registers/shared memory/L2, how warp groups split between loading, compute, and communication, where collectives get fused into the tile flow, and which GPUs take specialized roles like GLM-5.1&amp;#8217;s dedicated sparse indexer rank. Change the attention mechanism or the routing scheme and much of that schedule is invalidated. Dataflow chips also face this same issue, good compilers can be notoriously difficult to create.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share SemiAnalysis&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Work is being done to simplify this, especially as software development can be accelerated with AI. &lt;/span&gt;&lt;a href="https://github.com/tile-ai/TileOPs"&gt;&lt;span&gt;TileOPs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is intended to reduce this burden. Each operator is declared in a machine-readable manifest specifying its signature, workloads, and roofline model. The manifest drives code generation, testing, and benchmarking against hardware bounds rather than only against earlier implementations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AI coding agents accelerate tuning within known templates, but novel transformations still require expert judgment. A monolithic persistent kernel also reduces the usefulness of conventional per-kernel profiler timelines, making automated feedback loops more difficult.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Next steps with TileRT&amp;lt;&amp;gt;InferenceX&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We are actively working on moving TileRT benchmarking from InferenceX&amp;#8217;s single-turn 8k/1k as well as our new agentic coding benchmark, which we call AgentX. This scenario replays real Claude Code and Codex traces with long-context, multi-turn requests, realistic subagent activity, and dynamic tool-use delays. Its median input length is 140k tokens, while the theoretical median cache-hit rate roofline reaches 99.2%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pR9O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1d6223-50bf-4f33-a87c-d44fce6604e3_2048x1654.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1176" src="https://substackcdn.com/image/fetch/$s_!pR9O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1d6223-50bf-4f33-a87c-d44fce6604e3_2048x1654.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/datasets"&gt;&lt;span&gt;SemiAnalysis&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This workload will test the entire TileRT&amp;lt;&amp;gt; vLLM system, not just decode speed, including incremental KV transfer, prefix-cache reuse, cache retention and offloading, routing, and scheduling. The critical question is whether TileRT can transfer only the newly introduced context between turns while preserving its ultra-high interactivity advantage.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_EeT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7a5496-b564-4bf0-830f-8cf2dd7f1bed_2048x1364.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="970" src="https://substackcdn.com/image/fetch/$s_!_EeT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7a5496-b564-4bf0-830f-8cf2dd7f1bed_2048x1364.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://api-docs.deepseek.com/guides/thinking_mode/"&gt;&lt;span&gt;DeepSeek&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second step is to move beyond just batch size one. We will also benchmark TileRT at batch sizes 2, 4, and 8. The goal is to map its throughput&amp;#8211;interactivity Pareto frontier and identify the point at which the persistent Engine Kernel&amp;#8217;s latency advantage begins to flatten.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h1&gt;Perf per TCO of TileRT Ultra Fast Speed&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Next, we do an deep dive analysis on TileRT&amp;#8217;s cost per million output tokens at ultra-high interactivity compared to decode at normal lower-interactivity operating points. The results are quite interesting with TileRT boosting up to 1.9x faster interactivity when iso-cost with traditional engines. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;We use our AI TCO Model as baseline for the capex &amp;amp; opex for each chip SKU.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;Premium-priced &amp;#8220;fast modes&amp;#8221; are proving that users will pay more for lower latency and faster tokens, potentially yielding higher gross margins. Frontier AI labs such as &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;OpenAI are therefore evaluating purpose-built inference systems, including Cerebras and NVIDIA Groq LPUs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that prioritize ultra-high interactivity over maximum batched throughput. Ultra-low latency matters most in interactive workloads, including real-time assistants, and full-duplex voice. OpenAI GPT&amp;#8209;Live, for example, can listen and speak simultaneously, making response delay immediately perceptible to the user, &lt;/span&gt;&lt;a href="https://x.com/OpenAI/status/2080378182469857576"&gt;&lt;span&gt;described as feeling like Ironman JARVIS&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;GPUs perform exceptionally well at high throughput and low-to-medium interactivity, but their architecture is less suited for ultra-low-latency inference. An 8-GPU HGX B200 server provides a theoretical HBM memory bandwidth of 64 TB/s of in aggregate. At batch size 1, GLM-5 at NVFP4 requires only approximately 21 GB of active-parameter traffic per generated token. The B200 HBM bandwidth roofline would therefore &lt;/span&gt;&lt;strong&gt;&lt;span&gt;suggest up to 3,047 tokens/s/user without speculative decoding. In practice, GPUs come nowhere close to this limit.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The gap comes from latency rather than bandwidth. The traditional GPU programming model launches and synchronizes many individual kernels, whose setup and teardown overhead becomes significant at ultra-high levels of interactivity. While these latency costs are less visible at conventional serving speeds, even with CUDA graphs, they dominate as token latency approaches the sub-millisecond Time Per Output Token (TPOT) range. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;Furthermore, although GPU memory bandwidth increases by roughly 2&amp;#8211;3&amp;#215; each generation, memory latency has not improved at all.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While using alternative hardware is popular, there are ways to use GPUs to do this too. This is where &lt;/span&gt;&lt;a href="https://github.com/tile-ai/TileRT"&gt;&lt;span&gt;TileRT&amp;#8217;s persistent engine&lt;/span&gt;&lt;/a&gt;&lt;span&gt; comes in. TileRT statically compiles the entire decode graph into a single persistent kernel on NVIDIA GPUs, maximizing overlap across computation, memory loads and stores, and communication. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;On the InferenceX GLM5 FP8 744B benchmark on a single B200 decode server, tileRT has been verified to reach up to 500 tokens/s/user, approximately 3&amp;#215; faster than GB300 NVL72 running traditional inference engines. Iso-cost per output token, TileRT can achieve up to 2x faster interactivity than traditional engines.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We thank the TileRT maintainers for collaborating on TileRT InferenceX benchmarks and also in general thankful to the vLLM community for their amazing design on the V1 connector. TileRT comes from the same community maintainer organization that built the &lt;/span&gt;&lt;a href="https://github.com/tile-ai/tilelang"&gt;&lt;span&gt;widely popular TileLang DSL&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With PD disaggregation inference technique, the hyperspecialized TileRT engine handles latency-sensitive decode while throughput-optimized engines such as vLLM and SGLang continuing to serving prefill. The TileRT decode engine is already being deployed in production at &lt;/span&gt;&lt;a href="https://mimo.mi.com/docs/en-US/news/latest/1000tps"&gt;&lt;span&gt;Xiaomi for MiMo V2.5 Pro UltraSpeed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://www.tilert.ai/"&gt;&lt;span&gt;ZAI with GLM 5.1 HighSpeed.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the article, we shall deep dive into the TileRT InferenceX results, what TileRT is, how it composes with the existing inference ecosystem along with the tradeoffs and challenges with TileRT. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We will also elaborate on the tradeoffs of using TileRT on standard GPUs vs. &lt;/span&gt;ultra low latency specialized chips like Nvidia Groq LPU, Cerebras and Sambanova&lt;/strong&gt;, weighing in on &lt;span&gt;if there is a potential for TileRT software running on GPUs to disrupt these specialist chips&amp;#8217; TAM.  &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;The SemiAnalysis Accelerator Model provides quarter by quarter estimates of Nvidia LPU30, LPU40, Cerebras WSE-3 &amp;amp; WSE-4 shipments and much more.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX is our open-source, vendor-neutral, continuously updated AI inference benchmarking and research platform.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; We measure leading models, inference frameworks, and hardware across the latency-throughput Pareto frontier, tracking how real-world inference performance and economics improve over time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Our benchmark has been widely reproduced, validated and/or supported by almost every major buyer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; of compute from &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/compute/scaling-moe-inference-with-nvidia-dynamo-on-google-cloud-a4x"&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://blog.aks.azure.com/2025/10/24/dynamo-on-aks#enterprise-scale-inference-experiments--dynamo-with-gb200-running-on-aks"&gt;&lt;span&gt;Microsoft Azure&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencemax.semianalysis.com/quotes"&gt;&lt;span&gt;Oracle,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and many more. Furthermore, it has the &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;support of the ML community including from vLLM, LMCache, SGLang, PyTorch, Huggingface&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and the support of &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/quotes"&gt;&lt;span&gt;major labs like OpenAI, MiniMax, ZAI, Qwen, Moonshot Kimi, etc. &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!sqrA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34551ca4-fab9-4df2-a393-dd07cff7cd42_1918x1046.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="794" src="https://substackcdn.com/image/fetch/$s_!sqrA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34551ca4-fab9-4df2-a393-dd07cff7cd42_1918x1046.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/quotes"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star the InferenceX GitHub repository if you find the open-source benchmark and data useful!&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;As previously mentioned,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Nvidia has committed to submitting verifiable Vera Rubin numbers to InferenceX. We will have Google TPUv7 results soon, and AMD has committed to MI455X UALoE72 this year too.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9n9K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab92435-d677-444d-a608-e36df90e85ac_2048x1098.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="781" src="https://substackcdn.com/image/fetch/$s_!9n9K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab92435-d677-444d-a608-e36df90e85ac_2048x1098.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;InferenceX GitHub&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Throughput vs Interactivity Curve&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Every inference system must balance two competing goals.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Interactivity (tok/s/user) &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;measures how quickly a single user receives tokens, the inverse of time per output token (TPOT). It determines whether a response feels snappy or sluggish.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Throughput (tok/s/GPU)&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; measures how many tokens the system produces in total across all users. It largely determines the cost per token.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Batching increases aggregate throughput by processing more requests together, but each user typically waits longer for each token. Small batches do the opposite: they improve per-user speed while reducing the amount of useful work each GPU completes in aggregate.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A bus amortizes its cost across many passengers but makes each passenger wait for shared stops. A race car carries only one or two people and reaches the destination faster, but at much higher cost per passenger. Inference has the same trade-off: batching improves aggregate throughput and cost per token, while small batches improve per-user responsiveness. There is no one-size-fits-all operating point.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the configuration shown below, increasing interactivity from roughly 25 to 260 tokens/s/user reduces per-GPU throughput from about 5,900 to 200 tokens/s/GPU. That is roughly a 30&amp;#215; reduction in aggregate throughput for a 10&amp;#215; increase in per-user speed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZZb4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e4f81e-2e8b-442f-a355-99ccfa905254_1456x954.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="954" src="https://substackcdn.com/image/fetch/$s_!ZZb4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84e4f81e-2e8b-442f-a355-99ccfa905254_1456x954.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/p/inferencex-v2-nvidia-blackwell-vs"&gt;SemiAnalysis&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;TileRT results&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As we describe in the next section, GPUs already perform well in high-throughput scenarios but struggle in high-interactivity ones. This weakness has created an entire market segment for dataflow chips. TileRT targets the same weakness and therefore focuses exclusively on high-interactivity operating points.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TileRT on B200 is in a class of its own. For the 8k/1k input/output token scenario, TileRT reached 340 tokens/s/user on an eight-GPU B200 node. The fastest result in the current dataset was previously 181.4 tokens/s/user on GB300 NVL72 with NVFP4 and MTP, making TileRT 1.9&amp;#215; faster on this metric. Of course - this is on Batch Size 1, where all that extra trouble to set up the complicated copper backplane in the case of the GB300 NVL72 does not come into play at all in boosting interactivity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, the fastest FP8 result was 113.6 tokens/s/user on B300 with MTP, making TileRT 3.0&amp;#215; faster at the same precision.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WVnD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefef9b2d-1932-485d-afb9-f86374241a07_2368x1284.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="789" src="https://substackcdn.com/image/fetch/$s_!WVnD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefef9b2d-1932-485d-afb9-f86374241a07_2368x1284.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!vaIi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f090f1c-aa93-4554-8e41-5bbf1f6108da_2048x310.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="220" src="https://substackcdn.com/image/fetch/$s_!vaIi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f090f1c-aa93-4554-8e41-5bbf1f6108da_2048x310.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At 1k/1k input/output, TileRT FP8 reached 494.2 tokens/s/user. That was 1.9&amp;#215; the best conventional result, at 256.3 tokens/s/user using FP4, and 3.6&amp;#215; the best conventional FP8 result, at 136.3 tokens/s/user. TileRT doesn&amp;#8217;t yet have FP4 support, but it is already beating non TileRT FP4 implementations! The result is also notable because it comes from an eight-GPU B200 node rather than the 72-GPU NVLink scale-up domain of GB200 or GB300 NVL72. This comparison concerns per-user interactivity, not aggregate throughput or cost.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U559!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ffdd8c-6e1a-4b58-b29d-8aa5b023e6ff_2496x1348.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="786" src="https://substackcdn.com/image/fetch/$s_!U559!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ffdd8c-6e1a-4b58-b29d-8aa5b023e6ff_2496x1348.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!_UU5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ae537c3-de75-4f18-9e0f-be32562eb2ed_2048x290.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="206" src="https://substackcdn.com/image/fetch/$s_!_UU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ae537c3-de75-4f18-9e0f-be32562eb2ed_2048x290.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However - there are always tradeoffs when it comes to inference! TileRT&amp;#8217;s interactivity advantage comes with lower aggregate throughput. Conventional engines can amortize weight loads and fixed kernel costs across more users as concurrency rises. At 8K/1K input/output, the GB300 FP4+MTP point at concurrency 12 delivers approximately 240 total tokens/s/GPU while maintaining 154 tokens/s/user. TileRT delivers 160.4 total tokens/s/GPU while reaching 340 tokens/s/user. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The trade-off is therefore: TileRT provides much higher per-user speed, but the conventional GB300 point completes more aggregate work per GPU. TileRT as of publication also serves only one in-flight request per decode node, making this a deliberately specialized operating point rather than a general throughput configuration. Thus, with support only for a batch size of 1 user, TileRT is not just a race car, but it is more like a private rocket ship with room for just one passenger. Engineering TileRT to support more passengers might be possible, but it is an ambitious goal.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star InferenceX GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For end-to-end latency, TileRT at FP8 outperforms the best previously recorded GLM-5.1 result by 4.5&amp;#215; at 1k/1k and 3.0&amp;#215; at 8k/1k. As expected, TileRT&amp;#8217;s time to first token (TTFT) is good but not exceptional. The decisive advantage comes from the decode tail: 3.01 seconds, compared with 6.54 seconds for the best NVFP4 + MTP competitor and 18.18 seconds for MI355X.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IWFm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859e219f-77b1-422f-b1fe-86cae70580ba_2614x1424.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!IWFm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F859e219f-77b1-422f-b1fe-86cae70580ba_2614x1424.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;But What Exactly is TileRT?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We briefly introduced what TileRT does and showed some benchmark results, but let&amp;#8217;s pause and explain more deeply what TileRT is and how it works. Traditional serving engines run as thousands of separate GPU program kernels launched one after another. All that setup and teardown means the GPU spends a surprising amount of time waiting, and while this setup/teardown time might &lt;/span&gt;not matter for low to medium interactivity inference but it definitely does for ultra high interactivity inference (aka low latency inference)&lt;span&gt;. Worse, each kernel writes its half-finished work out to HBM. At small batch sizes, this is a bigger problem as kernels aren&amp;#8217;t large enough to amortize launch latency, synchronization, and scheduling overhead.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://www.tilert.ai/blog/speed-as-the-next-scaling-law.html"&gt;&lt;span&gt;As mentioned earlier, when running TileRT at batch size 1&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, for just an single HGX H200 server (38.4TB/s of aggregate HBM memory bandwidth), the active parameter memory bandwidth stands at 42GB per token at MXFP8. In theory, if we were only bound by memory bandwidth, then even without spec decoding, inference should be able to reach up to 1,000 tok/s/user interactivity. This is obviously not the case in the real world! The roadblock is that GPUs&amp;#8217; programming and architecture model is traditionally not built for low latency. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;Even though memory bandwidth per GPU increases 2-3x each generation, memory latency has not improved at all, even as HBM prices continually increase!&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!te-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe017de5a-1e20-4ac2-8510-582cd0e70533_778x773.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="773" src="https://substackcdn.com/image/fetch/$s_!te-w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe017de5a-1e20-4ac2-8510-582cd0e70533_778x773.png" title="" width="778" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/p/nvidia-tensor-core-evolution-from-volta-to-blackwell"&gt;SemiAnalysis, Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Instead of continuously launching kernels, TileRT has the GPU continuously execute a persistent pipeline, statically compiling the whole model ahead of time into a persistent Engine Kernel: the host launches once, execution stays resident on the GPU for the whole decode lifecycle, and most runtime orchestration moves into compile time.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is different from CUDA graphs, which captures the DAGs&lt;/span&gt;(directed acyclic graphs)&lt;span&gt; of kernel launches and memcpys once, then replays it with a single cudaGraphLaunch. But the kernels themselves are still separate kernels, this boundary between kernels carries device-side costs and the on-chip state is wiped at every boundary. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;A CUDA graph optimizes the launching of kernels, while TileRT abolishes the kernel as the unit of execution.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!tpk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0124db3-2df8-46ff-becd-26a1a433773f_1578x1410.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1301" src="https://substackcdn.com/image/fetch/$s_!tpk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0124db3-2df8-46ff-becd-26a1a433773f_1578x1410.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Also, through decomposing work into tile-level tasks with warp and block specialization, the runtime dynamically reschedules computation, I/O, and communication in a highly overlapped way. Inside the Engine Kernel, different warp groups take on different jobs: asynchronous data movement, tensor computation, and communication overlap. Where stages used to run serially as load &amp;#8594; barrier &amp;#8594; compute &amp;#8594; barrier, they now overlap at tile granularity, and intermediate results flow forward through registers, shared memory, and L2 instead of repeatedly spilling to global memory. Effectively, each CTA(Cooperative Thread Array) becomes a small heterogeneous factory rather than a uniform SIMT(Single Instruction Multiple Threads) worker.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5W1t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e88cbba-8bac-443c-95cb-e64c0d32a40c_1280x720.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="720" src="https://substackcdn.com/image/fetch/$s_!5W1t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e88cbba-8bac-443c-95cb-e64c0d32a40c_1280x720.png" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.tilert.ai/blog/speed-as-the-next-scaling-law.html"&gt;TileRT&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The next optimization TileRT introduces is specialization extended to whole GPUs. Most TP frameworks assume all ranks execute identical logic synchronously, but sparse routing, Top-K selection, dynamic indexing, long-context attention, and MTP don&amp;#8217;t fit homogeneous scale-out well; they&amp;#8217;re not compute-heavy but depend on global information, so forcing every rank through them adds redundant work and synchronization amplification. So, if warps can specialize, so can GPUs. In GLM-5.1&amp;#8217;s attention layer, GPU 0 becomes a Sparse Indexer worker handling Top-K selection, sparse index construction, and routing, while GPUs 1 through 7 run the MLA workers doing RMSNorm, GEMM, flash sparse attention, and AllReduce.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!boY0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842be77f-67b3-418a-8d59-732fc994cedc_849x513.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="513" src="https://substackcdn.com/image/fetch/$s_!boY0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842be77f-67b3-418a-8d59-732fc994cedc_849x513.png" width="849" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.tilert.ai/blog/speed-as-the-next-scaling-law.html"&gt;TileRT&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Finally, instead of treating communication as an external stage, broadcasts, reductions, and synchronization execute directly inside the tile-level flow; with TileRT, an entire attention layer corresponds to a single kernel launch at the host, and execution shifts from compute &amp;#8594; sync &amp;#8594; compute toward a continuously overlapping compute &amp;#8596; communication &amp;#8596; compute pipeline.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;PD Disaggregated Engine with vLLM&amp;lt;&amp;gt;TileRT&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;LLM inference consists of two distinct phases: prefill and decode. Prefill processes the input prompt in parallel and is primarily compute-intensive, making aggregate throughput the key performance metric. Decode generates tokens sequentially and repeatedly accesses the growing KV cache, making it memory-intensive and highly sensitive to per-token latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5jCg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79985d3a-7cda-4ec2-a7dd-e3c794861f58_1112x548.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!5jCg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79985d3a-7cda-4ec2-a7dd-e3c794861f58_1112x548.png" width="1112" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/abs/2401.09670"&gt;DistServe&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TileRT does not replace vLLM, vLLM remains the high-throughput prefill engine and the surrounding serving layer, including its scheduler, chunked prefill, prefix caching, OpenAI-compatible API, and operational tooling. Only latency-critical decode traffic moves to TileRT. TileRT is engineered to be a single-passenger rocket ship, and vLLM remains the plane, car, bus, and train.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star InferenceX Github&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The prefill and decode phases can be disaggregated into seperate nodes. With disagg, one shared vLLM prefill pool can feed two entirely different decode pools.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Pool A: Ultra high interactivity decode with TileRT&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Latency-critical requests pass through the TileRT PD Router, which instructs vLLM to generate the first token and marks the request with the destination TileRT node in kv_transfer_params.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Pool B: General low to medium interactivity decode with vLLM decode&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;General traffic continues through vLLM&amp;#8217;s native disaggregation proxy to a conventional vLLM decode pool.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Iu_l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab80368-f12c-43d4-b713-158068127bae_1780x1227.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1004" src="https://substackcdn.com/image/fetch/$s_!Iu_l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab80368-f12c-43d4-b713-158068127bae_1780x1227.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://vllm-project.github.io/2026/07/14/vllm-tilert-pd.html"&gt;&lt;span&gt;vLLM &amp;amp; TileRT&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This is done via vLLM&amp;#8217;s MultiConnector API that composes the TileRTConnector with its native connector. The TileRT connector claims only marked high interactivity traffic class requests and becomes a no-op for everything else, meaning both traffic classes can share the same prefill server. Between the Prefill and Decode, TileRT uses Mooncake Transfer Engine and NIXL Transfer Engine to move KVCache. In TileRT v0.1.5, each decode node serves one in-flight request at a time. The router gates dispatch and applies back-pressure when the node is occupied.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;How does TileRT compare to Cerebras/Groq/SambaNova?&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Purpose-built inference vendors identified the same execution bottleneck years ago, but encoded more of the solution in hardware. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;The SemiAnalysis Accelerator Model has our quarter by quarter estimates of NVIDIA LPU30, LPU40, Cerebras WSE-3 &amp;amp; WSE-4 shipments.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Groq uses deterministic, compiler-orchestrated execution and a large on-chip SRAM hierarchy. Cerebras maps computation spatially across a wafer-scale processor; the CS&amp;#8209;3 provides approximately 900,000 cores, 44 GB of on-chip SRAM, and 21 PB/s of memory bandwidth. SambaNova maps model graphs onto reconfigurable dataflow units backed by a tiered SRAM, HBM, and DDR memory system.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The silicon differs, but the systems share the same idea: latency-sensitive inference benefits from reducing runtime scheduling, operator boundaries, synchronization, and unnecessary movement through external memory. At large batch sizes, those costs are easier to amortize. At batch size 1, they occupy a much larger share of each token&amp;#8217;s latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4_Fn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a4d461-66d2-42e1-8cec-ca0c4b5dc73d_2048x1089.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="774" src="https://substackcdn.com/image/fetch/$s_!4_Fn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a4d461-66d2-42e1-8cec-ca0c4b5dc73d_2048x1089.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TileRT imports software analogues of several dataflow ideas: AoT scheduling, persistent execution, specialized workers, and tighter overlap between communication and computation. The resemblance is architectural rather than literal. TileRT still runs on a SIMT GPU with dynamic hardware scheduling, HBM, and a model-specific compiled schedule.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://github.com/SemiAnalysisAI/InferenceX"&gt;&lt;span&gt;Star InferenceX GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, TileRT is still software only: dataflow is imposed on a machine that was never specialized designed for it. A GPU carries dynamic warp schedulers, a SIMT model, and an HBM hierarchy, and TileRT gets its numbers by spending enormous compiler effort convincing that machinery to impersonate a spatial pipeline through statically expanded persistent kernels, hand-carved warp specialization, and per-model compilation against pinned driver stacks. Native dataflow silicon never fights its own substrate. Purpose-built accelerators encode more of the execution model in hardware and can avoid some of the overhead TileRT must hide in software. Their advantage still depends on the model, precision, memory hierarchy, compiler quality, system scale, and serving configuration. That is why Cerebras serves a dense 70B at speeds no eight-GPU node can reach regardless of scheduling: software can approach the HBM roofline, but it cannot raise it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!nNq0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5181aa5-0273-418f-8ee8-e90e2b1f7beb_2048x1217.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="865" src="https://substackcdn.com/image/fetch/$s_!nNq0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5181aa5-0273-418f-8ee8-e90e2b1f7beb_2048x1217.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The market&amp;#8217;s early answer is that purity is negotiable. TileRT&amp;#8217;s decode engine is already in production behind Xiaomi&amp;#8217;s MiMo V2.5 Pro UltraSpeed and Z.ai&amp;#8217;s GLM-5.1 HighSpeed, and the deployment pattern is the tell. Neither company procured a new dataflow chip. They carved a speed tier out of the accelerator cluster they already ran, with vLLM keeping prefill, scheduling, and the API while TileRT takes over decode behind the same endpoint. Good enough on hardware you already own tends to beat architecturally pure on hardware you have to buy.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;That points at the deeper structural problem: fungibility and flexibility in prefill-decode (PD) ratio.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A GPU pool is one liquid resource, excellent at prefill, excellent at high to medium-batch decode, &lt;/span&gt;&lt;a href="https://mimo.mi.com/docs/en-US/news/latest/1000tps"&gt;&lt;span&gt;and now somewhat credibly strong at ultra-interactive decode&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, with capacity moving between those roles as software scheduler decision that can follow demand hour by hour. An ASIC fleet is the opposite: the ratio of speed-tier capacity to everything else is fixed in hardware the day the purchase order is signed. Changing the ratio of the physical fleet will take months to physically re-rack and re-cable. That would be fine if the workload mix were stable and known. Unfortunately, the split between users who need ordinary conversational latency and users, increasingly agents, who will pay for extreme-interactivity SLOs has a lot of different variables at play when estimating. Guess wrong with GPUs and you rebalance in software. Guess wrong with dedicated silicon and you either strand capital in idle speed machines or turn away the exact premium traffic you bought them for. On top of that - requirements may shift over time, so a correct guess will only be right for a limited period of time.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Going back to the shared prefill pool mentioned earlier, providers do not need to pay the TileRT premium for all traffic. General requests can stay on throughput-optimized vLLM or SGLang decode pools, while only latency-critical requests are routed to the TileRT decode pool.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Je1k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf63cd1-c7e5-44a9-bd4e-682c52cfa2e9_1594x1078.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="985" src="https://substackcdn.com/image/fetch/$s_!Je1k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf63cd1-c7e5-44a9-bd4e-682c52cfa2e9_1594x1078.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;None of this kills the top of the speed market. The SRAM roofline is still better, certain sizes of models still favor it, and some workloads will always want maximum tokens per second at any price. But TileRT reframes what most buyers need: not a speed machine, but a speed tier, provisioned dynamically out of the fleet they were going to own anyway. Cerebras, Groq, and SambaNova are no longer competing against a clumsy kernel-launcher. They are competing against their own execution model, running on fungible hardware, reallocated by a config file. TileRT may be a single-passenger rocketship, but it allows providers to strap solid rocket boosters to your Metro Bus instead of having to design an entirely new launch vehicle.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Why Is TileRT Development Slow?&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;GLM5.1 is a generation behind, and has already been deprecated on mainline InferenceX. TileRT&amp;#8217;s model catalog is very limited, currently supporting GLM-5/5.1, DeepSeek-V3.2. MiMo-V2.5-Pro-UltraSpeed is the result of a co-design partnership and has yet to be open-sourced.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TileRT inherits ASIC vendors&amp;#8217; biggest weakness. Static ahead-of-time compilation means a tiny model catalog (currently GLM-5/5.1 and DeepSeek-V3.2), hard-pinned dependencies, and real engineering effort per new architecture. There is no fully generic path, a persistent engine kernel means the model is statically expanded ahead of time into one resident program, so decisions have to be made on tile shapes, pipeline depth, buffer residency across registers/shared memory/L2, how warp groups split between loading, compute, and communication, where collectives get fused into the tile flow, and which GPUs take specialized roles like GLM-5.1&amp;#8217;s dedicated sparse indexer rank. Change the attention mechanism or the routing scheme and much of that schedule is invalidated. Dataflow chips also face this same issue, good compilers can be notoriously difficult to create.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share SemiAnalysis&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Work is being done to simplify this, especially as software development can be accelerated with AI. &lt;/span&gt;&lt;a href="https://github.com/tile-ai/TileOPs"&gt;&lt;span&gt;TileOPs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is intended to reduce this burden. Each operator is declared in a machine-readable manifest specifying its signature, workloads, and roofline model. The manifest drives code generation, testing, and benchmarking against hardware bounds rather than only against earlier implementations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AI coding agents accelerate tuning within known templates, but novel transformations still require expert judgment. A monolithic persistent kernel also reduces the usefulness of conventional per-kernel profiler timelines, making automated feedback loops more difficult.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Next steps with TileRT&amp;lt;&amp;gt;InferenceX&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;We are actively working on moving TileRT benchmarking from InferenceX&amp;#8217;s single-turn 8k/1k as well as our new agentic coding benchmark, which we call AgentX. This scenario replays real Claude Code and Codex traces with long-context, multi-turn requests, realistic subagent activity, and dynamic tool-use delays. Its median input length is 140k tokens, while the theoretical median cache-hit rate roofline reaches 99.2%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pR9O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1d6223-50bf-4f33-a87c-d44fce6604e3_2048x1654.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1176" src="https://substackcdn.com/image/fetch/$s_!pR9O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1d6223-50bf-4f33-a87c-d44fce6604e3_2048x1654.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/datasets"&gt;&lt;span&gt;SemiAnalysis&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This workload will test the entire TileRT&amp;lt;&amp;gt; vLLM system, not just decode speed, including incremental KV transfer, prefix-cache reuse, cache retention and offloading, routing, and scheduling. The critical question is whether TileRT can transfer only the newly introduced context between turns while preserving its ultra-high interactivity advantage.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_EeT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7a5496-b564-4bf0-830f-8cf2dd7f1bed_2048x1364.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="970" src="https://substackcdn.com/image/fetch/$s_!_EeT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7a5496-b564-4bf0-830f-8cf2dd7f1bed_2048x1364.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://api-docs.deepseek.com/guides/thinking_mode/"&gt;&lt;span&gt;DeepSeek&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second step is to move beyond just batch size one. We will also benchmark TileRT at batch sizes 2, 4, and 8. The goal is to map its throughput&amp;#8211;interactivity Pareto frontier and identify the point at which the persistent Engine Kernel&amp;#8217;s latency advantage begins to flatten.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h1&gt;Perf per TCO of TileRT Ultra Fast Speed&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Next, we do an deep dive analysis on TileRT&amp;#8217;s cost per million output tokens at ultra-high interactivity compared to decode at normal lower-interactivity operating points. The results are quite interesting with TileRT boosting up to 1.9x faster interactivity when iso-cost with traditional engines. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;We use our AI TCO Model as baseline for the capex &amp;amp; opex for each chip SKU.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/ultra-high-interactivity-on-nvidia"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-09T20:51:35+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/spacex-10gw-in-2027-why-its-real</id>
    <title>SpaceX 10GW in 2027 – Why It’s Real, Will Drive $300B ARR for SpaceX, and Why Microsoft Will Be the Largest Offtaker</title>
    <updated>2026-08-07T12:08:04+00:00</updated>
    <author>
      <name>Jeremie Eliahou Ontiveros</name>
    </author>
    <content type="html">&lt;p&gt;Elon Musk shocked the world, once again, when he announced on SpaceX&amp;#8217;s first earnings his Gigawatt ambitions for next year. He &amp;#8220;conservatively&amp;#8221; aims to build &amp;amp; deliver an incremental 6-8GW in 2027 alone, with potential for that number to be well above +10GW. At 50B per GW, that&amp;#8217;s $300-500B in capex in 2027, on par with what we expect from AWS and Google &amp;#8211; an unbelievable number for a company significantly less profitable than rival hyperscalers.&lt;/p&gt;&lt;p&gt;Yet, we believe that the number is real. We see SpaceX on track to build &lt;span&gt;about 10GW by year-end 2027&lt;/span&gt;. We&amp;#8217;ve evaluated all sites suitable for SpaceX and provided the list to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Mode&lt;/a&gt;l subscribers. Our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model subscribers&lt;/a&gt; also have the precise list of gas generation equipment available, quarter by quarter, by 30+ turbine, engine, fuel cell suppliers. We provided much of this data, before the market woke up to it.&lt;/p&gt;&lt;p&gt;&lt;span&gt;SpaceX will develop anything they can and bring it online as fast as possible. As explained in our Meta Compute deep dive, large-scale + near-term compute is a remarkably scarce combination, and it&amp;#8217;s priced at a huge premium &amp;#8211; up to $50B/GW/year. However, AI labs can handle it and make a good living off it. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and our &lt;/span&gt;&lt;a href="https://semianalysis.com/consulting/"&gt;&lt;span&gt;Inference Simulator&lt;/span&gt;&lt;/a&gt;&lt;span&gt; demonstrate that at realistic performance levels (e.g. tokens/sec per GPU), &lt;/span&gt;&lt;strong&gt;&lt;span&gt;both OpenAI and Anthropic can generate over $100B/GW/year of revenue when selling API inference on a GB300 cluster&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. This is significantly more than the costs of renting a GB300 cluster for a year at current neocloud prices. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Serving inference tokens is unbelievably profitable for the frontier model companies.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zBPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1a2ba-c403-46a0-a0e6-a1724ad8cb17_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!zBPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1a2ba-c403-46a0-a0e6-a1724ad8cb17_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;, SemiAnalysis Inference Simulator&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We assume around $12B/GW/year of cost per year, using a conservative rental pricing rate of $3/GPU-hr, and make a token production estimate using our &lt;a href="http://semianalysis.com/consulting"&gt;Inference Simulator&lt;/a&gt; with a frontier-class model architecture and our agentic coding benchmark, &lt;a href="https://inferencemax.ai/"&gt;AgentX (part of InferenceX&lt;/a&gt;), which is built by collecting real production coding traces. We blend that token production rate between input, cache-read, cache-write, and output token costs at our real workload ratios, and produce the final estimate, exceeding $100B/GW/year.&lt;/p&gt;&lt;p&gt;For background, our &lt;a href="https://semianalysis.com/consulting"&gt;Inference Simulator&lt;/a&gt; is built from the ground up with a fundamental understanding of how modern AI accelerators work. We build a roofline and realistic performance model for how frontier models work during inference, with timings for every operation and a real trace output. It is an end-to-end simulation of the actual workload executing on the actual silicon. We have validated the simulators fidelity on a wide range of accelerators and workloads and continue to improve its ability to accurately forecast performance of future accelerators based on design specifications.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rNmG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e508607-fc09-402e-b1b1-2a3d4a4ca88e_1200x598.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!rNmG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e508607-fc09-402e-b1b1-2a3d4a4ca88e_1200x598.jpeg" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Fine-grained data covering end-to-end simulated workload execution on silicon&amp;#8203; produces real profiler traces for analysis with standard tools such as Perfetto. Source: &lt;a href="https://semianalysis.com/consulting"&gt;SemiAnalysis Inference Simulator&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6tVu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda1d160f-cc47-49a9-8cf9-002d41972d22_1151x675.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!6tVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda1d160f-cc47-49a9-8cf9-002d41972d22_1151x675.jpeg" width="1151" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;High-level projections are produced across common inference workloads and hardware platforms across the pareto frontier. Source: &lt;a href="https://semianalysis.com/consulting"&gt;SemiAnlaysis Inference Simulator&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Please reach out to &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt; for more information on how we apply the Inference Simulator for custom research and analysis.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond OpenAI and Anthropic, there is actually&lt;/span&gt; a third company in the world capable of printing such economics per GW: Microsoft. Having &lt;strong&gt;full access to OpenAI models&lt;/strong&gt;, they can generate the exact same revenue and margin per MW, while paying none of the training costs. &lt;strong&gt;Satya nailed the negotiations with OpenAI: the deal reworked in April 2026 dropped the old 20% revenue share from the equation. &lt;/strong&gt;Put simply, Microsoft has a giant incentive to procure as many MWs as possible, as fast as possible. While much of their datacenter capacity currently goes to OpenAI at ~14M/MW/year, they have the opportunity to improve that mix. The potential impact is Microsoft Azure accelerating revenue growth from ~42% to over 100% by next year. A once-in-a-generation opportunity, that SpaceX is incredibly well positioned to serve.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!30xP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c326c26-195e-461f-b2cc-18e88b7fe29d_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!30xP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c326c26-195e-461f-b2cc-18e88b7fe29d_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;While Microsoft signing 3GW with SpaceX for 50B/GW/year sounds insane, we view it as realistic for two reasons:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;1/ Microsoft is already preparing for an epic datacenter ramp. As discussed below, they&amp;#8217;ve signed 10GW of contracts year-to-date, for over $300B of total contract value. We expect much more to be signed. Caveat: these contracts contribute to late 2027 and 2028 capacity. There is a near-term gap to fill. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;2/ With a 90-day cancellation policy, similar to other SpaceX contracts, there is zero balance sheet risk. This is remarkably easy for Amy Hood to sign off, given the revenue opportunity. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For SpaceX, the next natural question is financing. How can Elon afford to pay so much CapEx without the balance sheet of the leading hyperscalers? We expect a combination of the two following items:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;1/ Support from Nvidia, in the form of vendor financing to lower the upfront cash cost. This is likely why Elon declared to be Nvidia exclusive on the earnings call! As our Accelerator Model has repeatedly explained, xAI/SpaceX have actively evaluated alternatives like TPU and AMD &amp;#8211; so the financial argument likely made them abandon these and focus on Nvidia.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;2/ Industry-high pricing, enabled by fastest timelines: SpaceX will continue to sell large-scale compute with 3-5 months lead time, an unbeatable offering, and price it accordingly at 30-50M/MW/year. That pays back the capex in less than a year. We dived into this in our &lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;Meta Compute&lt;/a&gt; article. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Of course, the implications of this are a path to $300B of ARR by the end of 2027 for SpaceX. This assumes only 50% of their 2027 incremental compute is monetized, the reminder being for the Grok &amp;amp; Cursor teams for training (no inference revenue modelled).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ux9Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731a10f2-4e94-4d9c-abe7-b3bf1f93ccb0_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!Ux9Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731a10f2-4e94-4d9c-abe7-b3bf1f93ccb0_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s now dig in. We begin with Microsoft, who has spectacularly, finally, woken up: last year&amp;#8217;s pause has reverted, with 10GW of signed binding contracts year-to-date. We&amp;#8217;ll briefly discuss economics to get to $100M/MW/year of inference revenue. We then shift to SpaceX and analyze their datacenter ramp, and the feasibility to achieve 10GW+ by year-end 2027.&lt;/p&gt;&lt;h1&gt;Microsoft&amp;#8217;s 10GW awakening to capture the 100M/MW/year opportunity&lt;/h1&gt;&lt;p&gt;In December 2024, we called out before anyone else in our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; a dramatic pause in Microsoft&amp;#8217;s leasing activity. Today, the giant awakened. &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Our models tracks quarter-by-quarter leasing activity, neocloud contracting, self-build construction starts, and large-scale binding PPAs and ESAs.&lt;/a&gt; We show below the outputs. Microsoft has contracted over 10GW across all these surfaces, which is the equivalent of ~$300B in new binding commitments.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HzYG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2151a0ea-4cb2-4d92-bca2-629635199d33_1248x666.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="The SemiAnalysis diagram illustrates Microsoft's projected growth in energy contracts and construction activities for the years 2025 and 2026.

AI-generated content may be incorrect." class="sizing-normal" height="666" src="https://substackcdn.com/image/fetch/$s_!HzYG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2151a0ea-4cb2-4d92-bca2-629635199d33_1248x666.png" title="The SemiAnalysis diagram illustrates Microsoft's projected growth in energy contracts and construction activities for the years 2025 and 2026.

AI-generated content may be incorrect." width="1248" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A key reason for this awakening is their desperate need for compute to capture a $100M/MW/Year revenue opportunity. Microsoft signed in October 2025 a $250B agreement with OpenAI, which we estimate at ~7GW in total in our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; &amp;#8211; the world&amp;#8217;s best tool to understand the nuances of the dollar-to-watt math. This massive Infrastructure-as-a-Service deal has left Microsoft highly compute-constrained on their other use-cases. They&amp;#8217;ve been unable to leverage their access to OpenAI models for their API business Foundry, or for their applications like Copilot.&lt;/p&gt;&lt;p&gt;Yet, these are the services that come at the highest margin and revenue per MW, by far. We&amp;#8217;ve explained that in depth in our &lt;a href="https://newsletter.semianalysis.com/p/ai-value-capture-the-shift-to-model"&gt;AI Value Capture piece&lt;/a&gt;.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Over the past month, it&amp;#8217;s finally become consensus among sophisticated investors that serving frontier tokens at API prices is actually an extremely high margin business. We were the first to call this out to our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers back in &lt;a href="https://semianalysis.com/institutional/inference-gross-margin-framework-model-providers-dynamically-control-economics-via-interactivity-or-user-happiness/"&gt;Janurary&lt;/a&gt;, when we explained why inference gross margins are north of 60%. Then in June, we followed up with a &lt;a href="https://semianalysis.com/institutional/anthropic-likely-has-85-api-gross-margins/"&gt;deep dive&lt;/a&gt; that showed how Opus 4.8 in particular had 85%+ margins. This has since become the default number everyone cites when analyzing Anthropic.&lt;/p&gt;&lt;p&gt;To arrive at these margin estimates, we had to carefully synthesize leaked financials, &lt;a href="https://inferencex.semianalysis.com"&gt;InferenceX&lt;/a&gt; data, microbenchmarks on all the latest accelerators in the industry, papers, blogs and tweets from open source labs, and more. New datapoints such as the &lt;a href="https://news.pedaily.cn/202607/566749.shtml"&gt;leaked DeepSeek investor call&lt;/a&gt; (which said they have a 10-month GPU payback period) confirm we&amp;#8217;re in the right ballpark, but we&amp;#8217;ll be the first to admit that the lack of granularity is extremely unsatisfying. &lt;strong&gt;Rather than a single company wide inference gross margin number, what you really want to know is the gross margin for every (model, accelerator) combo along the entire throughput vs latency pareto frontier. &lt;/strong&gt;For example, what&amp;#8217;s the gross margin for serving Opus 5 Fast on Trainium3 vs Fable 5 on TPUv7?&lt;/p&gt;&lt;p&gt;&lt;span&gt;We answer that question with our &lt;/span&gt;&lt;a href="https://semianalysis.com/consulting"&gt;&lt;span&gt;Inference Simulator&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, available exclusively to SemiAnalysis consulting clients.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO&lt;/a&gt; model already answers the cost side of the equation, but the revenue side has historically been unknowable. &lt;span&gt;To solve this, we wrote a simulation framework that simulates real model execution on virtual hardware, backed by tuned fine-grained performance models covering a variety of accelerators and operation types. We run each model on simulated XPUs across every possible serving configuration, with a mix of real-world and idealized serving conditions. This allows us to, given some well-informed assumptions about model architecture, accurately estimate the performance of any combination of software, hardware, and workload.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Thanks to this simulator, &lt;strong&gt;our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; now includes high-level revenue per MW numbers for running the flagship OpenAI/Anthropic models on all the relevant chips.&lt;/strong&gt; Workload shape is obviously a huge factor, and we simulate running over $1M worth of agentic traces collected from our own usage while meeting the real interactivity and TTFT levels observed from hitting first party endpoints. As a teaser, here are our numbers for serving Fable 5 on GB200 vs GB300:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TucO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408b0a52-7932-4bdd-ae9c-5fa7a159845b_1247x620.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="620" src="https://substackcdn.com/image/fetch/$s_!TucO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408b0a52-7932-4bdd-ae9c-5fa7a159845b_1247x620.png" width="1247" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;This is Microsoft&amp;#8217;s $100M per MW opportunity.&lt;/strong&gt; Given the recent surge in Codex demand and corresponding OpenAI ARR acceleration, we believe Microsoft would be able to monetize compute at similar rates by serving OAI models.&lt;/p&gt;&lt;p&gt;Now, to capture this once-in-a-lifetime opportunity, Microsoft and AI Labs datacenters, and they need them quick and big. SpaceX has already proven twice that they can build faster than others, but their compute capacity will &amp;#8220;only&amp;#8221; be 2GW by year-end 2026. Can they really build 10GW+ in just a single year, in 2027?&lt;/p&gt;&lt;h2&gt;SpaceX: building datacenters at a stellar pace&lt;/h2&gt;&lt;p&gt;In our &lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;Meta Compute&lt;/a&gt; article, &lt;span&gt;we explained in depth why Elon has proven, yet again, to be a commercial genius. He understands that AI lab margins have dramatically surged, and accordingly introduced a &amp;#8220;value-based pricing&amp;#8221; for his GPU clusters, as opposed to the more common &amp;#8220;cost plus&amp;#8221;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To keep the machine going, Elon needs to build datacenters faster than anyone else. We believe that he can. What gives us this confidence? We&amp;#8217;ve written a few times about &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/xais-colossus-2-first-gigawatt-datacenter"&gt;&lt;span&gt;Elon&amp;#8217;s speed,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with 122 days to build Colossus 1&amp;#8217;s 300MW, six months to build 200MW at Colossus 2, the decision to build an onsite generation plant 1km across the border to avoid permitting, and much more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There&amp;#8217;s been even more displays of speed since then. The power plant in Southaven has expanded from 27 turbines (~495MW) in February 2026, to 69 turbines (&amp;gt;1.2GW) in July 2026.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As well as the arrival of &amp;#8220;&lt;/span&gt;&lt;a href="https://x.com/elonmusk/status/2082613281328660734"&gt;&lt;span&gt;MiniHard&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which upon vertical construction in March 2026, will likely reach 450-500MW in just ~5 months!&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;That leaves more than enough time to build many such shells by 2027. It also was his first true greenfield, so he can probably do better for the next. Another option is, of course, to retrofit. Colossus 1 and 2 have been built remarkably fast through retrofits, as explained in our xAI deep dive last year.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Building 10+GW in a year will be a different story. SpaceX will need to scout all over the country to find suitable land, with easy permitting and access to gas. We however believe that there are more than enough options to support a material ramp-up. This will, naturally, extensively rely on onsite gas generation &amp;#8211; check our energy deep dives here to understand how it works and why it&amp;#8217;s necessary. &lt;/p&gt;&lt;p&gt;Beyond the paywall, we will discuss some of the sites that we suspect Elon might take.&lt;/p&gt;&lt;h1&gt;How is this possible?&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/spacex-10gw-in-2027-why-its-real"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/spacex-10gw-in-2027-why-its-real"/>
    <summary type="html">&lt;p&gt;Elon Musk shocked the world, once again, when he announced on SpaceX&amp;#8217;s first earnings his Gigawatt ambitions for next year. He &amp;#8220;conservatively&amp;#8221; aims to build &amp;amp; deliver an incremental 6-8GW in 2027 alone, with potential for that number to be well above +10GW. At 50B per GW, that&amp;#8217;s $300-500B in capex in 2027, on par with what we expect from AWS and Google &amp;#8211; an unbelievable number for a company significantly less profitable than rival hyperscalers.&lt;/p&gt;&lt;p&gt;Yet, we believe that the number is real. We see SpaceX on track to build &lt;span&gt;about 10GW by year-end 2027&lt;/span&gt;. We&amp;#8217;ve evaluated all sites suitable for SpaceX and provided the list to our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Mode&lt;/a&gt;l subscribers. Our &lt;a href="https://semianalysis.com/energy-model/"&gt;Energy Model subscribers&lt;/a&gt; also have the precise list of gas generation equipment available, quarter by quarter, by 30+ turbine, engine, fuel cell suppliers. We provided much of this data, before the market woke up to it.&lt;/p&gt;&lt;p&gt;&lt;span&gt;SpaceX will develop anything they can and bring it online as fast as possible. As explained in our Meta Compute deep dive, large-scale + near-term compute is a remarkably scarce combination, and it&amp;#8217;s priced at a huge premium &amp;#8211; up to $50B/GW/year. However, AI labs can handle it and make a good living off it. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and our &lt;/span&gt;&lt;a href="https://semianalysis.com/consulting/"&gt;&lt;span&gt;Inference Simulator&lt;/span&gt;&lt;/a&gt;&lt;span&gt; demonstrate that at realistic performance levels (e.g. tokens/sec per GPU), &lt;/span&gt;&lt;strong&gt;&lt;span&gt;both OpenAI and Anthropic can generate over $100B/GW/year of revenue when selling API inference on a GB300 cluster&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. This is significantly more than the costs of renting a GB300 cluster for a year at current neocloud prices. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Serving inference tokens is unbelievably profitable for the frontier model companies.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zBPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1a2ba-c403-46a0-a0e6-a1724ad8cb17_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!zBPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e1a2ba-c403-46a0-a0e6-a1724ad8cb17_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;, SemiAnalysis Inference Simulator&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;We assume around $12B/GW/year of cost per year, using a conservative rental pricing rate of $3/GPU-hr, and make a token production estimate using our &lt;a href="http://semianalysis.com/consulting"&gt;Inference Simulator&lt;/a&gt; with a frontier-class model architecture and our agentic coding benchmark, &lt;a href="https://inferencemax.ai/"&gt;AgentX (part of InferenceX&lt;/a&gt;), which is built by collecting real production coding traces. We blend that token production rate between input, cache-read, cache-write, and output token costs at our real workload ratios, and produce the final estimate, exceeding $100B/GW/year.&lt;/p&gt;&lt;p&gt;For background, our &lt;a href="https://semianalysis.com/consulting"&gt;Inference Simulator&lt;/a&gt; is built from the ground up with a fundamental understanding of how modern AI accelerators work. We build a roofline and realistic performance model for how frontier models work during inference, with timings for every operation and a real trace output. It is an end-to-end simulation of the actual workload executing on the actual silicon. We have validated the simulators fidelity on a wide range of accelerators and workloads and continue to improve its ability to accurately forecast performance of future accelerators based on design specifications.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rNmG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e508607-fc09-402e-b1b1-2a3d4a4ca88e_1200x598.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!rNmG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e508607-fc09-402e-b1b1-2a3d4a4ca88e_1200x598.jpeg" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Fine-grained data covering end-to-end simulated workload execution on silicon&amp;#8203; produces real profiler traces for analysis with standard tools such as Perfetto. Source: &lt;a href="https://semianalysis.com/consulting"&gt;SemiAnalysis Inference Simulator&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6tVu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda1d160f-cc47-49a9-8cf9-002d41972d22_1151x675.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!6tVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda1d160f-cc47-49a9-8cf9-002d41972d22_1151x675.jpeg" width="1151" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;High-level projections are produced across common inference workloads and hardware platforms across the pareto frontier. Source: &lt;a href="https://semianalysis.com/consulting"&gt;SemiAnlaysis Inference Simulator&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Please reach out to &lt;a href="mailto:sales@semianalysis.com"&gt;sales@semianalysis.com&lt;/a&gt; for more information on how we apply the Inference Simulator for custom research and analysis.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond OpenAI and Anthropic, there is actually&lt;/span&gt; a third company in the world capable of printing such economics per GW: Microsoft. Having &lt;strong&gt;full access to OpenAI models&lt;/strong&gt;, they can generate the exact same revenue and margin per MW, while paying none of the training costs. &lt;strong&gt;Satya nailed the negotiations with OpenAI: the deal reworked in April 2026 dropped the old 20% revenue share from the equation. &lt;/strong&gt;Put simply, Microsoft has a giant incentive to procure as many MWs as possible, as fast as possible. While much of their datacenter capacity currently goes to OpenAI at ~14M/MW/year, they have the opportunity to improve that mix. The potential impact is Microsoft Azure accelerating revenue growth from ~42% to over 100% by next year. A once-in-a-generation opportunity, that SpaceX is incredibly well positioned to serve.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!30xP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c326c26-195e-461f-b2cc-18e88b7fe29d_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!30xP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c326c26-195e-461f-b2cc-18e88b7fe29d_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;While Microsoft signing 3GW with SpaceX for 50B/GW/year sounds insane, we view it as realistic for two reasons:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;1/ Microsoft is already preparing for an epic datacenter ramp. As discussed below, they&amp;#8217;ve signed 10GW of contracts year-to-date, for over $300B of total contract value. We expect much more to be signed. Caveat: these contracts contribute to late 2027 and 2028 capacity. There is a near-term gap to fill. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;2/ With a 90-day cancellation policy, similar to other SpaceX contracts, there is zero balance sheet risk. This is remarkably easy for Amy Hood to sign off, given the revenue opportunity. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For SpaceX, the next natural question is financing. How can Elon afford to pay so much CapEx without the balance sheet of the leading hyperscalers? We expect a combination of the two following items:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;1/ Support from Nvidia, in the form of vendor financing to lower the upfront cash cost. This is likely why Elon declared to be Nvidia exclusive on the earnings call! As our Accelerator Model has repeatedly explained, xAI/SpaceX have actively evaluated alternatives like TPU and AMD &amp;#8211; so the financial argument likely made them abandon these and focus on Nvidia.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;2/ Industry-high pricing, enabled by fastest timelines: SpaceX will continue to sell large-scale compute with 3-5 months lead time, an unbeatable offering, and price it accordingly at 30-50M/MW/year. That pays back the capex in less than a year. We dived into this in our &lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;Meta Compute&lt;/a&gt; article. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Of course, the implications of this are a path to $300B of ARR by the end of 2027 for SpaceX. This assumes only 50% of their 2027 incremental compute is monetized, the reminder being for the Grok &amp;amp; Cursor teams for training (no inference revenue modelled).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ux9Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731a10f2-4e94-4d9c-abe7-b3bf1f93ccb0_2700x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!Ux9Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731a10f2-4e94-4d9c-abe7-b3bf1f93ccb0_2700x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s now dig in. We begin with Microsoft, who has spectacularly, finally, woken up: last year&amp;#8217;s pause has reverted, with 10GW of signed binding contracts year-to-date. We&amp;#8217;ll briefly discuss economics to get to $100M/MW/year of inference revenue. We then shift to SpaceX and analyze their datacenter ramp, and the feasibility to achieve 10GW+ by year-end 2027.&lt;/p&gt;&lt;h1&gt;Microsoft&amp;#8217;s 10GW awakening to capture the 100M/MW/year opportunity&lt;/h1&gt;&lt;p&gt;In December 2024, we called out before anyone else in our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; a dramatic pause in Microsoft&amp;#8217;s leasing activity. Today, the giant awakened. &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Our models tracks quarter-by-quarter leasing activity, neocloud contracting, self-build construction starts, and large-scale binding PPAs and ESAs.&lt;/a&gt; We show below the outputs. Microsoft has contracted over 10GW across all these surfaces, which is the equivalent of ~$300B in new binding commitments.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HzYG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2151a0ea-4cb2-4d92-bca2-629635199d33_1248x666.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="The SemiAnalysis diagram illustrates Microsoft's projected growth in energy contracts and construction activities for the years 2025 and 2026.

AI-generated content may be incorrect." class="sizing-normal" height="666" src="https://substackcdn.com/image/fetch/$s_!HzYG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2151a0ea-4cb2-4d92-bca2-629635199d33_1248x666.png" title="The SemiAnalysis diagram illustrates Microsoft's projected growth in energy contracts and construction activities for the years 2025 and 2026.

AI-generated content may be incorrect." width="1248" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A key reason for this awakening is their desperate need for compute to capture a $100M/MW/Year revenue opportunity. Microsoft signed in October 2025 a $250B agreement with OpenAI, which we estimate at ~7GW in total in our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; &amp;#8211; the world&amp;#8217;s best tool to understand the nuances of the dollar-to-watt math. This massive Infrastructure-as-a-Service deal has left Microsoft highly compute-constrained on their other use-cases. They&amp;#8217;ve been unable to leverage their access to OpenAI models for their API business Foundry, or for their applications like Copilot.&lt;/p&gt;&lt;p&gt;Yet, these are the services that come at the highest margin and revenue per MW, by far. We&amp;#8217;ve explained that in depth in our &lt;a href="https://newsletter.semianalysis.com/p/ai-value-capture-the-shift-to-model"&gt;AI Value Capture piece&lt;/a&gt;.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Over the past month, it&amp;#8217;s finally become consensus among sophisticated investors that serving frontier tokens at API prices is actually an extremely high margin business. We were the first to call this out to our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers back in &lt;a href="https://semianalysis.com/institutional/inference-gross-margin-framework-model-providers-dynamically-control-economics-via-interactivity-or-user-happiness/"&gt;Janurary&lt;/a&gt;, when we explained why inference gross margins are north of 60%. Then in June, we followed up with a &lt;a href="https://semianalysis.com/institutional/anthropic-likely-has-85-api-gross-margins/"&gt;deep dive&lt;/a&gt; that showed how Opus 4.8 in particular had 85%+ margins. This has since become the default number everyone cites when analyzing Anthropic.&lt;/p&gt;&lt;p&gt;To arrive at these margin estimates, we had to carefully synthesize leaked financials, &lt;a href="https://inferencex.semianalysis.com"&gt;InferenceX&lt;/a&gt; data, microbenchmarks on all the latest accelerators in the industry, papers, blogs and tweets from open source labs, and more. New datapoints such as the &lt;a href="https://news.pedaily.cn/202607/566749.shtml"&gt;leaked DeepSeek investor call&lt;/a&gt; (which said they have a 10-month GPU payback period) confirm we&amp;#8217;re in the right ballpark, but we&amp;#8217;ll be the first to admit that the lack of granularity is extremely unsatisfying. &lt;strong&gt;Rather than a single company wide inference gross margin number, what you really want to know is the gross margin for every (model, accelerator) combo along the entire throughput vs latency pareto frontier. &lt;/strong&gt;For example, what&amp;#8217;s the gross margin for serving Opus 5 Fast on Trainium3 vs Fable 5 on TPUv7?&lt;/p&gt;&lt;p&gt;&lt;span&gt;We answer that question with our &lt;/span&gt;&lt;a href="https://semianalysis.com/consulting"&gt;&lt;span&gt;Inference Simulator&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, available exclusively to SemiAnalysis consulting clients.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO&lt;/a&gt; model already answers the cost side of the equation, but the revenue side has historically been unknowable. &lt;span&gt;To solve this, we wrote a simulation framework that simulates real model execution on virtual hardware, backed by tuned fine-grained performance models covering a variety of accelerators and operation types. We run each model on simulated XPUs across every possible serving configuration, with a mix of real-world and idealized serving conditions. This allows us to, given some well-informed assumptions about model architecture, accurately estimate the performance of any combination of software, hardware, and workload.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Thanks to this simulator, &lt;strong&gt;our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; now includes high-level revenue per MW numbers for running the flagship OpenAI/Anthropic models on all the relevant chips.&lt;/strong&gt; Workload shape is obviously a huge factor, and we simulate running over $1M worth of agentic traces collected from our own usage while meeting the real interactivity and TTFT levels observed from hitting first party endpoints. As a teaser, here are our numbers for serving Fable 5 on GB200 vs GB300:&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TucO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408b0a52-7932-4bdd-ae9c-5fa7a159845b_1247x620.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="620" src="https://substackcdn.com/image/fetch/$s_!TucO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408b0a52-7932-4bdd-ae9c-5fa7a159845b_1247x620.png" width="1247" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;This is Microsoft&amp;#8217;s $100M per MW opportunity.&lt;/strong&gt; Given the recent surge in Codex demand and corresponding OpenAI ARR acceleration, we believe Microsoft would be able to monetize compute at similar rates by serving OAI models.&lt;/p&gt;&lt;p&gt;Now, to capture this once-in-a-lifetime opportunity, Microsoft and AI Labs datacenters, and they need them quick and big. SpaceX has already proven twice that they can build faster than others, but their compute capacity will &amp;#8220;only&amp;#8221; be 2GW by year-end 2026. Can they really build 10GW+ in just a single year, in 2027?&lt;/p&gt;&lt;h2&gt;SpaceX: building datacenters at a stellar pace&lt;/h2&gt;&lt;p&gt;In our &lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;Meta Compute&lt;/a&gt; article, &lt;span&gt;we explained in depth why Elon has proven, yet again, to be a commercial genius. He understands that AI lab margins have dramatically surged, and accordingly introduced a &amp;#8220;value-based pricing&amp;#8221; for his GPU clusters, as opposed to the more common &amp;#8220;cost plus&amp;#8221;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To keep the machine going, Elon needs to build datacenters faster than anyone else. We believe that he can. What gives us this confidence? We&amp;#8217;ve written a few times about &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/xais-colossus-2-first-gigawatt-datacenter"&gt;&lt;span&gt;Elon&amp;#8217;s speed,&lt;/span&gt;&lt;/a&gt;&lt;span&gt; with 122 days to build Colossus 1&amp;#8217;s 300MW, six months to build 200MW at Colossus 2, the decision to build an onsite generation plant 1km across the border to avoid permitting, and much more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There&amp;#8217;s been even more displays of speed since then. The power plant in Southaven has expanded from 27 turbines (~495MW) in February 2026, to 69 turbines (&amp;gt;1.2GW) in July 2026.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As well as the arrival of &amp;#8220;&lt;/span&gt;&lt;a href="https://x.com/elonmusk/status/2082613281328660734"&gt;&lt;span&gt;MiniHard&lt;/span&gt;&lt;/a&gt;&lt;span&gt;,&amp;#8221; which upon vertical construction in March 2026, will likely reach 450-500MW in just ~5 months!&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;That leaves more than enough time to build many such shells by 2027. It also was his first true greenfield, so he can probably do better for the next. Another option is, of course, to retrofit. Colossus 1 and 2 have been built remarkably fast through retrofits, as explained in our xAI deep dive last year.&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;Building 10+GW in a year will be a different story. SpaceX will need to scout all over the country to find suitable land, with easy permitting and access to gas. We however believe that there are more than enough options to support a material ramp-up. This will, naturally, extensively rely on onsite gas generation &amp;#8211; check our energy deep dives here to understand how it works and why it&amp;#8217;s necessary. &lt;/p&gt;&lt;p&gt;Beyond the paywall, we will discuss some of the sites that we suspect Elon might take.&lt;/p&gt;&lt;h1&gt;How is this possible?&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/spacex-10gw-in-2027-why-its-real"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-07T12:08:04+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/gemini-is-cooked-but-gcp-is-cooking</id>
    <title>Gemini is Cooked but GCP is Cooking</title>
    <updated>2026-08-06T18:32:44+00:00</updated>
    <author>
      <name>Max Kan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;On Wednesday, August 5th, Google &lt;/span&gt;&lt;a href="https://blog.google/company-news/inside-google/message-ceo/next-chapter-ai-momentum/"&gt;&lt;span&gt;announced&lt;/span&gt;&lt;/a&gt;&lt;span&gt; a complete overhaul of DeepMind leadership. A quick recap:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Demis Hassabis, DeepMind co-founder and former CEO, is no longer involved in day-to-day operations.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Jeff Dean, former Google Chief Scientist and Gemini co-lead is leaving to start a neolab called Discovery Loop. Jeff is the undisputed GOAT of Google engineering, co-founded Google Brain, and started the TPU program.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Joining Jeff are Sanjay Ghemawat, Quoc Le, and Oriol Vinyals. Sanjay and Quoc were both Google Fellows, which is a title reserved for the company&amp;#8217;s top dozen or so technical contributors.&lt;/span&gt;&lt;a class="footnote-anchor" href="https://newsletter.semianalysis.com/feed#footnote-1" id="footnote-anchor-1" target="_self"&gt;1&lt;/a&gt;&lt;span&gt; Oriol was a Gemini co-lead.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Koray Kavukcuoglu, former DeepMind CTO and the one remaining Gemini co-lead, is replacing Demis as the leader of DeepMind/Gemini.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Obviously these are not the actions of people excited about Gemini 4 Pro.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For all intents and purposes, we believe &lt;/span&gt;&lt;strong&gt;&lt;span&gt;DeepMind is no longer a frontier lab&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We said as much a few months ago to our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics&lt;/span&gt;&lt;/a&gt;&lt;span&gt; clients due to large numbers of departures from their reinforcement learning teams and poor compute allocation. Google will continue meandering on and releasing models, but their odds of reaching SOTA again have dropped to zero.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;biggest beneficiary&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; of today&amp;#8217;s news is neither Anthropic nor OpenAI&amp;#8212;it&amp;#8217;s &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Whereas Gemini and GCP used to desperately fight for compute allocation, it&amp;#8217;s now clear that Thomas Kurian won. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We expect GCP revenue growth to meaningfully accelerate as a result&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Gemini 3 Pro was the peak&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At the end of 2025, Anthropic, OpenAI, and Google were the clear AI big 3. Some still held this opinion as recent as last week, but the downfall of Gemini in 2026 was clear to those paying attention. Here&amp;#8217;s an excerpt from an &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/googles-fall-from-grace-why-gemini-3-pro-was-the-top-plus-some-thoughts-on-openai-msl-and-spacexai/"&gt;&lt;span&gt;institutional note&lt;/span&gt;&lt;/a&gt;&lt;span&gt; we published to our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; subscribers on &lt;/span&gt;&lt;strong&gt;&lt;span&gt;July 9th&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;In November 2025, Gemini 3 Pro was arguably the best model in the world, forcing Sam Altman to issue a &amp;#8220;code red&amp;#8221; at OpenAI.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Since then, the gap between Deepmind and OpenAI/Anthropic has widened dramatically. Gemini 3.5 Flash was a total flop, and &lt;strong&gt;industry chatter suggests the upcoming Gemini 3.5 Pro is roughly Opus 4.5 level&lt;/strong&gt;. This is quite literally worse than GLM 5.2, much less Fable 5 and GPT 5.6.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;We believe things will only get worse for Gemini, as Google lacks the religious conviction necessary for building RSI. We think it&amp;#8217;s likely both MSL and SpaceXAI surpass them in model quality by the end of this year.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Along with Noam Shazeer and John Jumper, most of the best RL people at Gemini recently left the company.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenAI has overcome their pre-training issues, and a much larger model code named &amp;#8220;Doug&amp;#8221; is actively in the works&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;The second to last point is worth emphasizing. Jeff, Sanjay, Quoc, and Oriol are just the latest in a long string of high profile departures from DeepMind. Despite discovering most of the foundational breakthroughs behind the current LLM paradigm, Google is now simply unable to retain top AI talent.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Notably, Jeff and co. have followed a playbook to create their neolab, Discovery Loop, that was established by David Silver of Ineffable Intelligence in November last year. To pursue their mission, top AI researchers are now choosing to leave Google, raise billions from outside investors and Google Ventures, and then spend that money on Nvidia GPUs in GCP.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;institutional note&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Google has silently canceled Gemini 3.5 Pro and is now &lt;/span&gt;&lt;a href="https://x.com/OfficialLoganK/status/2079594867161022817?s=20"&gt;&lt;span&gt;coping&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by hyping up Gemini 4 instead. As a bridge model, they released Gemini 3.6 Flash, but it&amp;#8217;s generally worse than Muse Spark 1.2, Grok 4.5, and the tier 1 Chinese open-source models. Depending on how you count, Gemini is currently in 8th or 9th place, and we don&amp;#8217;t see Gemini 4 reversing their downfall.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YSbT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c11127d-75d3-4b40-8ffa-8edbaab508b3_1976x1108.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!YSbT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c11127d-75d3-4b40-8ffa-8edbaab508b3_1976x1108.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Artificial Analysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At the same time, Gemini first-party API token growth has famously decelerated. Whereas they grew 60% in &lt;/span&gt;&lt;a href="https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q1-2026/"&gt;&lt;span&gt;1Q26&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, going from 10B to 16B tokens per minute, &lt;/span&gt;&lt;a href="https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q2-2026/"&gt;&lt;span&gt;2Q26&lt;/span&gt;&lt;/a&gt;&lt;span&gt; saw just 38% growth to 22B. This has caused a corresponding decline in Gemini 1P API revenue growth.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oG03!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf8ff61-9043-4226-b3e3-f296d8dd1b88_1955x918.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="684" src="https://substackcdn.com/image/fetch/$s_!oG03!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf8ff61-9043-4226-b3e3-f296d8dd1b88_1955x918.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Gemini Enterprise Agent Platform&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (formerly Vertex) &lt;/span&gt;&lt;strong&gt;&lt;span&gt;has been meaningfully stronger overall&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; thanks to third-party models like Claude. To see a full breakdown of Amazon Bedrock, Microsoft Foundry, and Google Vertex revenue separated by model provider, as well as all the implications for OpenAI and Anthropic, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;There&amp;#8217;s no substitute for conviction&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We believe Gemini&amp;#8217;s core issue has always been a fundamental lack of conviction. Compute is the lifeblood of AI progress, and all the AGI-pilled labs are desperately trying to acquire as much as possible.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, pre-paying multiple GWs is also very scary and expensive, especially if you don&amp;#8217;t have a rapidly growing, high margin API business. However, as we&amp;#8217;ve explained in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence"&gt;&lt;span&gt;previous&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;newsletters&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, there are creative ways to overcome this limitation and still monetize excess capacity at very attractive rates &lt;/span&gt;&lt;strong&gt;&lt;span&gt;while maintaining the optionality to claw everything back for your research team&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Explicitly, this is what we see happening at Meta and SpaceX.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Google, on the other hand, decided it was totally worth it to sell enormous amounts of compute to Gemini&amp;#8217;s fiercest competitors on long term contracts without any hope of ever returning it to DeepMind.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;More than 20% of total TPU shipments from 3Q26 to 4Q27 are being sold directly to Anthropic.&lt;/span&gt;&lt;a class="footnote-anchor" href="https://newsletter.semianalysis.com/feed#footnote-2" id="footnote-anchor-2" target="_self"&gt;2&lt;/a&gt;&lt;span&gt; This is excluding the hundreds of thousands of TPUs GCP already rents to Anthropic today, and the many hundreds of thousands more they&amp;#8217;ve committed to rent to Anthropic and Meta over the next 6 quarters.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6QGp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2873391-8508-4334-bd3e-5964ff75a1cd_2075x1013.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="711" src="https://substackcdn.com/image/fetch/$s_!6QGp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2873391-8508-4334-bd3e-5964ff75a1cd_2075x1013.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For full details on the number of TPUs, GPUs, Trainiums, etc being produced each quarter till 2030 and their end customers, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If you&amp;#8217;ve ever listened to an interview of Google Cloud CEO Thomas Kurian, you know he is not AGI pilled. In one &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=bNdiBwXbLNw"&gt;&lt;span&gt;podcast&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, for example, he argued that it&amp;#8217;s great for TPUs to become &amp;#8220;general purpose infrastructure&amp;#8221; that supports customers like Citadel, the Department of Energy, and generic high performance computing. And when asked why he was selling compute to Anthropic despite them competing with Gemini, he said this was the natural consequence of Google being a &amp;#8220;platform company.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This same man likely just won a major internal political battle to have even more control over Google&amp;#8217;s compute allocation.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Attempting to steelman DeepMind&amp;#8217;s frontier ambitions&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve obviously been quite bearish on DeepMind thus far, and if we had to steelman the case for why they&amp;#8217;ll still be able to train a true SOTA model in the future, it would go something like the following:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The current setup clearly wasn&amp;#8217;t working. With the existing leadership team, their odds of catching up to Anthropic/OpenAI looked extremely slim.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Now that they&amp;#8217;ve cleaned house, the new guys can start from a blank slate. Maybe they&amp;#8217;ll even acqui-hire a neolab like SSI or Thinking Machines.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;With this new team, their odds of catching up to the frontier actually increase.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Perhaps there&amp;#8217;s some world in which this happens, but we think the odds are basically zero. The issue with Google was not Jeff Dean nor Noam Shazeer, but rather their extremely bureaucratic, painfully slow, and strategically timid culture. &lt;/span&gt;&lt;a href="https://x.com/thsottiaux/status/2083596911060324570"&gt;&lt;span&gt;Remember&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that DeepMind had an AI chatbot 1 year before ChatGPT but was not allowed to release it due to fears of disrupting their core business.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4FT2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c20d1a-8bcf-4861-a8dc-0a96d2963392_1041x745.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="745" src="https://substackcdn.com/image/fetch/$s_!4FT2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c20d1a-8bcf-4861-a8dc-0a96d2963392_1041x745.png" width="1041" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tibo on X&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Tibo, funny enough, is another great example of brain drain from Google. A 9 year Google/DeepMind veteran, he left in July 2024 to join OpenAI, co-led the original coding agent team, and is now the head of Codex. Meanwhile, Google &amp;#8220;acquired&amp;#8221; Windsurf to build its own agentic coding platform in July 2025, and they don&amp;#8217;t exactly have much wind in their sails thus far.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s also not forget that DeepMind was the original AI acqui-hire! And with the benefit of 12 years&amp;#8217; hindsight, we now know how that played out. Adding another neolab to the roster would likely just result in more of the same.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;The Financialization of GCP&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; estimates that Gemini ARR was $12B in 2Q26. In contrast, by the end of 2027, GCP will be doing over $73B in third party AI ARR IaaS/TaaS and another $120B of TPU sales. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;$200B of external sales at high 30s EBIT margins vs a first party business generating just $12B today shows where the focus is&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Google management is clear: the short term benefits from focusing GCP on financialization is worth abandoning any long term competitiveness at the frontier.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JyWs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1799850-cdf8-4545-9eb8-a1641666892f_2187x1094.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="728" src="https://substackcdn.com/image/fetch/$s_!JyWs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1799850-cdf8-4545-9eb8-a1641666892f_2187x1094.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Despite the weaknesses with Gemini, GCP continues to accelerate. This last quarter, GCP growth was 82%. However, that wasn&amp;#8217;t all from what we would traditionally call the &amp;#8220;cloud&amp;#8221; business. GCP has a new revenue source in selling full systems of its TPUs to external SPVs that run datacenters for customers such as Anthropic. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;These TPU sales are accounted for on a gross basis at ~$35B/GW&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. In 2Q26, we estimate that TPU sales were around $1.2B in the quarter, and thus core GCP grew in the low 70s. Given over $150B of TPU systems backlog, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;these TPU system sales will drive GCP&amp;#8217;s 2027 growth rate into the mid 100s vs sellside consensus at 64%&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lfS9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc76e1d-e524-4ba4-9744-c1d64400edd6_1987x980.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="718" src="https://substackcdn.com/image/fetch/$s_!lfS9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc76e1d-e524-4ba4-9744-c1d64400edd6_1987x980.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Although EBIT margins for these system sales are slightly lower than core cloud margins in the low 30% range, we still expect total GCP to deliver mid to high 30s EBIT margins going forward. How investors decide to capitalize the current TPU backlog and any large future sales is an open question. However, given the strong compute demand from labs, we expect more multi-GW deals to be announced soon adding to this backlog. In all, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;we estimate that over $250B of additional TPU Bookings could be added to GCP RPO in coming quarters&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Until then, this eye-popping acceleration in GCP growth coupled with good margins will &lt;/span&gt;&lt;strong&gt;&lt;span&gt;add ~$3 to Google EPS in 2027&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For an even more detailed breakdown of Amazon, Microsoft, and Oracle&amp;#8217;s cloud businesses, as well as updated Google projections come earnings season, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Be Careful What you Wish For&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/gemini-is-cooked-but-gcp-is-cooking"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/gemini-is-cooked-but-gcp-is-cooking"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;On Wednesday, August 5th, Google &lt;/span&gt;&lt;a href="https://blog.google/company-news/inside-google/message-ceo/next-chapter-ai-momentum/"&gt;&lt;span&gt;announced&lt;/span&gt;&lt;/a&gt;&lt;span&gt; a complete overhaul of DeepMind leadership. A quick recap:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Demis Hassabis, DeepMind co-founder and former CEO, is no longer involved in day-to-day operations.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Jeff Dean, former Google Chief Scientist and Gemini co-lead is leaving to start a neolab called Discovery Loop. Jeff is the undisputed GOAT of Google engineering, co-founded Google Brain, and started the TPU program.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Joining Jeff are Sanjay Ghemawat, Quoc Le, and Oriol Vinyals. Sanjay and Quoc were both Google Fellows, which is a title reserved for the company&amp;#8217;s top dozen or so technical contributors.&lt;/span&gt;&lt;a class="footnote-anchor" href="https://newsletter.semianalysis.com/feed#footnote-1" id="footnote-anchor-1" target="_self"&gt;1&lt;/a&gt;&lt;span&gt; Oriol was a Gemini co-lead.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Koray Kavukcuoglu, former DeepMind CTO and the one remaining Gemini co-lead, is replacing Demis as the leader of DeepMind/Gemini.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Obviously these are not the actions of people excited about Gemini 4 Pro.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For all intents and purposes, we believe &lt;/span&gt;&lt;strong&gt;&lt;span&gt;DeepMind is no longer a frontier lab&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We said as much a few months ago to our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics&lt;/span&gt;&lt;/a&gt;&lt;span&gt; clients due to large numbers of departures from their reinforcement learning teams and poor compute allocation. Google will continue meandering on and releasing models, but their odds of reaching SOTA again have dropped to zero.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;biggest beneficiary&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; of today&amp;#8217;s news is neither Anthropic nor OpenAI&amp;#8212;it&amp;#8217;s &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Google Cloud&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Whereas Gemini and GCP used to desperately fight for compute allocation, it&amp;#8217;s now clear that Thomas Kurian won. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We expect GCP revenue growth to meaningfully accelerate as a result&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Gemini 3 Pro was the peak&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At the end of 2025, Anthropic, OpenAI, and Google were the clear AI big 3. Some still held this opinion as recent as last week, but the downfall of Gemini in 2026 was clear to those paying attention. Here&amp;#8217;s an excerpt from an &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/googles-fall-from-grace-why-gemini-3-pro-was-the-top-plus-some-thoughts-on-openai-msl-and-spacexai/"&gt;&lt;span&gt;institutional note&lt;/span&gt;&lt;/a&gt;&lt;span&gt; we published to our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; subscribers on &lt;/span&gt;&lt;strong&gt;&lt;span&gt;July 9th&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;In November 2025, Gemini 3 Pro was arguably the best model in the world, forcing Sam Altman to issue a &amp;#8220;code red&amp;#8221; at OpenAI.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Since then, the gap between Deepmind and OpenAI/Anthropic has widened dramatically. Gemini 3.5 Flash was a total flop, and &lt;strong&gt;industry chatter suggests the upcoming Gemini 3.5 Pro is roughly Opus 4.5 level&lt;/strong&gt;. This is quite literally worse than GLM 5.2, much less Fable 5 and GPT 5.6.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;We believe things will only get worse for Gemini, as Google lacks the religious conviction necessary for building RSI. We think it&amp;#8217;s likely both MSL and SpaceXAI surpass them in model quality by the end of this year.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Along with Noam Shazeer and John Jumper, most of the best RL people at Gemini recently left the company.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenAI has overcome their pre-training issues, and a much larger model code named &amp;#8220;Doug&amp;#8221; is actively in the works&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;The second to last point is worth emphasizing. Jeff, Sanjay, Quoc, and Oriol are just the latest in a long string of high profile departures from DeepMind. Despite discovering most of the foundational breakthroughs behind the current LLM paradigm, Google is now simply unable to retain top AI talent.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Notably, Jeff and co. have followed a playbook to create their neolab, Discovery Loop, that was established by David Silver of Ineffable Intelligence in November last year. To pursue their mission, top AI researchers are now choosing to leave Google, raise billions from outside investors and Google Ventures, and then spend that money on Nvidia GPUs in GCP.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;institutional note&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Google has silently canceled Gemini 3.5 Pro and is now &lt;/span&gt;&lt;a href="https://x.com/OfficialLoganK/status/2079594867161022817?s=20"&gt;&lt;span&gt;coping&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by hyping up Gemini 4 instead. As a bridge model, they released Gemini 3.6 Flash, but it&amp;#8217;s generally worse than Muse Spark 1.2, Grok 4.5, and the tier 1 Chinese open-source models. Depending on how you count, Gemini is currently in 8th or 9th place, and we don&amp;#8217;t see Gemini 4 reversing their downfall.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YSbT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c11127d-75d3-4b40-8ffa-8edbaab508b3_1976x1108.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!YSbT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c11127d-75d3-4b40-8ffa-8edbaab508b3_1976x1108.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Artificial Analysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At the same time, Gemini first-party API token growth has famously decelerated. Whereas they grew 60% in &lt;/span&gt;&lt;a href="https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q1-2026/"&gt;&lt;span&gt;1Q26&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, going from 10B to 16B tokens per minute, &lt;/span&gt;&lt;a href="https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q2-2026/"&gt;&lt;span&gt;2Q26&lt;/span&gt;&lt;/a&gt;&lt;span&gt; saw just 38% growth to 22B. This has caused a corresponding decline in Gemini 1P API revenue growth.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oG03!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf8ff61-9043-4226-b3e3-f296d8dd1b88_1955x918.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="684" src="https://substackcdn.com/image/fetch/$s_!oG03!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf8ff61-9043-4226-b3e3-f296d8dd1b88_1955x918.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Gemini Enterprise Agent Platform&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; (formerly Vertex) &lt;/span&gt;&lt;strong&gt;&lt;span&gt;has been meaningfully stronger overall&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; thanks to third-party models like Claude. To see a full breakdown of Amazon Bedrock, Microsoft Foundry, and Google Vertex revenue separated by model provider, as well as all the implications for OpenAI and Anthropic, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;There&amp;#8217;s no substitute for conviction&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We believe Gemini&amp;#8217;s core issue has always been a fundamental lack of conviction. Compute is the lifeblood of AI progress, and all the AGI-pilled labs are desperately trying to acquire as much as possible.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Of course, pre-paying multiple GWs is also very scary and expensive, especially if you don&amp;#8217;t have a rapidly growing, high margin API business. However, as we&amp;#8217;ve explained in &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence"&gt;&lt;span&gt;previous&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;newsletters&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, there are creative ways to overcome this limitation and still monetize excess capacity at very attractive rates &lt;/span&gt;&lt;strong&gt;&lt;span&gt;while maintaining the optionality to claw everything back for your research team&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Explicitly, this is what we see happening at Meta and SpaceX.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Google, on the other hand, decided it was totally worth it to sell enormous amounts of compute to Gemini&amp;#8217;s fiercest competitors on long term contracts without any hope of ever returning it to DeepMind.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;More than 20% of total TPU shipments from 3Q26 to 4Q27 are being sold directly to Anthropic.&lt;/span&gt;&lt;a class="footnote-anchor" href="https://newsletter.semianalysis.com/feed#footnote-2" id="footnote-anchor-2" target="_self"&gt;2&lt;/a&gt;&lt;span&gt; This is excluding the hundreds of thousands of TPUs GCP already rents to Anthropic today, and the many hundreds of thousands more they&amp;#8217;ve committed to rent to Anthropic and Meta over the next 6 quarters.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6QGp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2873391-8508-4334-bd3e-5964ff75a1cd_2075x1013.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="711" src="https://substackcdn.com/image/fetch/$s_!6QGp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2873391-8508-4334-bd3e-5964ff75a1cd_2075x1013.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For full details on the number of TPUs, GPUs, Trainiums, etc being produced each quarter till 2030 and their end customers, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If you&amp;#8217;ve ever listened to an interview of Google Cloud CEO Thomas Kurian, you know he is not AGI pilled. In one &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=bNdiBwXbLNw"&gt;&lt;span&gt;podcast&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, for example, he argued that it&amp;#8217;s great for TPUs to become &amp;#8220;general purpose infrastructure&amp;#8221; that supports customers like Citadel, the Department of Energy, and generic high performance computing. And when asked why he was selling compute to Anthropic despite them competing with Gemini, he said this was the natural consequence of Google being a &amp;#8220;platform company.&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This same man likely just won a major internal political battle to have even more control over Google&amp;#8217;s compute allocation.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Attempting to steelman DeepMind&amp;#8217;s frontier ambitions&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ve obviously been quite bearish on DeepMind thus far, and if we had to steelman the case for why they&amp;#8217;ll still be able to train a true SOTA model in the future, it would go something like the following:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The current setup clearly wasn&amp;#8217;t working. With the existing leadership team, their odds of catching up to Anthropic/OpenAI looked extremely slim.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Now that they&amp;#8217;ve cleaned house, the new guys can start from a blank slate. Maybe they&amp;#8217;ll even acqui-hire a neolab like SSI or Thinking Machines.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;With this new team, their odds of catching up to the frontier actually increase.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Perhaps there&amp;#8217;s some world in which this happens, but we think the odds are basically zero. The issue with Google was not Jeff Dean nor Noam Shazeer, but rather their extremely bureaucratic, painfully slow, and strategically timid culture. &lt;/span&gt;&lt;a href="https://x.com/thsottiaux/status/2083596911060324570"&gt;&lt;span&gt;Remember&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that DeepMind had an AI chatbot 1 year before ChatGPT but was not allowed to release it due to fears of disrupting their core business.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4FT2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c20d1a-8bcf-4861-a8dc-0a96d2963392_1041x745.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="745" src="https://substackcdn.com/image/fetch/$s_!4FT2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c20d1a-8bcf-4861-a8dc-0a96d2963392_1041x745.png" width="1041" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tibo on X&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Tibo, funny enough, is another great example of brain drain from Google. A 9 year Google/DeepMind veteran, he left in July 2024 to join OpenAI, co-led the original coding agent team, and is now the head of Codex. Meanwhile, Google &amp;#8220;acquired&amp;#8221; Windsurf to build its own agentic coding platform in July 2025, and they don&amp;#8217;t exactly have much wind in their sails thus far.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s also not forget that DeepMind was the original AI acqui-hire! And with the benefit of 12 years&amp;#8217; hindsight, we now know how that played out. Adding another neolab to the roster would likely just result in more of the same.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;The Financialization of GCP&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; estimates that Gemini ARR was $12B in 2Q26. In contrast, by the end of 2027, GCP will be doing over $73B in third party AI ARR IaaS/TaaS and another $120B of TPU sales. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;$200B of external sales at high 30s EBIT margins vs a first party business generating just $12B today shows where the focus is&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Google management is clear: the short term benefits from focusing GCP on financialization is worth abandoning any long term competitiveness at the frontier.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JyWs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1799850-cdf8-4545-9eb8-a1641666892f_2187x1094.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="728" src="https://substackcdn.com/image/fetch/$s_!JyWs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1799850-cdf8-4545-9eb8-a1641666892f_2187x1094.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Despite the weaknesses with Gemini, GCP continues to accelerate. This last quarter, GCP growth was 82%. However, that wasn&amp;#8217;t all from what we would traditionally call the &amp;#8220;cloud&amp;#8221; business. GCP has a new revenue source in selling full systems of its TPUs to external SPVs that run datacenters for customers such as Anthropic. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;These TPU sales are accounted for on a gross basis at ~$35B/GW&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. In 2Q26, we estimate that TPU sales were around $1.2B in the quarter, and thus core GCP grew in the low 70s. Given over $150B of TPU systems backlog, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;these TPU system sales will drive GCP&amp;#8217;s 2027 growth rate into the mid 100s vs sellside consensus at 64%&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lfS9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc76e1d-e524-4ba4-9744-c1d64400edd6_1987x980.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="718" src="https://substackcdn.com/image/fetch/$s_!lfS9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc76e1d-e524-4ba4-9744-c1d64400edd6_1987x980.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Although EBIT margins for these system sales are slightly lower than core cloud margins in the low 30% range, we still expect total GCP to deliver mid to high 30s EBIT margins going forward. How investors decide to capitalize the current TPU backlog and any large future sales is an open question. However, given the strong compute demand from labs, we expect more multi-GW deals to be announced soon adding to this backlog. In all, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;we estimate that over $250B of additional TPU Bookings could be added to GCP RPO in coming quarters&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Until then, this eye-popping acceleration in GCP growth coupled with good margins will &lt;/span&gt;&lt;strong&gt;&lt;span&gt;add ~$3 to Google EPS in 2027&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For an even more detailed breakdown of Amazon, Microsoft, and Oracle&amp;#8217;s cloud businesses, as well as updated Google projections come earnings season, see our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Be Careful What you Wish For&lt;/span&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/gemini-is-cooked-but-gcp-is-cooking"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-06T18:32:44+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the</id>
    <title>Kimi K3, The Manos, The Mythos, The Legendos</title>
    <updated>2026-08-03T11:42:30+00:00</updated>
    <author>
      <name>Kimbo Chen</name>
    </author>
    <content type="html">&lt;p style="text-align: justify;"&gt;Kimi K3 took the world by storm at its announcement, sweeping leaderboards and establishing itself as the open frontier model. While the community is eager to understand how Kimi K3 works, many have been surprised by the unconventional techniques driving its performance. This article serves as a primer to understanding the core techniques of the Kimi K3 model architecture.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;Kimi Delta Attention&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Kimi Delta Attention (KDA) is the linear attention layer in Kimi K3&amp;#8217;s hybrid attention mechanism. We trace the origins of KDA, starting from linear attention, DeltaNet, Gated DeltaNet (GDN), then to KDA.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;Linear Attention&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The derivation of linear attention stems from &lt;/span&gt;&lt;strong&gt;&lt;span&gt;removing the softmax operation in the standard softmax attention&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Below we compare the iterative inference formulas, which show the computation of the output vector at token position t:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;By removing the softmax operation, we can reorder the operations and reduce the computation complexity of attention from quadratic to linear:&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The new equations are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Vectors q, k, v, have dimensions &lt;/span&gt;&lt;em&gt;&lt;span&gt;L&lt;/span&gt;&lt;/em&gt;&lt;span&gt; by &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. The computational complexity of both equations are O(&lt;/span&gt;&lt;em&gt;&lt;span&gt;Ld&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#178;), thereby making the computation linear. Comparing the new equations with softmax attention&amp;#8217;s equation, we see that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;softmax attention requires accessing all past key and value vectors&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, whereas &lt;/span&gt;&lt;strong&gt;&lt;span&gt;linear attention compresses all past key and value vectors&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;strong&gt;&lt;span&gt;into one hidden state S&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;We reinterpret the new equations as an &lt;/span&gt;&lt;strong&gt;&lt;span&gt;online learning objective&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We view matrix S as an associative memory that stores the associations between key vector k and value vector v, and we retrieve v by multiplying S with k. We can then interpret the first equation as &lt;/span&gt;&lt;strong&gt;&lt;span&gt;continuously updating the matrix S at every position to perfect the retrieval&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Finally, we can interpret the vt @ kt.T term as the gradient of loss function -(S @ kt.T) @ vt with respect to S.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;DeltaNet&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Under the online learning objective view, we see the values of matrix S will grow unboundedly: old and new information gets blurred together in S as the sequence grows, which destabilizes learning. Without softmax giving well-scaled and bounded outputs, linear attention typically lags behind softmax attention on long-range recall tasks.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;DeltaNet improves upon linear attention by &lt;/span&gt;&lt;strong&gt;&lt;span&gt;changing the loss function to minimizing the L2 norm of the value retrieval&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Unlike linear attention&amp;#8217;s loss function, DeltaNet&amp;#8217;s loss function regularizes the growth of S. This creates a new matrix S update rule, the Delta Rule, as below:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=d0HJvGSWw8A"&gt;&lt;span&gt;Linear Attention and Beyond (Interactive Tutorial with Songlin Yang)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The Delta Rule becomes the basis of DeltaNet&amp;#8217;s attention equation:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Conceptually, S&amp;#8348;-1 @ k&amp;#8348; - v&amp;#8348; represents the associations irrelevant to the current key and value, and DeltaNet performs targeted removal of those associations.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;Gated DeltaNet&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;GDN and KDA are adaptations of DeltaNet. Gated DeltaNet applies the LSTM forget gate &lt;/span&gt;&lt;em&gt;&lt;span&gt;alpha &lt;/span&gt;&lt;/em&gt;&lt;span&gt;on the matrix S, allowing the model to control memory lifespan with weight decay. KDA further expands &lt;/span&gt;&lt;em&gt;&lt;span&gt;alpha&lt;/span&gt;&lt;/em&gt;&lt;span&gt; into a diagonal matrix that enables fine-grained per-channel memory decay and positional awareness.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;FlashKDA Algorithm&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Moonshot developed FlashKDA, their custom kernels for KDA, and &lt;/span&gt;&lt;a href="https://github.com/MoonshotAI/FlashKDA/tree/master"&gt;&lt;span&gt;open-sourced it&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Here we explain the algorithm and derive the arithmetic intensity.&lt;/span&gt;&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;&lt;span&gt;Algorithm&lt;/span&gt;&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;First, let&amp;#8217;s start from an alternative formulation of the recurrence formula:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;u_t = beta_t * (v_t - (D_t @ S_t-1).T @ k_t)
S_t = D_t @ S_t-1 + k_t @ u_t.T
o_t.T = q_t.T @ S_t&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here, D_t is the diagonal matrix of the alpha forget gate, and u_t is the delta in the delta rule. For decode, the kernel roughly follows the formula. For prefill, we parallelize the operation by unrolling the recurrence formula in chunks of tokens, in order to efficiently execute the operations on GPUs. Assume we unroll token i to j, and the starting state is S_i-1, we get:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;S_j = D_j:i @ S_i-1 + sum(D_j:t+1 @ k_t @ u_t.T, t=i:j)
o_j.T = q_j.T @ S_j
      = q_j.T @ D_j:i @ S_i-1 + sum(q_j.T @ D_j:t+1 @ k_t @ u_t.T, t=i:j)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;D_j:i refers to the cumulative decay from token i to j: D_j @ D_j-1 @ D_j-2 @ &amp;#8230; @ D_i. In FlashKDA&amp;#8217;s matrix form, the formula becomes:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;S_out = D_j:i @ S_in + K_restore.T @ U
M_qk = tril(Q_decay @ K_inv.T)
O = Q_decay @ S_in + M_qk @ U&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The vector to matrix mapping is as follows:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;S_in refers to the state at the starting position of a chunk&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;S_out refers to the state at the end position of a chunk&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K_restore is the matrix form of D_j:t+1 @ k_t&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Q_decay is the matrix form of q_j.T @ D_j:i&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Q_decay @ K_inv.T the matrix form of q_j.T @ D_j:t+1 @ k_t, derived from (q_j.T @ D_j:i) @ (D_t:i^-1 @ k_t)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;M_qk is the causal mask, so it&amp;#8217;s a lower triangular matrix&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;U is the matrix form of unrolled u_t. To compute this, we apply UT transform and compute the following:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;B = Diag(beta) @ (V - K_decay @ S_in)
L = StrictTril(Diag(beta) @ K_decay @ K_inv.T)
U = (I + L)^-1 @ B&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Please consult &lt;/span&gt;&lt;a href="https://sustcsonglin.github.io/blog/2024/deltanet-2/"&gt;&lt;span&gt;Songlin Yang&amp;#8217;s blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2510.26692"&gt;&lt;span&gt;Kimi Linear paper section 3.1&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for the full derivation. Note that here U corresponds to the pseudo-value term in the Kimi Linear paper.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Implementation-wise, FlashKDA launches 2 kernels: K1 and K2. K1 prepares chunk-level tensors in parallel, including:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;a = exp2(cumsum(g))
K_decay = Diag(a) @ K
Q_decay = Diag(a) @ Q
K_inv = Diag(a)^-1 @ K
K_restore = a[-1] * K_inv
L = StrictTril(Diag(beta) @ K_decay @ K_inv.T); INV = (I + L)^-1
M_qk = tril(Q_decay @ K_inv.T)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Here &lt;/span&gt;&lt;code&gt;a&lt;/code&gt;&lt;span&gt; is the cumulative decay, where each element is the cumulative decay at a token position. &lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K2 performs chunk-level recurrent computation:&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;U = INV @ Diag(beta) @ (V - K_decay @ S)
O = Q_decay @ S + M_qk @ U
S = Diag(a[-1]) @ S + K_restore.T @ U&lt;/code&gt;&lt;/pre&gt;&lt;h3 style="text-align: justify;"&gt;&lt;span&gt;Complexity Analysis&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Here we analyze the complexity of an attention head. For decode, the critical path computations are:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;D_t @ S_t-1: Element-wise multiplication, D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;S_t-1.T @ k_t: D &amp;#215; D &amp;#215; 1&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;k_t @ u_t.T: D &amp;#215; 1 &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;q_t.T @ S_t: 1  D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;The decode kernel roughly performs 7*D&amp;#178; FLOPs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Reading and writing the FP32 recurrent state dominates the memory traffic, so the memory traffic is roughly 8*D&amp;#178; bytes.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;For prefill, the critical path of K1 is at computing L, INV, and M_qk.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;L: C &amp;#215; D &amp;#215; C&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;INV: &lt;/span&gt;&lt;a href="https://github.com/MoonshotAI/FlashKDA/blob/1ce47ea3bb22c84eb9cc665028399cf35e8ffb0b/csrc/smxx/utils.cuh#L190"&gt;&lt;span&gt;Neumann factorization&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, performs 6 C &amp;#215; C &amp;#215; C matrix multiplications&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;M_qk: C &amp;#215; D &amp;#215; C&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;For K2,&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K_decay @ S: C &amp;#215; D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Q_decay @ S: C &amp;#215; D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;M_qk @ U: C &amp;#215; C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;INV @ B: C &amp;#215; C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K_restore.T @ U: D &amp;#215; C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Combining K1 and K2, FlashKDA performs 12*C^3 + 8*C&amp;#178;*D + 6*C*D&amp;#178; FLOPs. Since we analyzed at the chunk level (chunk size C), assuming sequence length T &amp;gt;&amp;gt; C, the overall FLOPs is T/C * O(C*D&amp;#178;) = O(T*D&amp;#178;).&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;For memory traffic:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K1 read Q, K, g: C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K1 write and K2 read Q_decay, K_decay, K_restore: C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K1 write and K2 read INV, M_qk: C &amp;#215; C&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K2 read V and write O: C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K2 read and write S once per kernel: D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;In total, FlashKDA accesses 3 * 2*C*D + 2 * (3 * 2*C*D + 2 * 2*C*C) + 2 * 2*C*D = 8*C&amp;#178; + 22*C*D bytes. At the kernel level, it accesses T/C * (8*C&amp;#178; + 22*C*D) + 8*D&amp;#178; ~ O(TC + TD + D&amp;#178;).&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;This concretely shows that the computational complexity of KDA:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Prefill: Linear to sequence length for both computation and memory&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Decode: Constant to sequence length for both computation and memory&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;Kimi Linear&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Moonshot trained Kimi Linear models as proof of concept for their KDA design, so we can infer Kimi K3&amp;#8217;s architecture design from Kimi Linear. Comparing the K3 release tech blog with Kimi Linear, we see Kimi K3 shares the shared expert count, the hybrid linear attention ratio, and the general attention module design.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jcnQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d326f1-65b9-47da-9fff-eebe83dadfc3_786x403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="403" src="https://substackcdn.com/image/fetch/$s_!jcnQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d326f1-65b9-47da-9fff-eebe83dadfc3_786x403.png" width="786" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xrR0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7308e58c-da14-4949-b093-0474f2b458b0_1554x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1293" src="https://substackcdn.com/image/fetch/$s_!xrR0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7308e58c-da14-4949-b093-0474f2b458b0_1554x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.kimi.com/blog/kimi-k3"&gt;Kimi K3 Tech Blog&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The diagram above shows the operations performed on the inputs of KDA. For the query, key, and value, we apply linear transformation and short convolution. Applying short convolution effectively capturing local token dependencies, and doing a left padding convolution avoids breaking causality. We additionally apply L2 norm to the query and key to stabilize the eigenvector of the transition and the output matrices. For the decay memory gates, alpha is a low rank projection, and beta is a down projection. The KDA output is normalized per head and controlled by an output forget gate, implemented as a linear transformation in K3, instead of a low rank projection in Kimi Linear. Finally, we apply a linear layer to mix per-head information.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Kimi Linear interleaves KDA with full attention Multi-head Latent Attention (MLA). Kimi Linear showed that 3:1 is the ideal KDA to MLA ratio that balances performance and efficiency. KDA also serves as a strong position-aware operator, replacing the RoPE in MLA.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Keeping MLA as full attention is an interesting choice, as all other open weight models move to Grouped Query Attention (GQA). MLA uses an absorption trick to reduce the computation of a decode step at the cost of extra computation during the prefill step. This is a sensible trade-off for decode-dominant reasoning workloads, but for prefill-dominant agentic workloads, extra computation becomes a high cost with little benefits. As a result, all frontier open weight models use GQA-based attention mechanisms: GLM 5.2 DeepSeek Sparse Attention, DeepSeek V4 Compressed Sparse Attention, MiniMax M3 MiniMax Sparse Attention, and MiMo V3 HySparse are all based on GQA. We suspect Moonshot&amp;#8217;s future models such as Kimi K4 will feature attention mechanisms that replace MLA.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;KV Cache Efficiency&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;We argue that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;one should not infer KV cache efficiency solely based on KV cache space complexity&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. KV cache size is not a standalone factor but a property of the model design: no open weight models are released with static KV cache compression techniques, and model architecture inference efficiency affects KV cache efficiency. The effects of KV cache size also vary, depending on the total memory capacity of a deployed model instance. For example, deploying a model with wide expert parallelism has very different memory profiles than doing so with tensor parallelism, which affects the memory capacity left for KV cache. Thus, we propose considering both the model architecture system efficiency and the KV cache size to understand the KV cache efficiency, and we quantify that with &lt;/span&gt;&lt;strong&gt;&lt;span&gt;KV throughput&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;KV Throughput&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;KV throughput is defined as KV cache size divided by the prefill time (Time to first token), given a specific sequence length. KV throughput represents the minimum bandwidth required to reliably serve a model with PD disaggregation, but it is also a good proxy for understanding KV cache efficiency. Prefill time encapsulates the efficiency of the model architecture, and as the sequence length increases, we will see the memory-bounded and the compute-bounded situations. As shown in the table below, we can see the benefits of hybrid linear attention become more pronounced as sequence length increases.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!iBNv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76fcf50-b8d1-4a79-9ea5-c82d063d8de9_969x196.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="196" src="https://substackcdn.com/image/fetch/$s_!iBNv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76fcf50-b8d1-4a79-9ea5-c82d063d8de9_969x196.png" width="969" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2604.15039v1"&gt;&lt;span&gt;Prefill-as-a-Service: KVCache of Next-Generation Models Could Go Cross-Datacenter&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;This is also a good way to understand the bandwidth requirements of KV cache offloading to different memory tiers in a cluster.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;KV Cache Residency&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The location where KV cache is stored follows the memory hierarchy. First, KV cache resides in HBM, the fastest memory in a GPU cluster, consuming whatever capacity is left by model weights and activations. As KV cache size exceeds the HBM capacity, it spills into server DRAM, a higher capacity but lower bandwidth memory pool. Finally, when KV cache exceeds DRAM capacity, it spills to disk storage such as SSD. This is analogous to the computer architecture cache hierarchy: register, cache memory, main memory, disk storage.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The analogy continues for memory coherency. Popular distributed KV cache framework Mooncake Store supports write-through and write-back policies for KV cache loading. Mooncake Store features a distributed KV cache pool that makes all KV cache visible to all workers. Implementing write-through policy between DRAM and the lower-level distributed KV cache pool offers multiple benefits in multi-node scenarios, including sharing prefix cache across nodes, avoid KV cache duplication for tensor parallelized MLA, and KV cache redundancy when a node goes down.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JHl1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa02cfa-82d5-4087-86a7-008218392006_2090x1196.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="833" src="https://substackcdn.com/image/fetch/$s_!JHl1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa02cfa-82d5-4087-86a7-008218392006_2090x1196.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;KDA Prefix Cache Management&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;At each token position in a request, Kimi K3 KDA&amp;#8217;s recurrent state is fixed in size, whereas standard attention KV cache grows with sequence length. This KV cache space reduction comes at the cost of complicating prefix caching, especially when Kimi K3 is a hybrid attention of KDA and MLA.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Roughly speaking, modern inference engines identify prefix cache hits by matching the longest token prefix in the existing cache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!tGvw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd68abe8c-bb64-4416-8ec6-1be51e20a40f_2635x628.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="347" src="https://substackcdn.com/image/fetch/$s_!tGvw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd68abe8c-bb64-4416-8ec6-1be51e20a40f_2635x628.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Identifying the longest prefix becomes a problem for linear attentions like KDA. Without prior knowledge of where the boundary of a prefix is, we will have to cache KDA&amp;#8217;s recurrent state at every token position. This means every token has a cache, and the KV cache memory usage regresses to growing with sequence length, defeating the purpose of using linear attention. To tackle this problem, Moonshot saves recurrent states at a coarse granularity, e.g. vLLM caches every 32K tokens. vLLM additionally caches at prompt boundaries, since for agentic workloads, a new turn typically starts at the end of a prompt.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UM76!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbec0b8-4469-4de0-a6eb-8f902a7d2b81_1396x378.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Interval-based KDA cache retention" class="sizing-normal" height="378" src="https://substackcdn.com/image/fetch/$s_!UM76!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbec0b8-4469-4de0-a6eb-8f902a7d2b81_1396x378.png" title="Interval-based KDA cache retention" width="1396" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://vllm.ai/blog/2026-07-27-k3"&gt;&lt;span&gt;Kimi K3 Is Here: Efficient Day-0 Support on vLLM&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This shows that even though linear attentions like KDA greatly reduce KV cache memory consumption, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;realistically during serving, they do not consume a constant amount of KV cache memory&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;Attention Residuals&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Residual Connections&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Residual connections are one of the key innovations that allowed us to build bigger deep neural networks through scaling model depth. The deeper the neural network, the more expressive they become but training them naively is hard. Signals from the earlier layer need to be preserved till the last layer and gradient need to survive from output to first without vanishing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Instead of modeling whole networks as a single function, passing information only through nonlinear transformations, residual networks connect smaller blocks with identity paths. Each block  f&amp;#7522; &amp;#8203; learns a change to its input x&amp;#7522;, given by the recurrence:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The identity mapping allows features to carry from shallower units to any deeper unit and gives the gradient a path highway so they do not vanish.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While residual connections allow us to build deeper networks, they come with challenges.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Early layers heavily influence residual stream to have effect on final output. Because of which residual stream has irreversible information loss with increasing depth. Later layers increase output gain to have effect on this modified residual stream which can destabilize training. Another variant like highway networks allow gating mechanisms for information flow but they suffer from the same crucial problem. Layers don&amp;#8217;t have selective access to information from earlier layers.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Recurrence In Time and Depth&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Sequence modeling dominated by recurrent neural networks had the same recurrence formulation.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Where each step has identity mapping with previous state for direct information flow &lt;/span&gt;and the sequence model faced the same challenge: depth in the time axis dilutes signal.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MSrT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83378ab0-db07-496f-abf4-18561c9759bf_1628x1116.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="998" src="https://substackcdn.com/image/fetch/$s_!MSrT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83378ab0-db07-496f-abf4-18561c9759bf_1628x1116.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention machines transformer removed this constrained by retrieving any token in past with powerful and expensive attention mechanism&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Attention on residual stream&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Motivated by attention mechanism in sequence modeling, kimi developed attention residual, where they take attention over depth blocks,&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!2tWX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72173975-fcd2-47f6-936c-3bdf39a4d0f3_2378x472.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="289" src="https://substackcdn.com/image/fetch/$s_!2tWX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72173975-fcd2-47f6-936c-3bdf39a4d0f3_2378x472.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/pdf/2603.15031"&gt;Attention Residuals&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Standard causal self-attention computes the output of token $t$ as a weighted sum of previous token representations:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention Residuals use the same attention mechanism, but replace the sequence dimension with the depth dimension. Instead of attending over previous tokens, each layer attends over representations produced by previous layers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UYRk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b221ce1-738f-4cb4-85b0-a190f1160f84_1736x1068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!UYRk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b221ce1-738f-4cb4-85b0-a190f1160f84_1736x1068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unlike standard attention, the query is a learned parameter for each layer rather than being generated from the current token.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For each layer &amp;#8467;, we define:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Each colored block represents the output token representation from a previous transformer layer. Just as standard causal self-attention performs softmax attention over tokens in the sequence, Attention Residuals perform softmax attention over the representations produced by previous layers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QUy2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cfe58a-5bee-4008-baef-88b21d9ac602_1438x995.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="995" src="https://substackcdn.com/image/fetch/$s_!QUy2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cfe58a-5bee-4008-baef-88b21d9ac602_1438x995.png" width="1438" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention residual allows the model to get fine grained control over what inputs to pick from past layers making the model more expressive.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Block Attention Residuals&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Attention residual need to all past layer outputs for attention. For large models distributed over many GPUs this creates O(Ld) communication overhead. To overcome this block attention residual dividends layers L into N blocks of S layers. Block AttnRes applies attention over completed block outputs and for current block its evolving partial sum.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bL64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4feee85-669a-47f5-a5c4-dc6bf7625d5a_1327x736.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="736" src="https://substackcdn.com/image/fetch/$s_!bL64!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4feee85-669a-47f5-a5c4-dc6bf7625d5a_1327x736.png" width="1327" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Block Attention has minimal tread over full attention residual but they cut down communication from O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(Ld)&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(Nd).&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let b&amp;#8345;&amp;#8305; denote the partial sum over the first &lt;/span&gt;&lt;em&gt;&lt;span&gt;i&lt;/span&gt;&lt;/em&gt;&lt;span&gt; layers in block &lt;/span&gt;&lt;em&gt;&lt;span&gt;n&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, such that&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the &lt;/span&gt;&lt;em&gt;&lt;span&gt;i&lt;/span&gt;&lt;/em&gt;&lt;span&gt;-th layer in block $n$, the available block representations are&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unlike standard attention, the query is not input-dependent. Each layer learns a query vector:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention weights over the available block representations are computed as&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The output is the weighted sum of previous layer representations&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rather than depending only on the residual stream to preserve information, Attention Residuals give every layer direct, selective access to earlier representations. This block based variant of attention residuals greatly reduces communication overhead while having competitive performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Block residuals show better scaling compared  standard residual connection achieving 1.25&amp;#215; compute efficiency. Consistently lower validation loss compared to baseline and gap widening with decay phase. Unlike standard residual networks where output magnitude increases as depth increases. selective aggregation of block attention has bounded output. And consistent gradient magnitude.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Training&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Unlike standard residual networks, attention residuals need all N-1 block input for computation of the Nth layer. This becomes a problem for pipeline parallelism as all N layer blocks output need to be transferred across stages.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With clever cross stage caching and activation checkpointing, Kimi reduced overhead to only 4% compared to standard architecture for pipeline parallelism.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Cross-stage caching&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;For &lt;/span&gt;&lt;em&gt;&lt;span&gt;P&lt;/span&gt;&lt;/em&gt;&lt;span&gt; physical stages and &lt;/span&gt;&lt;em&gt;&lt;span&gt;V&lt;/span&gt;&lt;/em&gt;&lt;span&gt; virtual stages. Each block &lt;/span&gt;&lt;em&gt;&lt;span&gt;N&lt;/span&gt;&lt;/em&gt;&lt;span&gt; needs &lt;/span&gt;&lt;em&gt;&lt;span&gt;C=PV&lt;/span&gt;&lt;/em&gt;&lt;span&gt; communication for each chunk. Naively this needs transferring all accumulated blocks for each stage. This is quadratic cost growth for each physical and virtual stage&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This high communication can be reduced by caching input across virtual stages. Blocks computed in earlier layer can be stored in local memory,&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZXS2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65fc610b-cae9-4264-8577-4b98067dc436_2048x1041.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="740" src="https://substackcdn.com/image/fetch/$s_!ZXS2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65fc610b-cae9-4264-8577-4b98067dc436_2048x1041.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the first virtual stage all block embedding needs to be transferred in the physical stage, each completed block is stored on respective rank. For all subsequent virtual stages all cached blocks can be reused for computation. Only the block not present on rank need to be transferred for attention to residual computation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AGYs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f98bacd-b59d-4383-afcc-d6b0284f52c6_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!AGYs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f98bacd-b59d-4383-afcc-d6b0284f52c6_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;These split communication costs for first and subsequent virtual stages. For the first virtual stage its need incur the same quadratic cost for all physical layers. In subsequent virtual stages we need cached inputs from local devices and Transfer of only PNp chunks needed cutting down total communication from O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(C)&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(P)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The cutdown of communication is directly proportional to virtual stages V. Because of this for full stage of one forward and backward pass all computation and communication can be overlapped&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Memory overhead&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Due to cross stage caching all blocks are stored once across all V virtual stages. With Activation checkpointing all inter-block chunks for attention are eliminated. Each stage activation checkpoint &lt;/span&gt;&lt;em&gt;&lt;span&gt;Pl&lt;/span&gt;&lt;/em&gt;&lt;span&gt; matches memory size of H&lt;/span&gt;&lt;em&gt;&lt;span&gt;l&lt;/span&gt;&lt;/em&gt;&lt;span&gt;  of standard architecture and has no extra memory cost.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Inference&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Because Attention Residuals need the output of all previous blocks to compute attention, a naive implementation has excessive memory accesses. To reduce overhead, inference is split into two phases which mirror prefill and decode stages of autoregressive attention. This computation is divided into inter-block attention for completed blocks and intra-block attention for evolving attention in the running block.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;span&gt;Phase 1: Parallel Inter-Block Attention&lt;/span&gt;&lt;/h4&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OI7I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ebdae8b-b839-408d-baff-306bb81a433b_1389x947.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="947" src="https://substackcdn.com/image/fetch/$s_!OI7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ebdae8b-b839-408d-baff-306bb81a433b_1389x947.png" width="1389" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;During decoding, we have to output the completed block and the query vector learned per layer.  All inter block layers simultaneously with a single batched query against the completed block representations, returning both outputs and softmax statistics which can be reused for further computation. This phase is similar to prefill phase decoding&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;span&gt;Phase 2: Sequential Intra-Block Attention&lt;/span&gt;&lt;/h4&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NZzJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F930ae3ce-f4f2-4149-bf3d-e6e611c08f27_1236x961.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="961" src="https://substackcdn.com/image/fetch/$s_!NZzJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F930ae3ce-f4f2-4149-bf3d-e6e611c08f27_1236x961.png" width="1236" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This phase is analogous to the decode phase, Similar to flash attention, evolving sum can be computed with online softmax for intra blocks combined with precomputed inter block results. Which reduces redundant memory access.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With this two phase design, the IO footprint is similar to standard residual architecture, with only the addition of phase ones inter block computation, amortized by batching all queries in the block.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;LatentMoE&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;LatentMoE compresses the routed tokens before the dispatch operation, and then decompresses them after the aggregation operation. In Kimi K3&amp;#8217;s Stable LatentMoE, they apply an RMSNorm before the up-projection (decompressing) operation to reduce sensitivity to scale variations and improve model performance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oeW7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0740fb-3e21-4bac-bf28-00122c5b985d_1504x1022.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="370.875" src="https://substackcdn.com/image/fetch/$s_!oeW7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0740fb-3e21-4bac-bf28-00122c5b985d_1504x1022.png" width="546" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/MoonshotAI/Kimi-K3/blob/main/k3_tech_report.pdf"&gt;Kimi K3 Tech Report&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here we explain the design principles behind LatentMoE regarding MoE communication. As shown in the LatentMoE paper, the communication volume is proportional to total routed tokens &lt;/span&gt;&lt;em&gt;&lt;span&gt;t&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, number of active experts &lt;/span&gt;&lt;em&gt;&lt;span&gt;K&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, and expert input dimension &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, while being inversely proportional to the expert parallel size &lt;/span&gt;&lt;em&gt;&lt;span&gt;E&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. This is potentially the reason behind Kimi K3&amp;#8217;s latent MoE dimension size and active expert count configuration. Kimi K2 series feature 8 active experts with input dimension size 7168, so Kimi K3&amp;#8217;s latent input dimension size being 3584 (half of 7168) would allow the active expert count to double to 16 without increasing the communication volume.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;ratio of communication to computation&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;strong&gt;&lt;span&gt;time&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is arguably more important for estimating system efficiency (Discussions &lt;/span&gt;&lt;a href="https://x.com/chhillee/status/2077966168304787769"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://x.com/chhillee/status/2078130513546723531"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). The ratio indicates the roofline of how well MoE kernels can overlap communication with computation at a throughput-bound regime, and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;expert intermediate dimension size&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the only model configuration that affects the ratio. Specifically, increasing the expert intermediate dimension size would decrease the ratio, meaning that the theoretical maximum fraction of communication that can be hidden is higher. Here we derive the formula:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;t&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: total input tokens across the expert parallel (EP) domain&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;K&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: number of active experts per token&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;N&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: number of total experts&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;E&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Ranks in the EP domain&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Expert input dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Expert intermediate dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;P&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Aggregate bytes communicated per activation element (dispatch + combine)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;F&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Effective FFN expert (modeled as SwiGLU) computation throughput per GPU, FLOP/s&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;B&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Effective uni-directional network bandwidth per GPU, B/s&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Assuming uniform expert routing, each GPU is assigned &lt;/span&gt;&lt;em&gt;&lt;span&gt;t * K / E&lt;/span&gt;&lt;/em&gt;&lt;span&gt; tokens&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Assuming uniform expert routing, an average &lt;/span&gt;&lt;em&gt;&lt;span&gt;1 / E&lt;/span&gt;&lt;/em&gt;&lt;span&gt; tokens are local to the source GPUs, so each GPU dispatches &lt;/span&gt;&lt;em&gt;&lt;span&gt;(t*K/E) * (1-1/E)&lt;/span&gt;&lt;/em&gt;&lt;span&gt; tokens&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Each token is a d dimensional vector, so the communication volume per token is &lt;/span&gt;&lt;em&gt;&lt;span&gt;d * P&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The communication volume per GPU is &lt;/span&gt;&lt;em&gt;&lt;span&gt;(t*K/E) * (1-1/E) * d * P&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The communication time T_comm  = &lt;/span&gt;&lt;em&gt;&lt;span&gt;(t * K * d * P) / (E * B) * (1-1/E)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The SwiGLU computation involves 3 matrix multiplications:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Up (First) projection: &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to &lt;/span&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Gate projection: &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to &lt;/span&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Down (Second) projection: &lt;/span&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;&amp;#9;So the computation is &lt;/span&gt;&lt;em&gt;&lt;span&gt;2*d*m + 2*d*m + 2*m*d = 6*d*m&lt;/span&gt;&lt;/em&gt;&lt;span&gt; FLOPs per token&lt;/span&gt;&lt;/p&gt;&lt;ol start="7"&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The computation time per GPU is &lt;/span&gt;&lt;em&gt;&lt;span&gt;T_comp = (6*d*m) * (t*K/E) / F&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The communication to computation time ratio is&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;T_comm / T_comp&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;= ((t * K * d * P) / (E * B) * (1-1/E)) / ((6*d*m) * (t*K/E) / F)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;= (P*F) / (6*m*B) * (1-1/E)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;We believe this formula also motivates an increase in expert intermediate dimension to 3072 in not just Kimi K2 to K3, but all recent open weight models, including DeepSeek V4 Pro, MiniMax M3, MiMo V2.5 Pro, and Inkling. As hardware improves and expert weight precision reduces to save memory capacity, the compute throughput increases, so one way of reducing the ratio is by increasing the expert intermediate dimension.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Quantile load balancing (QB)&lt;/span&gt;&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Vtah!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c5c38d2-7d7f-4f2b-9d8a-c469ae99b1d5_2322x716.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="449" src="https://substackcdn.com/image/fetch/$s_!Vtah!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c5c38d2-7d7f-4f2b-9d8a-c469ae99b1d5_2322x716.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/MoonshotAI/Kimi-K3/blob/main/k3_tech_report.pdf"&gt;Kimi K3 report&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Many previous load balancing methods require careful hyperparameter tuning. Quantile balancing is hyperparameter free aux-loss free load balancing technique developed by Jianlin Su in &lt;/span&gt;&lt;a href="https://kexue.fm/archives/11619"&gt;&lt;span&gt;Feb 2026 blog post&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Base principle QB is the same as auxfree load balancing where router biases are updated dynamically based on the system&amp;#8217;s load. But instead of updated bias by some small coefficient like aux-free lb, QB directly computes the next bias from the distribution of router scores relative to routing cutoff threshold. Bias updates become small naturally when the router balances load evenly.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SyYc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864e9183-2fd3-4784-9389-4e54f8b24b4d_1848x564.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="444" src="https://substackcdn.com/image/fetch/$s_!SyYc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864e9183-2fd3-4784-9389-4e54f8b24b4d_1848x564.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/MoonshotAI/Kimi-K3/blob/main/k3_tech_report.pdf"&gt;Kimi K3 report&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;QB tries to find the bias that would have approximately balanced under the current cutoffs and  routing on the current batch, solving constraint optimization problems and applying these updates for the next batch. The first constraint is that each token is routed to exactly k experts.  The second constraint is a batch of m tokens each picks k experts, gives (mk) assignments in total, to spread load evenly across n experts each expert should process $q=mk/n$ tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each token finds the cutoff threshold as the (k+1)-th highest biased router score and uses it to calculate the bias update needed to balance load for each expert. For each expert, QB sorts the margins between its router score and every token&amp;#8217;s cutoff. It sets negative bias to q+1 the largest margin, leaving exactly q margin above the threshold. Since q/m=k/n, this is (1-k/n) quantile of the margin, which is why it&amp;#8217;s called Quantile Balancing.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Inference performance&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;We are actively tracking Kimi K3&amp;#8217;s inference performance on &lt;a href="https://inferencex.semianalysis.com/"&gt;InferenceX&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;span&gt;As of 30th July, all providers on OpenRouter have a floor of $3 per million tokens input and $15 per million tokens output. Both Nvidia and AMD had Day 0 recipes on vLLM, boasting DRAM offload and DSpark speculative decoding.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ENSb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ea604c-17df-4cf2-9de0-c904388cac1d_2002x926.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="673" src="https://substackcdn.com/image/fetch/$s_!ENSb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ea604c-17df-4cf2-9de0-c904388cac1d_2002x926.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://openrouter.ai/moonshotai/kimi-k3#providers"&gt;OpenRouter&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On InferenceX, we benchmark Kimi K3 serving performance directly on recorded internal claude code traces. We replay an hour of these traces as they reach a steady state. There is a median of 142k input tokens and a median of 444 output tokens per turn with a median of 65 turns per session. The short output tokens per turn is typical for workloads on agentic harnesses, where the agent calls tools frequently, even edits are tool uses.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This benchmark is a big step up from our previous 8k1k/1k1k benchmark, as it truly reflects real-world agentic use cases. From a systems perspective, it is also realistic and closest to production systems. It can reflect KV cache behavior, including prefix cache and KV offloading to DRAM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lzVj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9acbb1f7-14fe-49ed-a70f-2a90061ed6c6_2048x1103.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="784" src="https://substackcdn.com/image/fetch/$s_!lzVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9acbb1f7-14fe-49ed-a70f-2a90061ed6c6_2048x1103.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/datasets"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For Kimi K3, Day 0 bringup was easier than DSv4 due to better documentation and preparation ahead of weights release. Appropriate images and a speculative decoder model were released at the same time as the weights.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For Nvidia, bringup was simple. But due to the models&amp;#8217; sheer size, it doesn&amp;#8217;t fit on a single B200 node. We had to use PP to get it working. DSpark also didn&amp;#8217;t work with PP.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZU1Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef9190d-c48a-4482-9789-41607d1f1624_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="863" src="https://substackcdn.com/image/fetch/$s_!ZU1Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef9190d-c48a-4482-9789-41607d1f1624_2048x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;For B300, the model fits on 1 node and serves well. After accounting for the weights, GPU HBM can only hold 3.25M tok. In the graph below, throughput goes up as batch sizes increase until concurrency increases above 8. This roughly correlates to the 3.25M tok KV cache budget, and cache starts to thrash, resulting in hit rates falling to &amp;lt; 10% when theoretical hit rate is 95%.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the"/>
    <summary type="html">&lt;p style="text-align: justify;"&gt;Kimi K3 took the world by storm at its announcement, sweeping leaderboards and establishing itself as the open frontier model. While the community is eager to understand how Kimi K3 works, many have been surprised by the unconventional techniques driving its performance. This article serves as a primer to understanding the core techniques of the Kimi K3 model architecture.&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;Kimi Delta Attention&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Kimi Delta Attention (KDA) is the linear attention layer in Kimi K3&amp;#8217;s hybrid attention mechanism. We trace the origins of KDA, starting from linear attention, DeltaNet, Gated DeltaNet (GDN), then to KDA.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;Linear Attention&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The derivation of linear attention stems from &lt;/span&gt;&lt;strong&gt;&lt;span&gt;removing the softmax operation in the standard softmax attention&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Below we compare the iterative inference formulas, which show the computation of the output vector at token position t:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;By removing the softmax operation, we can reorder the operations and reduce the computation complexity of attention from quadratic to linear:&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The new equations are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Vectors q, k, v, have dimensions &lt;/span&gt;&lt;em&gt;&lt;span&gt;L&lt;/span&gt;&lt;/em&gt;&lt;span&gt; by &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. The computational complexity of both equations are O(&lt;/span&gt;&lt;em&gt;&lt;span&gt;Ld&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&amp;#178;), thereby making the computation linear. Comparing the new equations with softmax attention&amp;#8217;s equation, we see that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;softmax attention requires accessing all past key and value vectors&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, whereas &lt;/span&gt;&lt;strong&gt;&lt;span&gt;linear attention compresses all past key and value vectors&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;strong&gt;&lt;span&gt;into one hidden state S&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;We reinterpret the new equations as an &lt;/span&gt;&lt;strong&gt;&lt;span&gt;online learning objective&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We view matrix S as an associative memory that stores the associations between key vector k and value vector v, and we retrieve v by multiplying S with k. We can then interpret the first equation as &lt;/span&gt;&lt;strong&gt;&lt;span&gt;continuously updating the matrix S at every position to perfect the retrieval&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Finally, we can interpret the vt @ kt.T term as the gradient of loss function -(S @ kt.T) @ vt with respect to S.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;DeltaNet&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Under the online learning objective view, we see the values of matrix S will grow unboundedly: old and new information gets blurred together in S as the sequence grows, which destabilizes learning. Without softmax giving well-scaled and bounded outputs, linear attention typically lags behind softmax attention on long-range recall tasks.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;DeltaNet improves upon linear attention by &lt;/span&gt;&lt;strong&gt;&lt;span&gt;changing the loss function to minimizing the L2 norm of the value retrieval&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. Unlike linear attention&amp;#8217;s loss function, DeltaNet&amp;#8217;s loss function regularizes the growth of S. This creates a new matrix S update rule, the Delta Rule, as below:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=d0HJvGSWw8A"&gt;&lt;span&gt;Linear Attention and Beyond (Interactive Tutorial with Songlin Yang)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The Delta Rule becomes the basis of DeltaNet&amp;#8217;s attention equation:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Conceptually, S&amp;#8348;-1 @ k&amp;#8348; - v&amp;#8348; represents the associations irrelevant to the current key and value, and DeltaNet performs targeted removal of those associations.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;Gated DeltaNet&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;GDN and KDA are adaptations of DeltaNet. Gated DeltaNet applies the LSTM forget gate &lt;/span&gt;&lt;em&gt;&lt;span&gt;alpha &lt;/span&gt;&lt;/em&gt;&lt;span&gt;on the matrix S, allowing the model to control memory lifespan with weight decay. KDA further expands &lt;/span&gt;&lt;em&gt;&lt;span&gt;alpha&lt;/span&gt;&lt;/em&gt;&lt;span&gt; into a diagonal matrix that enables fine-grained per-channel memory decay and positional awareness.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;div class="captioned-button-wrap"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;Thanks for reading SemiAnalysis! This post is public so feel free to share it.&lt;/p&gt;&lt;/div&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the?utm_source=substack&amp;amp;utm_medium=email&amp;amp;utm_content=share&amp;amp;action=share"&gt;&lt;span&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;FlashKDA Algorithm&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Moonshot developed FlashKDA, their custom kernels for KDA, and &lt;/span&gt;&lt;a href="https://github.com/MoonshotAI/FlashKDA/tree/master"&gt;&lt;span&gt;open-sourced it&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Here we explain the algorithm and derive the arithmetic intensity.&lt;/span&gt;&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;&lt;span&gt;Algorithm&lt;/span&gt;&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;First, let&amp;#8217;s start from an alternative formulation of the recurrence formula:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;u_t = beta_t * (v_t - (D_t @ S_t-1).T @ k_t)
S_t = D_t @ S_t-1 + k_t @ u_t.T
o_t.T = q_t.T @ S_t&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here, D_t is the diagonal matrix of the alpha forget gate, and u_t is the delta in the delta rule. For decode, the kernel roughly follows the formula. For prefill, we parallelize the operation by unrolling the recurrence formula in chunks of tokens, in order to efficiently execute the operations on GPUs. Assume we unroll token i to j, and the starting state is S_i-1, we get:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;S_j = D_j:i @ S_i-1 + sum(D_j:t+1 @ k_t @ u_t.T, t=i:j)
o_j.T = q_j.T @ S_j
      = q_j.T @ D_j:i @ S_i-1 + sum(q_j.T @ D_j:t+1 @ k_t @ u_t.T, t=i:j)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;D_j:i refers to the cumulative decay from token i to j: D_j @ D_j-1 @ D_j-2 @ &amp;#8230; @ D_i. In FlashKDA&amp;#8217;s matrix form, the formula becomes:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;S_out = D_j:i @ S_in + K_restore.T @ U
M_qk = tril(Q_decay @ K_inv.T)
O = Q_decay @ S_in + M_qk @ U&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The vector to matrix mapping is as follows:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;S_in refers to the state at the starting position of a chunk&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;S_out refers to the state at the end position of a chunk&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K_restore is the matrix form of D_j:t+1 @ k_t&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Q_decay is the matrix form of q_j.T @ D_j:i&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Q_decay @ K_inv.T the matrix form of q_j.T @ D_j:t+1 @ k_t, derived from (q_j.T @ D_j:i) @ (D_t:i^-1 @ k_t)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;M_qk is the causal mask, so it&amp;#8217;s a lower triangular matrix&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;U is the matrix form of unrolled u_t. To compute this, we apply UT transform and compute the following:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;B = Diag(beta) @ (V - K_decay @ S_in)
L = StrictTril(Diag(beta) @ K_decay @ K_inv.T)
U = (I + L)^-1 @ B&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Please consult &lt;/span&gt;&lt;a href="https://sustcsonglin.github.io/blog/2024/deltanet-2/"&gt;&lt;span&gt;Songlin Yang&amp;#8217;s blog post&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2510.26692"&gt;&lt;span&gt;Kimi Linear paper section 3.1&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for the full derivation. Note that here U corresponds to the pseudo-value term in the Kimi Linear paper.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Implementation-wise, FlashKDA launches 2 kernels: K1 and K2. K1 prepares chunk-level tensors in parallel, including:&lt;/span&gt;&lt;/p&gt;&lt;div class="highlighted_code_block"&gt;&lt;pre class="shiki"&gt;&lt;code class="language-python"&gt;a = exp2(cumsum(g))
K_decay = Diag(a) @ K
Q_decay = Diag(a) @ Q
K_inv = Diag(a)^-1 @ K
K_restore = a[-1] * K_inv
L = StrictTril(Diag(beta) @ K_decay @ K_inv.T); INV = (I + L)^-1
M_qk = tril(Q_decay @ K_inv.T)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Here &lt;/span&gt;&lt;code&gt;a&lt;/code&gt;&lt;span&gt; is the cumulative decay, where each element is the cumulative decay at a token position. &lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K2 performs chunk-level recurrent computation:&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;U = INV @ Diag(beta) @ (V - K_decay @ S)
O = Q_decay @ S + M_qk @ U
S = Diag(a[-1]) @ S + K_restore.T @ U&lt;/code&gt;&lt;/pre&gt;&lt;h3 style="text-align: justify;"&gt;&lt;span&gt;Complexity Analysis&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Here we analyze the complexity of an attention head. For decode, the critical path computations are:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;D_t @ S_t-1: Element-wise multiplication, D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;S_t-1.T @ k_t: D &amp;#215; D &amp;#215; 1&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;k_t @ u_t.T: D &amp;#215; 1 &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;q_t.T @ S_t: 1  D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;The decode kernel roughly performs 7*D&amp;#178; FLOPs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Reading and writing the FP32 recurrent state dominates the memory traffic, so the memory traffic is roughly 8*D&amp;#178; bytes.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;For prefill, the critical path of K1 is at computing L, INV, and M_qk.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;L: C &amp;#215; D &amp;#215; C&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;INV: &lt;/span&gt;&lt;a href="https://github.com/MoonshotAI/FlashKDA/blob/1ce47ea3bb22c84eb9cc665028399cf35e8ffb0b/csrc/smxx/utils.cuh#L190"&gt;&lt;span&gt;Neumann factorization&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, performs 6 C &amp;#215; C &amp;#215; C matrix multiplications&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;M_qk: C &amp;#215; D &amp;#215; C&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;For K2,&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K_decay @ S: C &amp;#215; D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Q_decay @ S: C &amp;#215; D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;M_qk @ U: C &amp;#215; C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;INV @ B: C &amp;#215; C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K_restore.T @ U: D &amp;#215; C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Combining K1 and K2, FlashKDA performs 12*C^3 + 8*C&amp;#178;*D + 6*C*D&amp;#178; FLOPs. Since we analyzed at the chunk level (chunk size C), assuming sequence length T &amp;gt;&amp;gt; C, the overall FLOPs is T/C * O(C*D&amp;#178;) = O(T*D&amp;#178;).&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;For memory traffic:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K1 read Q, K, g: C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K1 write and K2 read Q_decay, K_decay, K_restore: C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K1 write and K2 read INV, M_qk: C &amp;#215; C&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K2 read V and write O: C &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;K2 read and write S once per kernel: D &amp;#215; D&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;In total, FlashKDA accesses 3 * 2*C*D + 2 * (3 * 2*C*D + 2 * 2*C*C) + 2 * 2*C*D = 8*C&amp;#178; + 22*C*D bytes. At the kernel level, it accesses T/C * (8*C&amp;#178; + 22*C*D) + 8*D&amp;#178; ~ O(TC + TD + D&amp;#178;).&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;This concretely shows that the computational complexity of KDA:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Prefill: Linear to sequence length for both computation and memory&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Decode: Constant to sequence length for both computation and memory&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;Kimi Linear&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Moonshot trained Kimi Linear models as proof of concept for their KDA design, so we can infer Kimi K3&amp;#8217;s architecture design from Kimi Linear. Comparing the K3 release tech blog with Kimi Linear, we see Kimi K3 shares the shared expert count, the hybrid linear attention ratio, and the general attention module design.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jcnQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d326f1-65b9-47da-9fff-eebe83dadfc3_786x403.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="403" src="https://substackcdn.com/image/fetch/$s_!jcnQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7d326f1-65b9-47da-9fff-eebe83dadfc3_786x403.png" width="786" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xrR0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7308e58c-da14-4949-b093-0474f2b458b0_1554x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1293" src="https://substackcdn.com/image/fetch/$s_!xrR0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7308e58c-da14-4949-b093-0474f2b458b0_1554x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.kimi.com/blog/kimi-k3"&gt;Kimi K3 Tech Blog&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The diagram above shows the operations performed on the inputs of KDA. For the query, key, and value, we apply linear transformation and short convolution. Applying short convolution effectively capturing local token dependencies, and doing a left padding convolution avoids breaking causality. We additionally apply L2 norm to the query and key to stabilize the eigenvector of the transition and the output matrices. For the decay memory gates, alpha is a low rank projection, and beta is a down projection. The KDA output is normalized per head and controlled by an output forget gate, implemented as a linear transformation in K3, instead of a low rank projection in Kimi Linear. Finally, we apply a linear layer to mix per-head information.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Kimi Linear interleaves KDA with full attention Multi-head Latent Attention (MLA). Kimi Linear showed that 3:1 is the ideal KDA to MLA ratio that balances performance and efficiency. KDA also serves as a strong position-aware operator, replacing the RoPE in MLA.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Keeping MLA as full attention is an interesting choice, as all other open weight models move to Grouped Query Attention (GQA). MLA uses an absorption trick to reduce the computation of a decode step at the cost of extra computation during the prefill step. This is a sensible trade-off for decode-dominant reasoning workloads, but for prefill-dominant agentic workloads, extra computation becomes a high cost with little benefits. As a result, all frontier open weight models use GQA-based attention mechanisms: GLM 5.2 DeepSeek Sparse Attention, DeepSeek V4 Compressed Sparse Attention, MiniMax M3 MiniMax Sparse Attention, and MiMo V3 HySparse are all based on GQA. We suspect Moonshot&amp;#8217;s future models such as Kimi K4 will feature attention mechanisms that replace MLA.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;KV Cache Efficiency&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;We argue that &lt;/span&gt;&lt;strong&gt;&lt;span&gt;one should not infer KV cache efficiency solely based on KV cache space complexity&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. KV cache size is not a standalone factor but a property of the model design: no open weight models are released with static KV cache compression techniques, and model architecture inference efficiency affects KV cache efficiency. The effects of KV cache size also vary, depending on the total memory capacity of a deployed model instance. For example, deploying a model with wide expert parallelism has very different memory profiles than doing so with tensor parallelism, which affects the memory capacity left for KV cache. Thus, we propose considering both the model architecture system efficiency and the KV cache size to understand the KV cache efficiency, and we quantify that with &lt;/span&gt;&lt;strong&gt;&lt;span&gt;KV throughput&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;KV Throughput&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;KV throughput is defined as KV cache size divided by the prefill time (Time to first token), given a specific sequence length. KV throughput represents the minimum bandwidth required to reliably serve a model with PD disaggregation, but it is also a good proxy for understanding KV cache efficiency. Prefill time encapsulates the efficiency of the model architecture, and as the sequence length increases, we will see the memory-bounded and the compute-bounded situations. As shown in the table below, we can see the benefits of hybrid linear attention become more pronounced as sequence length increases.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!iBNv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76fcf50-b8d1-4a79-9ea5-c82d063d8de9_969x196.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="196" src="https://substackcdn.com/image/fetch/$s_!iBNv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76fcf50-b8d1-4a79-9ea5-c82d063d8de9_969x196.png" width="969" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2604.15039v1"&gt;&lt;span&gt;Prefill-as-a-Service: KVCache of Next-Generation Models Could Go Cross-Datacenter&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;This is also a good way to understand the bandwidth requirements of KV cache offloading to different memory tiers in a cluster.&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;KV Cache Residency&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The location where KV cache is stored follows the memory hierarchy. First, KV cache resides in HBM, the fastest memory in a GPU cluster, consuming whatever capacity is left by model weights and activations. As KV cache size exceeds the HBM capacity, it spills into server DRAM, a higher capacity but lower bandwidth memory pool. Finally, when KV cache exceeds DRAM capacity, it spills to disk storage such as SSD. This is analogous to the computer architecture cache hierarchy: register, cache memory, main memory, disk storage.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;The analogy continues for memory coherency. Popular distributed KV cache framework Mooncake Store supports write-through and write-back policies for KV cache loading. Mooncake Store features a distributed KV cache pool that makes all KV cache visible to all workers. Implementing write-through policy between DRAM and the lower-level distributed KV cache pool offers multiple benefits in multi-node scenarios, including sharing prefix cache across nodes, avoid KV cache duplication for tensor parallelized MLA, and KV cache redundancy when a node goes down.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JHl1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa02cfa-82d5-4087-86a7-008218392006_2090x1196.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="833" src="https://substackcdn.com/image/fetch/$s_!JHl1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa02cfa-82d5-4087-86a7-008218392006_2090x1196.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;&lt;span&gt;KDA Prefix Cache Management&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;At each token position in a request, Kimi K3 KDA&amp;#8217;s recurrent state is fixed in size, whereas standard attention KV cache grows with sequence length. This KV cache space reduction comes at the cost of complicating prefix caching, especially when Kimi K3 is a hybrid attention of KDA and MLA.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Roughly speaking, modern inference engines identify prefix cache hits by matching the longest token prefix in the existing cache.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!tGvw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd68abe8c-bb64-4416-8ec6-1be51e20a40f_2635x628.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="347" src="https://substackcdn.com/image/fetch/$s_!tGvw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd68abe8c-bb64-4416-8ec6-1be51e20a40f_2635x628.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Identifying the longest prefix becomes a problem for linear attentions like KDA. Without prior knowledge of where the boundary of a prefix is, we will have to cache KDA&amp;#8217;s recurrent state at every token position. This means every token has a cache, and the KV cache memory usage regresses to growing with sequence length, defeating the purpose of using linear attention. To tackle this problem, Moonshot saves recurrent states at a coarse granularity, e.g. vLLM caches every 32K tokens. vLLM additionally caches at prompt boundaries, since for agentic workloads, a new turn typically starts at the end of a prompt.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UM76!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbec0b8-4469-4de0-a6eb-8f902a7d2b81_1396x378.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Interval-based KDA cache retention" class="sizing-normal" height="378" src="https://substackcdn.com/image/fetch/$s_!UM76!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbec0b8-4469-4de0-a6eb-8f902a7d2b81_1396x378.png" title="Interval-based KDA cache retention" width="1396" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://vllm.ai/blog/2026-07-27-k3"&gt;&lt;span&gt;Kimi K3 Is Here: Efficient Day-0 Support on vLLM&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This shows that even though linear attentions like KDA greatly reduce KV cache memory consumption, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;realistically during serving, they do not consume a constant amount of KV cache memory&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;&lt;span&gt;Attention Residuals&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;span&gt;Residual Connections&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Residual connections are one of the key innovations that allowed us to build bigger deep neural networks through scaling model depth. The deeper the neural network, the more expressive they become but training them naively is hard. Signals from the earlier layer need to be preserved till the last layer and gradient need to survive from output to first without vanishing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Instead of modeling whole networks as a single function, passing information only through nonlinear transformations, residual networks connect smaller blocks with identity paths. Each block  f&amp;#7522; &amp;#8203; learns a change to its input x&amp;#7522;, given by the recurrence:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The identity mapping allows features to carry from shallower units to any deeper unit and gives the gradient a path highway so they do not vanish.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While residual connections allow us to build deeper networks, they come with challenges.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Early layers heavily influence residual stream to have effect on final output. Because of which residual stream has irreversible information loss with increasing depth. Later layers increase output gain to have effect on this modified residual stream which can destabilize training. Another variant like highway networks allow gating mechanisms for information flow but they suffer from the same crucial problem. Layers don&amp;#8217;t have selective access to information from earlier layers.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Recurrence In Time and Depth&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Sequence modeling dominated by recurrent neural networks had the same recurrence formulation.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Where each step has identity mapping with previous state for direct information flow &lt;/span&gt;and the sequence model faced the same challenge: depth in the time axis dilutes signal.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MSrT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83378ab0-db07-496f-abf4-18561c9759bf_1628x1116.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="998" src="https://substackcdn.com/image/fetch/$s_!MSrT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83378ab0-db07-496f-abf4-18561c9759bf_1628x1116.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention machines transformer removed this constrained by retrieving any token in past with powerful and expensive attention mechanism&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Attention on residual stream&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Motivated by attention mechanism in sequence modeling, kimi developed attention residual, where they take attention over depth blocks,&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!2tWX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72173975-fcd2-47f6-936c-3bdf39a4d0f3_2378x472.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="289" src="https://substackcdn.com/image/fetch/$s_!2tWX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72173975-fcd2-47f6-936c-3bdf39a4d0f3_2378x472.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://arxiv.org/pdf/2603.15031"&gt;Attention Residuals&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Standard causal self-attention computes the output of token $t$ as a weighted sum of previous token representations:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention Residuals use the same attention mechanism, but replace the sequence dimension with the depth dimension. Instead of attending over previous tokens, each layer attends over representations produced by previous layers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UYRk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b221ce1-738f-4cb4-85b0-a190f1160f84_1736x1068.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="896" src="https://substackcdn.com/image/fetch/$s_!UYRk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b221ce1-738f-4cb4-85b0-a190f1160f84_1736x1068.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unlike standard attention, the query is a learned parameter for each layer rather than being generated from the current token.&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For each layer &amp;#8467;, we define:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Each colored block represents the output token representation from a previous transformer layer. Just as standard causal self-attention performs softmax attention over tokens in the sequence, Attention Residuals perform softmax attention over the representations produced by previous layers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QUy2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cfe58a-5bee-4008-baef-88b21d9ac602_1438x995.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="995" src="https://substackcdn.com/image/fetch/$s_!QUy2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cfe58a-5bee-4008-baef-88b21d9ac602_1438x995.png" width="1438" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention residual allows the model to get fine grained control over what inputs to pick from past layers making the model more expressive.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Block Attention Residuals&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Attention residual need to all past layer outputs for attention. For large models distributed over many GPUs this creates O(Ld) communication overhead. To overcome this block attention residual dividends layers L into N blocks of S layers. Block AttnRes applies attention over completed block outputs and for current block its evolving partial sum.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bL64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4feee85-669a-47f5-a5c4-dc6bf7625d5a_1327x736.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="736" src="https://substackcdn.com/image/fetch/$s_!bL64!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4feee85-669a-47f5-a5c4-dc6bf7625d5a_1327x736.png" width="1327" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Block Attention has minimal tread over full attention residual but they cut down communication from O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(Ld)&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(Nd).&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let b&amp;#8345;&amp;#8305; denote the partial sum over the first &lt;/span&gt;&lt;em&gt;&lt;span&gt;i&lt;/span&gt;&lt;/em&gt;&lt;span&gt; layers in block &lt;/span&gt;&lt;em&gt;&lt;span&gt;n&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, such that&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the &lt;/span&gt;&lt;em&gt;&lt;span&gt;i&lt;/span&gt;&lt;/em&gt;&lt;span&gt;-th layer in block $n$, the available block representations are&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unlike standard attention, the query is not input-dependent. Each layer learns a query vector:&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attention weights over the available block representations are computed as&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The output is the weighted sum of previous layer representations&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rather than depending only on the residual stream to preserve information, Attention Residuals give every layer direct, selective access to earlier representations. This block based variant of attention residuals greatly reduces communication overhead while having competitive performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Block residuals show better scaling compared  standard residual connection achieving 1.25&amp;#215; compute efficiency. Consistently lower validation loss compared to baseline and gap widening with decay phase. Unlike standard residual networks where output magnitude increases as depth increases. selective aggregation of block attention has bounded output. And consistent gradient magnitude.&lt;/span&gt;&lt;/p&gt;&lt;p class="button-wrapper"&gt;&lt;a class="button primary" href="https://newsletter.semianalysis.com/subscribe"&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Training&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Unlike standard residual networks, attention residuals need all N-1 block input for computation of the Nth layer. This becomes a problem for pipeline parallelism as all N layer blocks output need to be transferred across stages.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With clever cross stage caching and activation checkpointing, Kimi reduced overhead to only 4% compared to standard architecture for pipeline parallelism.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Cross-stage caching&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;For &lt;/span&gt;&lt;em&gt;&lt;span&gt;P&lt;/span&gt;&lt;/em&gt;&lt;span&gt; physical stages and &lt;/span&gt;&lt;em&gt;&lt;span&gt;V&lt;/span&gt;&lt;/em&gt;&lt;span&gt; virtual stages. Each block &lt;/span&gt;&lt;em&gt;&lt;span&gt;N&lt;/span&gt;&lt;/em&gt;&lt;span&gt; needs &lt;/span&gt;&lt;em&gt;&lt;span&gt;C=PV&lt;/span&gt;&lt;/em&gt;&lt;span&gt; communication for each chunk. Naively this needs transferring all accumulated blocks for each stage. This is quadratic cost growth for each physical and virtual stage&lt;/span&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This high communication can be reduced by caching input across virtual stages. Blocks computed in earlier layer can be stored in local memory,&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZXS2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65fc610b-cae9-4264-8577-4b98067dc436_2048x1041.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="740" src="https://substackcdn.com/image/fetch/$s_!ZXS2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65fc610b-cae9-4264-8577-4b98067dc436_2048x1041.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the first virtual stage all block embedding needs to be transferred in the physical stage, each completed block is stored on respective rank. For all subsequent virtual stages all cached blocks can be reused for computation. Only the block not present on rank need to be transferred for attention to residual computation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AGYs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f98bacd-b59d-4383-afcc-d6b0284f52c6_2048x1152.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!AGYs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f98bacd-b59d-4383-afcc-d6b0284f52c6_2048x1152.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;These split communication costs for first and subsequent virtual stages. For the first virtual stage its need incur the same quadratic cost for all physical layers. In subsequent virtual stages we need cached inputs from local devices and Transfer of only PNp chunks needed cutting down total communication from O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(C)&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to O&lt;/span&gt;&lt;em&gt;&lt;span&gt;(P)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="latex-rendered"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The cutdown of communication is directly proportional to virtual stages V. Because of this for full stage of one forward and backward pass all computation and communication can be overlapped&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Memory overhead&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Due to cross stage caching all blocks are stored once across all V virtual stages. With Activation checkpointing all inter-block chunks for attention are eliminated. Each stage activation checkpoint &lt;/span&gt;&lt;em&gt;&lt;span&gt;Pl&lt;/span&gt;&lt;/em&gt;&lt;span&gt; matches memory size of H&lt;/span&gt;&lt;em&gt;&lt;span&gt;l&lt;/span&gt;&lt;/em&gt;&lt;span&gt;  of standard architecture and has no extra memory cost.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Inference&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Because Attention Residuals need the output of all previous blocks to compute attention, a naive implementation has excessive memory accesses. To reduce overhead, inference is split into two phases which mirror prefill and decode stages of autoregressive attention. This computation is divided into inter-block attention for completed blocks and intra-block attention for evolving attention in the running block.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;span&gt;Phase 1: Parallel Inter-Block Attention&lt;/span&gt;&lt;/h4&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!OI7I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ebdae8b-b839-408d-baff-306bb81a433b_1389x947.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="947" src="https://substackcdn.com/image/fetch/$s_!OI7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ebdae8b-b839-408d-baff-306bb81a433b_1389x947.png" width="1389" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;During decoding, we have to output the completed block and the query vector learned per layer.  All inter block layers simultaneously with a single batched query against the completed block representations, returning both outputs and softmax statistics which can be reused for further computation. This phase is similar to prefill phase decoding&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;span&gt;Phase 2: Sequential Intra-Block Attention&lt;/span&gt;&lt;/h4&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NZzJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F930ae3ce-f4f2-4149-bf3d-e6e611c08f27_1236x961.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="961" src="https://substackcdn.com/image/fetch/$s_!NZzJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F930ae3ce-f4f2-4149-bf3d-e6e611c08f27_1236x961.png" width="1236" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This phase is analogous to the decode phase, Similar to flash attention, evolving sum can be computed with online softmax for intra blocks combined with precomputed inter block results. Which reduces redundant memory access.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With this two phase design, the IO footprint is similar to standard residual architecture, with only the addition of phase ones inter block computation, amortized by batching all queries in the block.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;LatentMoE&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;LatentMoE compresses the routed tokens before the dispatch operation, and then decompresses them after the aggregation operation. In Kimi K3&amp;#8217;s Stable LatentMoE, they apply an RMSNorm before the up-projection (decompressing) operation to reduce sensitivity to scale variations and improve model performance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oeW7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0740fb-3e21-4bac-bf28-00122c5b985d_1504x1022.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="370.875" src="https://substackcdn.com/image/fetch/$s_!oeW7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0740fb-3e21-4bac-bf28-00122c5b985d_1504x1022.png" width="546" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/MoonshotAI/Kimi-K3/blob/main/k3_tech_report.pdf"&gt;Kimi K3 Tech Report&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here we explain the design principles behind LatentMoE regarding MoE communication. As shown in the LatentMoE paper, the communication volume is proportional to total routed tokens &lt;/span&gt;&lt;em&gt;&lt;span&gt;t&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, number of active experts &lt;/span&gt;&lt;em&gt;&lt;span&gt;K&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, and expert input dimension &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, while being inversely proportional to the expert parallel size &lt;/span&gt;&lt;em&gt;&lt;span&gt;E&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. This is potentially the reason behind Kimi K3&amp;#8217;s latent MoE dimension size and active expert count configuration. Kimi K2 series feature 8 active experts with input dimension size 7168, so Kimi K3&amp;#8217;s latent input dimension size being 3584 (half of 7168) would allow the active expert count to double to 16 without increasing the communication volume.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;ratio of communication to computation&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;strong&gt;&lt;span&gt;time&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is arguably more important for estimating system efficiency (Discussions &lt;/span&gt;&lt;a href="https://x.com/chhillee/status/2077966168304787769"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://x.com/chhillee/status/2078130513546723531"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). The ratio indicates the roofline of how well MoE kernels can overlap communication with computation at a throughput-bound regime, and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;expert intermediate dimension size&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the only model configuration that affects the ratio. Specifically, increasing the expert intermediate dimension size would decrease the ratio, meaning that the theoretical maximum fraction of communication that can be hidden is higher. Here we derive the formula:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;t&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: total input tokens across the expert parallel (EP) domain&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;K&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: number of active experts per token&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;N&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: number of total experts&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;E&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Ranks in the EP domain&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Expert input dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Expert intermediate dimension&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;P&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Aggregate bytes communicated per activation element (dispatch + combine)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;F&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Effective FFN expert (modeled as SwiGLU) computation throughput per GPU, FLOP/s&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;B&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: Effective uni-directional network bandwidth per GPU, B/s&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Assuming uniform expert routing, each GPU is assigned &lt;/span&gt;&lt;em&gt;&lt;span&gt;t * K / E&lt;/span&gt;&lt;/em&gt;&lt;span&gt; tokens&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Assuming uniform expert routing, an average &lt;/span&gt;&lt;em&gt;&lt;span&gt;1 / E&lt;/span&gt;&lt;/em&gt;&lt;span&gt; tokens are local to the source GPUs, so each GPU dispatches &lt;/span&gt;&lt;em&gt;&lt;span&gt;(t*K/E) * (1-1/E)&lt;/span&gt;&lt;/em&gt;&lt;span&gt; tokens&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Each token is a d dimensional vector, so the communication volume per token is &lt;/span&gt;&lt;em&gt;&lt;span&gt;d * P&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The communication volume per GPU is &lt;/span&gt;&lt;em&gt;&lt;span&gt;(t*K/E) * (1-1/E) * d * P&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The communication time T_comm  = &lt;/span&gt;&lt;em&gt;&lt;span&gt;(t * K * d * P) / (E * B) * (1-1/E)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The SwiGLU computation involves 3 matrix multiplications:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Up (First) projection: &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to &lt;/span&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Gate projection: &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to &lt;/span&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Down (Second) projection: &lt;/span&gt;&lt;em&gt;&lt;span&gt;m&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to &lt;/span&gt;&lt;em&gt;&lt;span&gt;d&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;&amp;#9;So the computation is &lt;/span&gt;&lt;em&gt;&lt;span&gt;2*d*m + 2*d*m + 2*m*d = 6*d*m&lt;/span&gt;&lt;/em&gt;&lt;span&gt; FLOPs per token&lt;/span&gt;&lt;/p&gt;&lt;ol start="7"&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The computation time per GPU is &lt;/span&gt;&lt;em&gt;&lt;span&gt;T_comp = (6*d*m) * (t*K/E) / F&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;The communication to computation time ratio is&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;T_comm / T_comp&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;= ((t * K * d * P) / (E * B) * (1-1/E)) / ((6*d*m) * (t*K/E) / F)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span&gt;= (P*F) / (6*m*B) * (1-1/E)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;We believe this formula also motivates an increase in expert intermediate dimension to 3072 in not just Kimi K2 to K3, but all recent open weight models, including DeepSeek V4 Pro, MiniMax M3, MiMo V2.5 Pro, and Inkling. As hardware improves and expert weight precision reduces to save memory capacity, the compute throughput increases, so one way of reducing the ratio is by increasing the expert intermediate dimension.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Quantile load balancing (QB)&lt;/span&gt;&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Vtah!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c5c38d2-7d7f-4f2b-9d8a-c469ae99b1d5_2322x716.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="449" src="https://substackcdn.com/image/fetch/$s_!Vtah!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c5c38d2-7d7f-4f2b-9d8a-c469ae99b1d5_2322x716.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/MoonshotAI/Kimi-K3/blob/main/k3_tech_report.pdf"&gt;Kimi K3 report&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Many previous load balancing methods require careful hyperparameter tuning. Quantile balancing is hyperparameter free aux-loss free load balancing technique developed by Jianlin Su in &lt;/span&gt;&lt;a href="https://kexue.fm/archives/11619"&gt;&lt;span&gt;Feb 2026 blog post&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Base principle QB is the same as auxfree load balancing where router biases are updated dynamically based on the system&amp;#8217;s load. But instead of updated bias by some small coefficient like aux-free lb, QB directly computes the next bias from the distribution of router scores relative to routing cutoff threshold. Bias updates become small naturally when the router balances load evenly.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SyYc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864e9183-2fd3-4784-9389-4e54f8b24b4d_1848x564.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="444" src="https://substackcdn.com/image/fetch/$s_!SyYc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864e9183-2fd3-4784-9389-4e54f8b24b4d_1848x564.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/MoonshotAI/Kimi-K3/blob/main/k3_tech_report.pdf"&gt;Kimi K3 report&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;QB tries to find the bias that would have approximately balanced under the current cutoffs and  routing on the current batch, solving constraint optimization problems and applying these updates for the next batch. The first constraint is that each token is routed to exactly k experts.  The second constraint is a batch of m tokens each picks k experts, gives (mk) assignments in total, to spread load evenly across n experts each expert should process $q=mk/n$ tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each token finds the cutoff threshold as the (k+1)-th highest biased router score and uses it to calculate the bias update needed to balance load for each expert. For each expert, QB sorts the margins between its router score and every token&amp;#8217;s cutoff. It sets negative bias to q+1 the largest margin, leaving exactly q margin above the threshold. Since q/m=k/n, this is (1-k/n) quantile of the margin, which is why it&amp;#8217;s called Quantile Balancing.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;Inference performance&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;We are actively tracking Kimi K3&amp;#8217;s inference performance on &lt;a href="https://inferencex.semianalysis.com/"&gt;InferenceX&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;span&gt;As of 30th July, all providers on OpenRouter have a floor of $3 per million tokens input and $15 per million tokens output. Both Nvidia and AMD had Day 0 recipes on vLLM, boasting DRAM offload and DSpark speculative decoding.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ENSb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ea604c-17df-4cf2-9de0-c904388cac1d_2002x926.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="673" src="https://substackcdn.com/image/fetch/$s_!ENSb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ea604c-17df-4cf2-9de0-c904388cac1d_2002x926.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://openrouter.ai/moonshotai/kimi-k3#providers"&gt;OpenRouter&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On InferenceX, we benchmark Kimi K3 serving performance directly on recorded internal claude code traces. We replay an hour of these traces as they reach a steady state. There is a median of 142k input tokens and a median of 444 output tokens per turn with a median of 65 turns per session. The short output tokens per turn is typical for workloads on agentic harnesses, where the agent calls tools frequently, even edits are tool uses.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This benchmark is a big step up from our previous 8k1k/1k1k benchmark, as it truly reflects real-world agentic use cases. From a systems perspective, it is also realistic and closest to production systems. It can reflect KV cache behavior, including prefix cache and KV offloading to DRAM.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lzVj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9acbb1f7-14fe-49ed-a70f-2a90061ed6c6_2048x1103.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="784" src="https://substackcdn.com/image/fetch/$s_!lzVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9acbb1f7-14fe-49ed-a70f-2a90061ed6c6_2048x1103.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/datasets"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For Kimi K3, Day 0 bringup was easier than DSv4 due to better documentation and preparation ahead of weights release. Appropriate images and a speculative decoder model were released at the same time as the weights.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For Nvidia, bringup was simple. But due to the models&amp;#8217; sheer size, it doesn&amp;#8217;t fit on a single B200 node. We had to use PP to get it working. DSpark also didn&amp;#8217;t work with PP.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZU1Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef9190d-c48a-4482-9789-41607d1f1624_2048x1214.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="863" src="https://substackcdn.com/image/fetch/$s_!ZU1Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef9190d-c48a-4482-9789-41607d1f1624_2048x1214.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/"&gt;InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;For B300, the model fits on 1 node and serves well. After accounting for the weights, GPU HBM can only hold 3.25M tok. In the graph below, throughput goes up as batch sizes increase until concurrency increases above 8. This roughly correlates to the 3.25M tok KV cache budget, and cache starts to thrash, resulting in hit rates falling to &amp;lt; 10% when theoretical hit rate is 95%.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-08-03T11:42:30+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters</id>
    <title>The Wild Wild West Of LEGO Datacenters</title>
    <updated>2026-07-29T14:09:56+00:00</updated>
    <author>
      <name>Nicolas Bontigui</name>
    </author>
    <content type="html">&lt;h1&gt;The Labor Problem and Modularization to the Rescue&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Today we dig into the world of datacenter construction, because how datacenters are built now bears little resemblance to how the industry has historically done it. Concrete walls arrive as finished panels, mechanical and electrical rooms arrive wired, and sometimes even entire data halls arrive on the back of a truck. Some of the largest datacenters in the world are increasingly assembled the same way you assemble your new Spider-Man LEGO set, only that the bricks weigh 50,000 pounds and are a tiny bit more complex. This is the world of modular construction.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;From Hyperscaler to Colos to now even the AI labs, modular construction has become the default playbook for building fast. Our Modular Tracker, included in our SemiAnalysis &lt;a href="https://semianalysis.com/industrials-model/"&gt;Industrials Model&lt;/a&gt;, tracks over 61GW of modular capacity and 1,000+ sites using some form of modularization or prefabrication strategy. Full breakdown by modular category and equipment type is included in the &lt;a href="https://semianalysis.com/industrials-model/"&gt;Industrials Model&lt;/a&gt;. We estimate that modular penetration will reach 30%+ of total live capacity by the end of 2028. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mAZt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c16231-6f3d-4c90-b750-cdee249d56f4_3354x2153.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="935" src="https://substackcdn.com/image/fetch/$s_!mAZt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c16231-6f3d-4c90-b750-cdee249d56f4_3354x2153.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ultra-fast modular designs are increasingly the norm. &lt;a href="https://newsletter.semianalysis.com/p/meta-superintelligence-leadership-compute-talent-and-data"&gt;Over a year ago, we were the first to call out Meta&amp;#8217;s drastic change to using &amp;#8220;tent&amp;#8221; buildings&lt;/a&gt;. As shown below, AWS is now rolling out at very large scale their own modular design codenamed &amp;#8220;SAMDC&amp;#8221;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yUYr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72654e35-b473-44d9-83d5-93bfd3ffda27_3114x2171.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1015" src="https://substackcdn.com/image/fetch/$s_!yUYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72654e35-b473-44d9-83d5-93bfd3ffda27_3114x2171.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To understand the reason, we need to start looking at one of the structural bottlenecks that capitalist incentives alone cannot build past: labor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our recent articles have been a journey toward that bottleneck. In &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/to-boldly-go-the-case-for-space-datacenters"&gt;&lt;span&gt;The Case for Space Datacenters&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;, we showed the ceiling on terrestrial capacity. Last month, in &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;&lt;span&gt;Stop Saying Half of 2026 US Datacenter Capacity Is Canceled&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;, we argued that most bottlenecks are misunderstood and solvable. Trade labor is an exception here, as you cannot quickly solve for a shortage of electricians and pipefitters. The race for that talent became a true constraint long ago, visible when operators like Crusoe pumped wages by 30% to bring talent to Abilene&amp;#8217;s site, which required over 9,000 workers at its peak.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DS20!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13c3a8e-bc45-4188-8596-978dd543a131_3450x1920.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="810" src="https://substackcdn.com/image/fetch/$s_!DS20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13c3a8e-bc45-4188-8596-978dd543a131_3450x1920.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;, US Census Bureau&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Aiming to size the labor shortage trade by trade, we now also include the Labor Model as part of the &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It translates the state-by-state buildout from &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;our Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; into hours of demand for every trade and sets them against reachable labor supply. To frame the problem before modularization enters the picture, the chart below is ex-modular construction, with labor demand curve assuming labor per GW stays roughly flat over the forecast period and doesn't yet reflect the benefits we'll cover later in this article. Reachable labor supply in each state, on the other hand, is affected by how much capacity is being built, and how much labor is being pulled, in other US states. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vSIh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd044c040-2aab-4ab9-aa65-be81bd574ece_2200x1240.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="821" src="https://substackcdn.com/image/fetch/$s_!vSIh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd044c040-2aab-4ab9-aa65-be81bd574ece_2200x1240.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Electricians are a clear case, as they represent 30-40% over the total construction man hours in a datacenter project. The chart below shows an estimated electrician shortage emerging in 2027 driven by the huge mission-critical demand. On a state-by-state basis, the shortage is most acute where the buildout concentrates, like Texas and Ohio.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!p9ap!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d8787-b1b0-42eb-a95c-7dee8af1e844_2400x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!p9ap!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d8787-b1b0-42eb-a95c-7dee8af1e844_2400x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The response is that every operator and vendor are now racing toward modularization, which essentially means pulling repeatable work off-site and into factories, where everything from wall panels to power rooms and cooling skids are built in parallel with the site and delivered as finished units. Besides, it does more than ease the labor crunch, promising large speed and time-to-build gains. And today, speed is revenue.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The shift is already underway, with Compass and Switch being the first operators to move parts of their datacenter builds offsite. Using some form of skidded solution for electrical equipment is now pretty standard for every operator. AWS&amp;#8217;s Project Houdini prefabricates the white-space buildout and collapses the time before servers go in from months to weeks. Meta is standing up fabric-clad &amp;#8220;Tent&amp;#8221;-like halls. And a wave of new entrants, both in the OEM and the System Integrator space, are building specifically around modular.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this deep dive we rebuilt the modular case bottom-up against some of the speed and cost claims made by vendors like Vertiv or Schneider, finding that modular construction can compress the construction window by &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;36%, or 7-9 months, and is &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;8% cheaper on a Capex/MW basis. We also analyze how vendors like Vertiv are able to expand their value capture per project by offering the full stack solution, going from their historical &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~$&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;3.5M/MW content to &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~$&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;7M/MW with the modular solutions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iuxF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6a4ecdf-f99a-41bc-a676-b72206c25bdc_2912x1464.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="732" src="https://substackcdn.com/image/fetch/$s_!iuxF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6a4ecdf-f99a-41bc-a676-b72206c25bdc_2912x1464.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The problem, though, is that today everything seems to be modular and vendors, EPCs and Colocation providers many cases are describing entirely different things. To bring some order to this wild west, this article unpacks what modular actually means. We map the vendor landscape building a modular universe of more than 80 players and test whether the vendor claims hold up. &lt;/p&gt;&lt;p&gt;&lt;span&gt;For subscribers, we focus on the main beneficiaries and break down how each player is positioned,  from the public names (FIX, STRL, PWR, VRT, SU, FLEX&amp;#8230;) to private challengers such as Infra Partners, Bladeroom, and Faith Technologies, distilling the key insights from our recent &lt;/span&gt;&lt;a href="https://semianalysis.com/core-research/"&gt;&lt;span&gt;Core Research&lt;/span&gt;&lt;/a&gt;&lt;span&gt; subscriber notes on &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/comfort-systems-modular-capex-is-the-moat/"&gt;&lt;span&gt;Comfort Systems&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: &lt;/span&gt;&lt;em&gt;&lt;span&gt;&amp;#8220;Modular Capex Is The Moat&amp;#8221;&lt;/span&gt;&lt;/em&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/sterling-infrastructure-winning-where-it-counts-quadrupled-tam-via-texas-pacific-northwest-and-the-midwest-2x-content-per-mw-from-cec-attach-6b-order-run-rate-in-view/"&gt;&lt;span&gt;Sterling Infrastructure&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: &lt;/span&gt;&lt;em&gt;&lt;span&gt;&amp;#8220;&lt;/span&gt;Winning Where It Counts: Quadrupled TAM via Texas, Pacific Northwest, and the Midwest; 2X Content per MW from CEC Attach; ~$6B Run-Rate In View&amp;#8221;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;em&gt;To start off, we&amp;#8217;d like to thank &lt;a href="https://q.com/"&gt;QTS&lt;/a&gt;, &lt;a href="https://www.edgeconnex.com/"&gt;EdgeConneX&lt;/a&gt;, &lt;a href="https://aligneddc.com/"&gt;Aligned Data Centers&lt;/a&gt;, &lt;a href="https://www.se.com/ww/en/"&gt;Schneider Electric&lt;/a&gt;, &lt;a href="https://www.applieddigital.com/"&gt;Applied Digital&lt;/a&gt;, &lt;a href="https://www.dgmatrix.com/"&gt;DG Matrix&lt;/a&gt;, &lt;a href="https://aranind.com/"&gt;Aran Industries&lt;/a&gt;, &lt;a href="https://www.karmanindustries.com/"&gt;Karman Industries&lt;/a&gt;, &lt;a href="https://radiant.co/"&gt;Radiant&lt;/a&gt;, and Rajat Bhagat for their contributions and insights during the preparation of this deep dive.&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The Modular Taxonomy&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!m8gW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a11e81-c993-45dd-b237-a716280c1f75_4704x3228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="999" src="https://substackcdn.com/image/fetch/$s_!m8gW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a11e81-c993-45dd-b237-a716280c1f75_4704x3228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Before we go into the detail taxonomy, let&amp;#8217;s start with the basic definitions, because two words concepts often get mixed up: prefabrication and modularization.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Prefabrication&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the broader concept: any part of the build manufactured offsite and delivered ready to install. It is a statement about where the work happened, not about the shape of the thing.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Modular&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is narrower. It refers to the actual self-contained units (rooms, boxes, blocks) that ship complete and get bolted together on site. Every modular unit is prefabricated, but prefabrication may not be directly modular.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CHkv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48bf0f7a-3e0d-432a-acb1-3d23459c76ec_2240x944.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="614" src="https://substackcdn.com/image/fetch/$s_!CHkv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48bf0f7a-3e0d-432a-acb1-3d23459c76ec_2240x944.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Hold onto that distinction, because it is the spine of everything below. From here on, we will walk through the landscape the way a datacenter is actually built up, then we will go into details on the taxonomy that makes up the modular market starting from the ground up.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Understanding The Datacenter Anatomy&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At a high level, a datacenter can be seen as simple three stacks of layers: Site, Shell, and Systems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the bottom we have the site, or the physical land of the datacenter buildout. This is where grading, wiring, and foundation building take place. This layer cannot be modularized because you have to physically break ground on a parcel of land and pour foundations into it on the set up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Above that sits the shell, which means the structure, skin, and roof that serve as the backbone and weatherproof the entire datacenter buildout. Inside the shell is where all the equipment and subsystem, including all the mechanical and electrical systems, sit.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qKTP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c94a890-e7ae-45f6-9524-7e4b459b869b_2080x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!qKTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c94a890-e7ae-45f6-9524-7e4b459b869b_2080x960.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Considering that the site itself can not physically be moved, prefabrication strategies are focused on the other two layers, and we take them in that order, working from the outside in.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Modularizing the Datacenter Shell&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The shell is the structure, walls, and roof that hold the datacenter up and keep the weather out. It generally follows either a frame-and-skin design, where the structure and cladding are separate, or a load-bearing panel design that combines both.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a traditional build, both the skin and the frame need to go up on site. Crews break ground, pour the foundation, then form and cure concrete right where the building stands, one piece at a time. A modular shell starts the same way, on a poured foundation, but from there the structure and panels arrive as finished pieces from a factory, craned and bolted into position once arrived.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KuVQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f56864-6591-4d77-9e20-396ff5c542f8_1280x500.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="500" src="https://substackcdn.com/image/fetch/$s_!KuVQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f56864-6591-4d77-9e20-396ff5c542f8_1280x500.png" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The time saving is evident from the graphic above. In the traditional cast-in-place buildout, each pour has to reach roughly 75% of its design strength before the next can go on top. Prefabricated structure sidesteps that wait.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the evolution did not stop with prefabricating the same conventional building. The larger gains now come from simplifying the building itself: moving from complex multistory facilities toward repeatable single-story halls, and then toward narrower, purpose-built structures.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Phase One: Precast Industrialized the Conventional Shell&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The first phase is precast concrete described above. Instead of forming and curing the full structure in the field, panels are manufactured under controlled conditions, transported to the site, and craned onto a prepared foundation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is not new. Northern Virginia has used precast extensively for years because construction labor was already constrained. CloudHQ&amp;#8217;s two-story LC-2 facility in Ashburn is a representative example: its load-bearing shell supports long, column-free spans and enough structural load to place mechanical equipment on the roof.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jMdQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c557b56-64e2-4056-8e48-5756a323ac9e_1600x611.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="556" src="https://substackcdn.com/image/fetch/$s_!jMdQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c557b56-64e2-4056-8e48-5756a323ac9e_1600x611.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: CloudHQ Datacenter Crogan&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Nevertheless, the building still took roughly 18 to 20 months to deliver. Precast reduced field forming and curing, yet the underlying facility remained a large, multistory structure facility.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Tilt-up concrete follows a similar logic but casts the panels on the building slab rather than in a remote factory.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1GI-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d53c91-d115-4f7f-a562-6918d230ba17_1023x627.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="627" src="https://substackcdn.com/image/fetch/$s_!1GI-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d53c91-d115-4f7f-a562-6918d230ba17_1023x627.png" title="" width="1023" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tilt up Panels at DPR Construction Ashburn Virginia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This method avoids long-haul transportation and can be the lowest-cost route for a large single-story box, although quality and schedule remain more exposed to site conditions and weather.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Phase Two: Simplifying the Building&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The second phase is where design changes happen. In order to further speed up the time, the industry turn towards alternating the design for simplicity. These buildings use regular structural bays, fewer architectural features, and standardized exterior panels. Steel is often favored because the frame can be fabricated off site, shipped efficiently, and bolted together quickly across a large flat campus.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;At the light end is the pre-engineered metal building, or PEMB built in three parts:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;The primary frame serving as the structural skeleton&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The secondary frame tying the main frames together, these are lighter steel member like roof purlins that span between the primary frames.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The skin, keep in mind this is different from the frame. They are the thin light weighted metal panel whose job is to protect the interior from extreme weather conditions&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jbrJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca0c2e79-f004-4be7-b272-9750e2d4e799_1920x2560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="469.25274725274727" src="https://substackcdn.com/image/fetch/$s_!jbrJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca0c2e79-f004-4be7-b272-9750e2d4e799_1920x2560.png" title="" width="352" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Diamond Steel Pre-engineered Metal Building installation&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This is the fastest option since all parts arrive cut, punched, and labeled, a crew simply need to bolt them together on the site. Furthermore, a light steel structure needs far less material than concrete.&lt;/p&gt;&lt;p&gt;More demanding halls use structural steel - heavier, hot-rolled beams and columns fabricated off site and bolted into a rigid frame. It costs more than a light PEMB but supports wider spans, heavier loads, and more complex layouts.&lt;/p&gt;&lt;p&gt;QTS&amp;#8217;s Cedar Rapids campus shows the speed and scale this approach can unlock. The current 420 MW phase spans approximately 2.8 million square feet and uses roughly 28,000 tons of structural steel. QTS moved from groundbreaking to topping out in about five months, with the broader building delivered in approximately 11 months.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fRlf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4ab1fb-268f-4b91-a4b4-b8d35729f005_1710x824.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="702" src="https://substackcdn.com/image/fetch/$s_!fRlf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4ab1fb-268f-4b91-a4b4-b8d35729f005_1710x824.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The exterior is then closed with prefabricated cladding, most commonly insulated metal panels. Similarly, we see this approach with Crusoe&amp;#8217;s Stargate campus in Abilene, each building used roughly 672 factory-made panels. The panels were fabricated in under 40 days and installed at approximately 15 to 20 per day, helping bring each building to a dried-in shell in under eight weeks.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mhX8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb6bdb2-d30d-4dcd-a85e-d59991230758_1200x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="900" src="https://substackcdn.com/image/fetch/$s_!mhX8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb6bdb2-d30d-4dcd-a85e-d59991230758_1200x900.png" title="" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Crusoe Stargate Campus&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The speed advantage therefore comes less from steel itself than from what it enables: simple single-story halls, repeatable structural bays, fewer field interfaces, and a supply chain that can be reproduced across markets. It can also reduce labor and structural material per MW compared with a dense multistory design.&lt;/p&gt;&lt;p&gt;The main trade-off is land. Single-story campuses require more acreage, but that is often acceptable in newer AI markets where land is cheaper and deployment speed matters more than maximizing MW per acre.&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Phase Three: Purpose-Built Rapid-Deployment Shells&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The third phase pushes simplification further by designing the enclosure around a more specific deployment model. Narrower, lighter structures can reduce the amount of conventional shell work and support faster repetition, although tighter optimization may leave less flexibility for future equipment or layout changes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta&amp;#8217;s rapid-deployment structures at Prometheus campus in New Albany are the most visible extreme. The aluminum-framed, fabric-clad halls provide enclosure and weather protection without constructing a conventional permanent shell. Each structure is roughly 125,000 square feet, and satellite tracking showed eight standing by April 2026 after the buildout was announced in July 2025.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mvEJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3728a388-fef1-4c9b-a890-451ec148878b_624x315.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="315" src="https://substackcdn.com/image/fetch/$s_!mvEJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3728a388-fef1-4c9b-a890-451ec148878b_624x315.png" width="624" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;, Tent at Meta Prometheus New Albany&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;That does not mean Meta completed a full datacenter in nine months. The tents accelerate the enclosure, not utility interconnection, power, cooling, or commissioning. They also trade away some of the durability and long-term flexibility of a permanent concrete or steel building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS is moving in a similar direction with its newest modular builds. Rather than treating the shell as a large generic warehouse, AWS is using narrower and more repeatable structures organized around the systems installed inside. The result is less building per MW, shorter structural spans, and fewer interfaces for field crews to assemble.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3dq_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b9184f-8001-4766-9168-690cf77e2593_2419x1137.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="684" src="https://substackcdn.com/image/fetch/$s_!3dq_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b9184f-8001-4766-9168-690cf77e2593_2419x1137.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS Multistory Design&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The common thread is that shell modularity is increasingly about design simplification, not just prefabrication. Precast moved concrete production off site but largely preserved the conventional building. Standardized steel made single-story halls easier to repeat across markets. Purpose-built structures go further by reducing the size and complexity of the shell itself.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cost savings thus come from removing floors, reducing structural complexity, decreasing labor on site, and repeating the same enclosure / supply chain across the campus. Once the shell is dried in, the larger modularization opportunity moves inside, to the power, cooling, and white-space systems that turn the enclosure into an operating datacenter.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Modularizing the Equipment and Subsystems&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Equipment and subsystems are where most of the real modularization is happening, and the offerings span an enormous range, from a single piece of equipment all the way up to an entire building delivered ready to switch on. Previous deep dives already covered in big depth the anatomy of &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-2-cooling-systems"&gt;&lt;span&gt;Mechanical&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-1-electrical"&gt;&lt;span&gt;Electrical systems&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Besides, before we start naming categories, it helps to fix some vocabularies:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Hltl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb1a1f19-60c9-4c4a-8ac0-7cc51365b99d_2500x937.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!Hltl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb1a1f19-60c9-4c4a-8ac0-7cc51365b99d_2500x937.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Component:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The lowest level of form factor. It is a single piece of equipment manufactured in a factory.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Skid:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; First common modular form. It is a group of components mounted on an open frame. Instead of shipping each piece separately, the equipment is pre-arranged, configured, and shipped together as one package.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Module:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; A skid but in an enclosed space. It can go anywhere from a simple power room to a prefab mechanical/electrical room similar to a skid, but only it will become a module if you put walls and roof on top of it.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Container:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; A specific form of module using ISO container for packaging. An ISO container is built specifically for standard shipping dimension, which means it can travel anywhere on normal transport with a truck without limitation.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Prefab Datacenter block:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Facility scale buildout that stitches multiple factory-built module into a much larger facility block. The intent of these block is to serve as an end-to-end datacenter buildout&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;This is like a ladder, from 1-5 increasingly factory integration and scope. If you look carefully, you may also be able to realize the first 4 levels are better known as the subsystem modularization. This is where the supplier delivers one part of the datacenter as a factory-built unit. That unit is arrived assembled and tested, but still has to be connected into the broader facility before it becomes useful.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The last level and sometimes the fourth level, moves closer to a whole facility modularization. Here, the supplier is delivering a much larger portion of datacenter as an integrated product.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CjCb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cb7a1e-a34d-4c56-97c1-0ae098215b76_1431x560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="560" src="https://substackcdn.com/image/fetch/$s_!CjCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cb7a1e-a34d-4c56-97c1-0ae098215b76_1431x560.png" width="1431" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Subsystem Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With the vocabulary in hand, we can now start climbing the ladder, and the natural place to begin is at the bottom, with subsystem modularization. This is the larger of the two families and where most of the market lives today. We start off with the grey space, and modular power block is where most people think of when discussing modular design.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Modular Power Blocks&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zDt-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb23b7a03-7d2c-4cd0-b614-42a3ebcfd7ea_1430x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!zDt-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb23b7a03-7d2c-4cd0-b614-42a3ebcfd7ea_1430x842.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A power module is a factory-built electrical room or power block that packages the major electrical equipment into a containerized box. Among all subsystem modules, power is one of the most natural areas to modularized because the equipment lineup is well defined and lots of different pieces are needed to assemble the units. The electrical fit-out and commissioning take on average 5.5 - 16.7 months on a 50MW power hall.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To illustrate with an example, let&amp;#8217;s see Flex&amp;#8217;s modular power solution, built through the Anord Mardix unit below:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QSce!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172dde8-c1a8-45e3-9f02-4d9738d06016_947x503.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="292.66420274551217" src="https://substackcdn.com/image/fetch/$s_!QSce!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172dde8-c1a8-45e3-9f02-4d9738d06016_947x503.png" width="551" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Flex sells this in two versions, the power skid and the power module pod, which is the same lineup wrapped in a secure enclosure. Inside the room, you will find major electrical components laid out like a power train.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As you may have noticed, the module also contains the busway system like the IBAR feed above the building which bridges the power pod to the data hall. The CRAH units, or computer room air handler and fire protection system, also exist to help manage the air temperature inside the enclosed shell and protection against unexpected conditions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;By our own estimate, the power block is where the schedule payoff concentrates. Moving just the power scope into the factory, roughly ~26% of the build by content, gets a hall to IT-ready ~22% faster, ~13 months against ~16.7 for stick-build, and around ~5% cheaper per MW, largely by compressing the mechanical-and-electrical fit-out from ~5.5 months to ~2.5.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Lastly, within modular power blocks, a new subcategory is emerging, which we can define as &amp;#8220;software defined&amp;#8221; power routing blocks. Instead of packaging the conventional transformer+switchgear+UPS+battery chain into a box, companies like DG Matrix replace portions of that chain with power-electronics-based multi-port routing. These systems can connect grid, generation, storage, and DC loads through a common controlled power platform.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Modular Cooling Blocks and Prefabricated Cooling Infrastructure&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!O37X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bba9e35-78a3-4d66-94c8-de79f4b2acd8_1430x840.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="840" src="https://substackcdn.com/image/fetch/$s_!O37X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bba9e35-78a3-4d66-94c8-de79f4b2acd8_1430x840.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Similar to a power module, the cooling block packages the datacenter&amp;#8217;s cooling loop into one integrated subsystem. At first glance, the case for modularizing cooling is weaker than for power, since there are simply fewer pieces to pre-assemble. But as primary and secondary loops grow more complex, the ability to add cooling capacity in repeatable, modular increments becomes far more attractive to operators.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Focusing on the TCS loop, the majority of modular efforts are centered on skids for CDUs. Airedale by Modine&amp;#8217;s skid-based CDU (for more on cooling systems, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-2-cooling-systems"&gt;&lt;span&gt;read our Cooling deep dive here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;) is an example of this category.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!unna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d71a00-7f47-4b7b-8fe1-2d2c4a080714_893x504.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="277.67973124300113" src="https://substackcdn.com/image/fetch/$s_!unna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d71a00-7f47-4b7b-8fe1-2d2c4a080714_893x504.jpeg" width="492" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Modine&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Airedale by Modine skid-based CDU is a 2 MW-class unit arrives on a pre-manufactured skid with everything included, from the red-and-silver cooling loop to the buffer tanks on the top right, and even the leak detection system built into the end of the skid. On site, all the crew needs to do is hook up the two loop connections and a power feed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the other hand, the value proposition for prefabricated cooling systems is stronger when looking at the secondary loop and the outdoor mechanical yard, where piping and other outdoor cooling infrastructure is prefabricated, significantly reducing the civil, piping, and controls work completed onsite.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TzdD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb512bc68-64e0-4b33-9da7-eb25bb700acb_1422x1143.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1143" src="https://substackcdn.com/image/fetch/$s_!TzdD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb512bc68-64e0-4b33-9da7-eb25bb700acb_1422x1143.png" width="1422" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When thinking about cooling equipment, keep in mind that much of it was originally designed for hospitals, campuses, and industrial process cooling rather than GW-scale datacenters. At that scale, large footprints and hundreds of co-located units can create issues such as hot-air recirculation and heat islanding.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GePl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298ec60f-d43c-4a44-8901-693927971231_2400x1600.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!GePl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298ec60f-d43c-4a44-8901-693927971231_2400x1600.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv&amp;#8217;s elevated chiller/cooling plant on a steel platform beside a prefab hall using mechanical yard infrastructure&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Vertiv installation above shows a conventional mechanical yard. The cooling plant sits outside the data hall as a separate piece of infrastructure, with chillers, pumps, piping, and supporting steel assembled around the building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Some datacenter developers, like QTS, are now prefabricating most of the piping infrastructure, which allows for faster installation while maintaining high quality. That becomes especially valuable today, given the increasing piping requirements of dense liquid-cooled deployments.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A handful of new entrants are now even attacking the whole yard. Karman Industries&amp;#8217; CO2-based Heat Processing Unit (HPU) is a purpose-built unit borrowing SiC power electronics and permanent-magnet motors from EVs, and compact turbomachinery and advanced heat exchangers from aerospace. The HPU, which is configurable to each site, ships as an outdoor-rated NEMA skid at 4 to 5 times conventional power density and cuts yard footprint by 60 to 80%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z4qT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f5c81d-9a0f-4e02-9fb0-6a079bcbde49_1126x703.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="703" src="https://substackcdn.com/image/fetch/$s_!Z4qT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f5c81d-9a0f-4e02-9fb0-6a079bcbde49_1126x703.png" title="" width="1126" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Karman Industries&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Other Modularized Options&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Power and cooling are not the only parts of the datacenter that can be move into the factory. The same concept can be apply across the gray space such has the energy storage (BESS) system, water treatment skids, Fire safety system, and many more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Many are not on the critical path for construction timeline, or they are small enough to be able to build on site. Moreover, where these systems do get modularized, they often ride along inside a large unit rather than shipping separately. For example, the Schneider EcoStruxure for example was built in with the fire protection system.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Factory Built White Space&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!E3BN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24feeb10-afcc-43d3-ad01-baae3bfb3260_1431x816.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!E3BN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24feeb10-afcc-43d3-ad01-baae3bfb3260_1431x816.png" width="1431" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The intention of the factory built white space module is to replace hand-built data hall and manual on-site wiring with a unit made factory product. This means operator can directly put compute in place without the need to figure out wiring and connection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The whole package comes ready for the rack frames, and all the last mile connection points the rack need to operate. Think of it like a prepared envelope for compute, its organized where racks go, provide the cable and connection to how they receive power and extract heat, and include prefabricated power busway and technical water loop situated above the rack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z0jl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbdc558-83be-405e-ac77-5440964920ea_2165x543.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="365" src="https://substackcdn.com/image/fetch/$s_!Z0jl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbdc558-83be-405e-ac77-5440964920ea_2165x543.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Schneider Electric&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Take Schneider&amp;#8217;s EcoStruxure Pod as an example. The image above shows the black cabinets forming the IT rack rows where products like Nvidia GPU servers would be installed, a total of up to 40 racks can be placed in this one system. Above the racks, the gray overhead infrastructure is the distribution layer. It carries the busway that delivers power to each rack, containment to capture hot air as some of the solution will still be air cooled, technical water loop to distribute liquid cooling that extracts heat, and cabling that connects each servers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The interesting thing about this is the product design behind it. A factory white space must be able to serve different custom needs and therefore, suppliers like Schneider work with Nvidia to support more than 30+ reference designs. The buyer can essentially pick the specs that matches the chips it wants and gets a hall that is pre-coordinated with the matching required power and cooling module. In the coming section we will study in more detail how the design process takes place.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Whole Facility Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Whole Facility modularization is the literal datacenter-in-a-box model. Instead of delivering individual parts, the supplier delivers a complete or near-complete datacenter block.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NIQS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53c5b11d-1a27-4a02-b827-8a8ca6b69b5d_2500x937.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!NIQS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53c5b11d-1a27-4a02-b827-8a8ca6b69b5d_2500x937.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Containerized Datacenters&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wTPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58d524c-fb6c-4fe5-9f7e-579425b515bc_1430x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!wTPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58d524c-fb6c-4fe5-9f7e-579425b515bc_1430x842.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Starting with a containerized datacenters, this is the 4&lt;/span&gt;&lt;sup&gt;&lt;span&gt;th&lt;/span&gt;&lt;/sup&gt;&lt;span&gt; part of the form factor design where the datacenter itself is packaged into an ISO-style container or purpose-built weatherproof enclosure. Like we had discussed, the reason why this option exist is for the ease of transportation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kx1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe530d9bf-5ac8-4c91-9e56-07f232123c01_374x248.gif" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="248" src="https://substackcdn.com/image/fetch/$s_!Kx1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe530d9bf-5ac8-4c91-9e56-07f232123c01_374x248.gif" width="374" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Delta All-In-One Edge Solution&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As the image shown above, you can see almost everything inside the box: the IT racks, the power equipment, the batteries, and even the cooling system.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;These types of design are commonly used in edge computing, industrial environments, remote or unused spaces, and the product is most useful when the buyer needs a smaller datacenter quickly. For AI workloads, the buyer is usually not a compute startup chasing scale but an asset owner that needs low-latency inference at a fixed physical location.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!USPo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d57cbd-3cb8-405c-a590-efd9c56a31cd_1200x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!USPo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d57cbd-3cb8-405c-a590-efd9c56a31cd_1200x675.png" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&amp;#8217;s CrownPod Craned into site&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The main limitation of this buildout is density. The same form factor that makes the unit portable and fast to deploy also fixes the layout. That&amp;#8217;s why suppliers are pushing beyond the containerized model toward all-in-one prefab datacenter blocks.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;All-in-One Prefab Datacenter Block&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VmER!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa300c885-7b79-4999-a283-c7bc7c824b00_1430x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!VmER!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa300c885-7b79-4999-a283-c7bc7c824b00_1430x842.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The all-in-one prefab datacenter block is the more ambitious version of whole-facility modularization. Here the supplier delivers a larger facility block with more of the datacenter already integrated before delivery.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img processing" href="https://substackcdn.com/image/fetch/$s_!kRMc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde56d565-b8e6-40f4-bc02-ea222bd3062e_1000x1000.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="459" src="https://substackcdn.com/image/fetch/$s_!kRMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde56d565-b8e6-40f4-bc02-ea222bd3062e_1000x1000.png" width="459" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Vertiv MegaMod shows what this can looks like in practice. The structure effectively is a modular datacenter with the major systems packaged into one enclosure. The center of the block contains the IT racks, where servers are installed. Above and around the racks runs the fiber optics and cable-management pathways, along the perimeter are all the supporting infrastructure systems like cooling and power units.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The system&amp;#8217;s 1 MW reference design can stretch to approximately 26.5 meters long, 24 meters wide, and 4 meters high in dimensions. While the MegaMod plus version can extend to as much as 31 meters wide. You may be wondering, if it&amp;#8217;s this big how can it be ship to the site? In reality, the structure needs to be broken into transportable prefabricated sections, shipped through a standard heavy-haul logistics truck, and then connected and commissioned as one.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Platform Modularization and Reference Designs&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The last step in whole-facility modularization moves beyond any single vendor&amp;#8217;s block into a standardized reference design for the facility itself. In the same fashion the industry has reference designs for rack systems and CDUs, Nvidia now publishes one for the entire AI factory: Nvidia DSX. It was first unveiled as an Omniverse digital-twin blueprint at GTC Washington in October 2025, formalized as the Vera Rubin DSX reference design in March 2026, and more recently expanded into the full DSX platform.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The DSX reference designs are validated AI factory architectures covering compute, networking, storage, hardware cluster design, and also the facilities side, including power, cooling and controls. Even civil, structural, and architectural design. The value proposition behind is that Nvidia&amp;#8217;s DSX Max-Q maximizes token per watt within a fixed power budget, and DSX Flex facilitates the connection the facility to grid services, dynamically adjusting power draw and orchestrating demand with hybrid onsite generation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DUQn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1de1e0-f8b5-468d-9c6b-ca21d1ae6e56_597x335.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="335" src="https://substackcdn.com/image/fetch/$s_!DUQn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1de1e0-f8b5-468d-9c6b-ca21d1ae6e56_597x335.jpeg" width="597" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Nvidia Vera Rubin DSX AI Factory&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When deploying a DSX facility, through the Omniverse DSX Blueprint, an operator first builds a digital twin of the facility, simulates layouts, power topologies, thermal behavior, and operational policies in real time, and optimizes the design before construction begins, then reuses the same validated architecture across sites. For example, CoreWeave is already using DSX Air to build and test digital twins of its AI factories.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Besides, the whole DSX ecosystem includes pretty much all the supply chain: Cadence, Dassault Systemes, Eaton, Jacobs, Nscale, Phaidra, Procore, PTC, Schneider Electric, Siemens, Switch, Trane or Vertiv. Vertiv&amp;#8217;s OneCore, for example, packages power and cooling into standardized 12.5 MW pods that can be combined into larger AI-factory deployments&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;EdgeConneX estimates that a common design can advance a project to roughly a 30% to 60% permit set before site-specific localization is complete, allowing substantial off-site work to begin earlier.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Vendor landscape&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;If you have made it this far, you should have a working feel for the categories. You should also, maybe be a little buried in names. We have put a power module from Flex, a CDU from Airedale, a data-hall pod from Schneider, and an all-in-one datacenter from Vertiv all in front of you. So before going further, it helps to step back and lay the whole market out on a single map.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!u7C1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea5eee-1d24-497d-a2be-54b6bb9a5c55_2500x2041.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1189" src="https://substackcdn.com/image/fetch/$s_!u7C1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea5eee-1d24-497d-a2be-54b6bb9a5c55_2500x2041.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our universe runs to over 80 players, and laying them out this way is useful because two patterns jump out right away.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The depth is in the subsystems&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The power-room and cooling modular are by far the most crowded&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The same names keep showing up &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;across columns, because a vendor like Vertiv, Schneider, or Eaton sells a power module, a CDU, a white-space pod, and a whole block all at once.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Owning the Integration: Who actually does the modularization?&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The vendor landscape above maps who builds each piece, but not how those pieces become a module or who is on the hook when they do. From the solution provider&amp;#8217;s point of view it has three answers:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;At one end the operator holds both rights: it specifies the equipment, buys it directly, and hands it to an integrator purely for assembly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;In the middle sits the EPC- or integrator-led buildout, where the operator still sets the performance requirements but hires an EPC or integrator to source, coordinate, and build.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;At the far end is the OEM-led model, where a vendor like Vertiv designs and sells its own stack as one finished product, as it does with the OneCore portfolio&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YvO_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0115ef28-b275-414a-a678-3115e0f62aff_2500x937.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!YvO_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0115ef28-b275-414a-a678-3115e0f62aff_2500x937.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Operator-Led Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This is where the operator engineers the specification themself, procures the equipment directly as owner-furnished gear, and hands it to an integrator purely for assembly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This model requires the operator to have a deep in-house engineering and procurement team to specify and source every component, and the willingness to carry all of the cost, inventory, and lead-time risk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yZgr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62884260-b354-4fff-a504-fdc00e29f23c_2304x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!yZgr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62884260-b354-4fff-a504-fdc00e29f23c_2304x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In a supply-constrained market that risk is sharp, since the operator is competing for scarce transformers and switchgear without a vendor&amp;#8217;s allocation leverage, unless it buys at enough scale to have that leverage of its own.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That is why operator-led modular is effectively confined to the largest hyperscalers. AWS, for example, engineers its own prefabricated data-hall skids under Project Houdini and procures the equipment directly, using Cupertino Electric as design partner.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Aligned is another example of operator-led modularization, although it relies on external integration partners for manufacturing capacity. Aligned defines the architecture, owner-furnishes the major components, and controls the commissioning and quality program, while its integration partners receive, store, assemble, and test the equipment across multiple factory locations. The partner provides the production footprint, but the modular system remains Aligned&amp;#8217;s design.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;System-Integrator or EPC-Led Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The EPC-led modularization includes system integrators or construction companies that take mostly third party equipment and convert it into a skid/module. The integrator does the assembly, installation, factory testing, enclosure, and is the party in charge of delivering the finished skid to the end customer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The companies acting an integrators are both construction companies that have the footprint and capabilities to do the integration, like Comfort Systems, Sterling Infrastructure or Quanta&amp;#8217;s Cupertino Electric, and specialized modular integrators, like PCX, Nautilus, DXN, Infra Partners, Bladeroom, etc.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This type of modularization is vendor agnostic, which means that the customer keeps more control over the datacenter design, while the contractor moves part of the construction sequence into a prefab shop. The EPC buys the equipment, assembles it, wires it, pipes it, tests it, and ships it as completed construction scope.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!A67N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf02689f-123a-4dd5-b425-325162c8710d_2304x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!A67N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf02689f-123a-4dd5-b425-325162c8710d_2304x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Take Comfort Systems as an example. It is a MEP contractor, not an equipment maker, so it acts as the layer that procures and assembles the gear on the operator&amp;#8217;s behalf. The operator decides what equipment it wants and Comfort Systems does everything else. It runs that work through Environmental Air Systems and TAS Energy across 3.5+ million square feet of shop floor in Texas and North Carolina.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That concept is particularly attractive to hyperscalers. A big operator usually already knows exactly what equipment and design it wants, so it has no interest in buying someone else&amp;#8217;s fixed system. Working with EPC integrators like the kind for Comfort System, the operator keeps its own design and its own gear, and simply hands the building of it to a factory instead of a jobsite.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;OEM-Led Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Here the equipment vendor turns its own datacenter infrastructure stack into a repeatable module or platform. Although the product can still be configured for a specific site, the starting point is usually an off-the-shelf module using OEM&amp;#8217;s own architecture.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gEZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0f30ec-073c-4bf6-a1c1-eacaf53cf27b_2304x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!gEZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0f30ec-073c-4bf6-a1c1-eacaf53cf27b_2304x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Vertiv OneCore is a clear example. Instead of selling single equipment devices, Vertiv combines all the layers into a single modular platform. This platform integrates Vertiv&amp;#8217;s power, thermal, cooling, and IT infrastructure technologies inside a Vertiv&amp;#8217;s supplied steel shell.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5mJm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04db66d8-dcf4-43da-a099-03a359a69238_447x447.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="447" src="https://substackcdn.com/image/fetch/$s_!5mJm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04db66d8-dcf4-43da-a099-03a359a69238_447x447.jpeg" width="447" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;That is what makes it OEM-led, the customer is buying into Vertiv&amp;#8217;s entire integrated stack rather than asking an EPC integrator to assemble equipment line ups. This also allows Vertiv to capture higher content by selling the entire stack end to end, with the TAM expanding up to ~$7M/MW for some of their full-stack solutions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The tradeoff is capacity and execution risk. Besides the fact that these companies are going up the value-chain toward market segments they were not previously involved in, OEM-led modularization can only scale as fast as the OEM&amp;#8217;s factory capacity, supplier base, and integration teams can support. Vertiv&amp;#8217;s modular solutions run lead times of over 12 months today. This is also pushing big OEMs, not only Vertiv but also companies like Schneider and Siemens, to be selective with capacity slot allocation, requiring certain capacity minimums and favoring bigger projects. As a result, operators or developers looking for smaller scale capacity are increasingly working with the System Integrators.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The Modularization Cycle&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;By now our readers should be familiar with the different forms of modular solutions and the players leading this transformation. They will also have noticed how different this looks compared to traditional datacenter construction, and will have many questions about the operational implications. Those are the topics we address in this section.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mXP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1dd62-b41a-48fe-a5b6-49cba38aa8c5_2400x800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="485" src="https://substackcdn.com/image/fetch/$s_!mXP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1dd62-b41a-48fe-a5b6-49cba38aa8c5_2400x800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 1: Solution Design and Simulation&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Engineering the solution is the first step. In a field build, some of these decisions can change while construction is underway. In a modular build however, they need to be predetermined, frozen early, and repeatable since the box itself must come in a finish block.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The most important engineering at this stage happens at the facility level. Before a module can be finalized, the design team must define the load, select the equipment, develop the single-line diagram (SLD) and layout, and complete the short-circuit, protection-coordination, and arc-flash studies in tools like ETAP and PSSE. These analyses determine how the system is sized and which components can be used. Because they depend on the full electrical path from the utility connection through the downstream equipment, they cannot be completed on an isolated skid. The facility design therefore has to come first, with the module designed as part of that broader system.&lt;/span&gt;&lt;/p&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;p style="text-align: center;"&gt;Source: Aran Industries&lt;/p&gt;&lt;p&gt;&lt;span&gt;For 415/480VAC this work is well templated and repeatable. When considering &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/inside-the-800vdc-revolution-part"&gt;&lt;span&gt;all the implications of the 800VDC transition&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, it is not as well-templated. A handful of reference designs exist, but none are well baked yet, so the facility-level architecture is still being worked out design by design. This is also the part of the cycle now being automated. Companies like Aran Industries are building build custom software that plugs into ETAP, PSCAD, PSSE, Revit and the other design tools, compressing what is otherwise a multi-month (&amp;gt;2 months), multi-engineer electrical design process into hours of compute plus a single engineer reviewing the output.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Ownership of the Buildout&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Once the design is set, ownership comes down to two questions:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Who chooses the equipment;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Who carries the cost, the inventory, and the lead-time risk of the buildout.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Those decisions do not always sit with the same party. An operator may specify a component directly, or an integrator may select it and seek approval.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZFNM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cebb3e-3b9f-4e0a-ae70-5fd1960a1f06_1200x630.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="253.575" src="https://substackcdn.com/image/fetch/$s_!ZFNM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cebb3e-3b9f-4e0a-ae70-5fd1960a1f06_1200x630.png" width="483" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Schneider&amp;#8217;s Factory showcasing different modules&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Colocation operators are a clean exception. A wholesale colo is not bound to any single end-user&amp;#8217;s specification, and often does not even know who the tenant will be, so it is free to choose the equipment it wants and commit to it early, without waiting on anyone&amp;#8217;s sign-off.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Even then, local availability matters, because switchgear and transformers may carry 12 to 18-month lead times, while generators can require market-specific emissions controls. Customization can also reopen engineering and add roughly eight weeks.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 2: Packages and Documentation&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Once the design is frozen in Stage 1, what leaves the design stage is not a single drawing but a set of documentation packages, produced by different parties in different tools:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;An &lt;/span&gt;&lt;strong&gt;&lt;span&gt;issued-for-fabrication (IFF) package&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; with the shop drawings telling the factory how to build the skid&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;An &lt;/span&gt;&lt;strong&gt;&lt;span&gt;issued-for-construction (IFC) package&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; telling the site how to receive, place and connect it&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A separate &lt;/span&gt;&lt;strong&gt;&lt;span&gt;permitting and commissioning documentation&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; set, proving the design will pass code and testing.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RouU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F303e91b9-6fe8-4cb7-b1a4-4f95deb64445_2400x904.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!RouU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F303e91b9-6fe8-4cb7-b1a4-4f95deb64445_2400x904.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This stage is largely a documentation and paperwork exercise. Automating the Stage-1 design model lets these packages be generated from one source rather than be recreated by hand, removing the manual redrawing between parties (IFF and IFC serve different audiences, the factory and the field, and are issued separately; they are not the same document and do not drift against one another).&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 3: Assembling the module and Factory Testing&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Once all the prework is completed, the module still has to be physically built. Think of this step as the production line, but in a much bigger scale of a datacenter. The assembly process starts with a base, a skid, or a frame that sets the foundation of the module. From there, equipments are layered in sequence, with each component placed into its designated area like how you will assemble a LEGO building.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!4qxI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5450c310-0b3e-4ba8-a843-2f08d95053e7_1000x486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="230.85" src="https://substackcdn.com/image/fetch/$s_!4qxI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5450c310-0b3e-4ba8-a843-2f08d95053e7_1000x486.png" width="475" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&amp;#8217;s White Space Factory Line&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;What runs alongside the assembly is the factory acceptance test, or better known as &amp;#8220;FAT&amp;#8221;. Testing happens at two levels. The first is at each station as the module is assembled, an inspection gate where the work is checked before the module advances. The second comes once the module is complete: the whole unit is powered up and run the way it will run on site to confirm its rated load and everything is in place properly. By the time it leaves the line, the module is cabled, labeled, sealed, and proven to work on its own.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oOYk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5609f744-8cd1-456b-8538-1b8be45a95a3_800x600.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="285.75" src="https://substackcdn.com/image/fetch/$s_!oOYk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5609f744-8cd1-456b-8538-1b8be45a95a3_800x600.png" width="381" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv Factory Acceptance Testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Factory testing is critical. The industry often describes this through the 1-10-100 rule: a defect that costs $1 to fix during design or assembly may cost $10 once production begins and $100 after the product has shipped. Furthermore, standardization also makes testing repeatable, so same FAT procedures can be run multiple times across production.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 4: Delivering and installing the modules&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Now, the module leaves the factory&amp;#8217;s controlled environment and runs into the uncontrolled area of site logistics. At the scale of today&amp;#8217;s AI campuses, bringing the first block online is no longer enough, because operators also have to think about time to the last megawatt. The critical questions become how many finished modules can reach the site, how many can be unloaded and set in parallel, and how effectively limited rigging and installation crews can move from one block to the next.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;A closer look at: Transport and Logistics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In our conversations with datacenter developers, logistics appears as one of the main challenges equipment modularization presents. All these skids and modules are big and heavy, and shipping them from the factory to the site is not a minor task. That is why footprint and location matter so much, with integrators expanding their footprint to sit closer to their customer&amp;#8217;s sites.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Federal law fixes the no-permit envelope at 102 inches wide and 80,000 pounds gross, leaving about 24 tons for the module on a standard deck. Microsoft&amp;#8217;s Azure Modular Datacenter and Schneider&amp;#8217;s Easy Modular ride inside a 40-foot ISO container at 96 inches wide, so they cross any state line or fly in a C-17 permit-free.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Past that threshold, you need a permit, although the truth is that permit cost has little impact and the real implication is on schedule. A standard oversize permit runs just $15-100 a state, and even the line-haul, at $12-14 a loaded mile, makes a 500 mile move only six to seven thousand dollars a trailer.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!06s6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f165e61-54ec-4b94-9534-82ab4641fc5a_1200x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="240.75" src="https://substackcdn.com/image/fetch/$s_!06s6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f165e61-54ec-4b94-9534-82ab4641fc5a_1200x675.png" width="428" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&amp;#8217;s Prefabricated modular solution ready to ship&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On time, loads past roughly 16 feet become superloads, triggering a bridge-engineering review that runs 7 to 21 days per state and stacks toward months across a route, and escorts force restricted travel windows. Besides, the thresholds are not even uniform, as a module engineered to clear Virginia (superload at 18 feet or 250,000 pounds) can still trip Ohio&amp;#8217;s far lower 14-foot, 120,000-pound line.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Transport also becomes part of the reliability program. A module may experience greater mechanical stress on the road than during normal operation, particularly through vibration, braking, and loading. In one validation exercise, Aligned DC shipped a 3 MW module from Utah to Omaha and back with force loggers to measure the conditions it experienced in transit.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On top of all this, transport can also be constrained by the insurance it carries. High-value AI racks may be shipped only one or two at a time because concentrating too much equipment on a single trailer creates an unacceptable insured loss no insurance company is willing to bet on. The risk is not theoretical and we have heard cases where truck carrying large UPS module tipped over on a road in West Virginia while traveling toward Northern Virginia, leading to large reimbursement.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Considering all these implications, operators are designing around the haul, like AWS engineering Houdini&amp;#8217;s skids onto low double-drop trailers to stay under bridges. Also Nautilus floated its datacenter 50 miles to the Port of Stockton on a barge, and Compass put a Schneider module factory next to its Red Oak campus. That said, some operators like DXN do manage to ship containers from their factories in Perth, Western Australia all the way to the US. These are, however, mostly smaller containers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7hIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd6be86-de2d-4034-8e8f-a10bef3f39a7_2820x1740.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="898" src="https://substackcdn.com/image/fetch/$s_!7hIJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd6be86-de2d-4034-8e8f-a10bef3f39a7_2820x1740.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Once the module reaches the site, it must be lifted onto the prepared foundation, anchored, and connected to upstream power and downstream load. Even crane selection becomes part of the design process. A crawler crane&amp;#8217;s lifting capacity falls sharply as the load moves farther from the boom: a Manitowoc 18000 can lift roughly 600 tons at 7.3 meters, but only about 10 tons at 104 meters, so the module&amp;#8217;s weight, lifting points, and final landing position determine which crane is required and how much the lift will cost, typically around $5,000 to $25,000 per day. A single Schneider 500 kW power module, for example, weighs 50,000 pounds, needs six lifting points, and its load distribution is not known until it is built.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Stage 5: Site Commissioning&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;With the modules in place, it&amp;#8217;s time to commission them. Factory testing proves the individual unit, while commissioning proves the system under real conditions. Operators consistently call this the single biggest gap in the modular cycle, with a full site commissioning running 3 to 8 months end to end. While some vendors claim it can be shifted offsite, in practice the parts that matter can&amp;#8217;t be, because the major energy sources (the utility feed, the generators, the BESS) only meet on site.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;The levels of commissioning&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The industry generally runs a 6-level ladder, while some frameworks add a Level 0 design review at the front.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ycdB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10e9828-816b-44d2-b224-e5a62c1866d0_1800x1696.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1372" src="https://substackcdn.com/image/fetch/$s_!ycdB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10e9828-816b-44d2-b224-e5a62c1866d0_1800x1696.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L1 - Factory Witness Test (the &amp;#8220;red tag&amp;#8221;):&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; each skid or module proven as a standalone unit at the manufacturer. This is the level factory testing covers, and the level modular front loads.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L2 - Delivery &amp;amp; installation verification:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; the unit is received, set, anchored and inspected on site.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L3 - Pre-functional / startup (the &amp;#8220;green tag&amp;#8221;):&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; each system energized and started up on its own.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L4 - Functional performance testing (the &amp;#8220;blue tag&amp;#8221;):&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; each system run to the switchgear, the cooling loop.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L5 - Integrated Systems Testing / IST (the &amp;#8220;white tag&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&amp;#8221;): every system energized and running together, on site, under simulated failure, an A-side outage, a UPS/STS transfer, a pump failover, a black-building start.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zdI8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d31ee5-c418-4fa6-b822-06082f1287b6_937x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!zdI8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d31ee5-c418-4fa6-b822-06082f1287b6_937x668.png" width="937" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Hioki Commissioning Steps&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;From L2 onward the work has to happen physically on site, because the sources being tested against like utility feed, generators, BESS are only present there.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To understand where time can actually be recovered, we identify two levers. First, parallelize commission modules and subsystems as they land rather than waiting for the whole site, so L2&amp;#8211;L4 on the early modules overlap the delivery of later ones and only L5 has to wait for the full set. Second, reuse the plant as its own load bank: the power equipment and its battery storage can serve as the load bank during commissioning, so instead of trucking in rented gensets and resistive banks that leave when the test ends, the same gear that proves the plant stays on as part of it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jlh4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57d19e3-88ed-4ede-beec-5a244ab78361_1000x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="303.272" src="https://substackcdn.com/image/fetch/$s_!jlh4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57d19e3-88ed-4ede-beec-5a244ab78361_1000x668.png" width="454" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Electrical Engineering Portal, commissioning substation and MV switchgear&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Parallel Factory Commissioning&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;At scale the binding constraint is usually the Level 3 point-to-point work, because every PDU, control panel, and field device must be wired, addressed, named, and verified back to the BMS. Across hundreds of PDUs each exposing dozens to hundreds of points, this is the real commissioning bottleneck. To move faster, some big datacenter operators are running parallel factory commissioning tracks alongside the standard on-site process, completing equipment verification and control checks before shipment (repeating some tests post-transport) while the site team keeps delivery checks, live interconnection, and integrated-system testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This consideration also matters when studying aggressive project timelines claims. Some 6-9 month schedules are achieved partly by compressing or minimizing the commissioning process. That may accelerate initial turn-up, but it significantly shifts risk into operations.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Putting the Value Proposition of Modular Solutions to Test&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;All modular pitches mainly rest on three claims: (1) Speed to market; (2) Quality of Build and Safety; and (3) Total Cost of Ownership. The marketed numbers are huge figures, with Vertiv claiming MegaMod at up to 50% faster on module deployment and SmartRun at up to 85%, and Schneider claiming 60% faster and 13% lower first cost on power and cooling.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Those are big (big!) numbers, so we rebuilt the case bottom-up against our baseline reference datacenter that we include in the &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a 50 MW liquid cooled AI hall in the US. As headline, our numbers estimate a ~36% shorter construction window for modular construction when considering the full construction timeline, and a ~8% lower all-in cost. Let&amp;#8217;s break down these figures.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g9Bc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad1bd1f-3c81-4f65-833a-18e7320af078_2912x1344.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!g9Bc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad1bd1f-3c81-4f65-833a-18e7320af078_2912x1344.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Speed Advantage&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Speed is undoubtedly the core vendor selling point. Following our previous taxonomy, the realized savings will depend a lot on which modular solutions you use in the build. To understand where the speed savings come from, we need to understand the construction timeline in commonly four blocks:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Groundworks:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 4-6 months, averaging about 5 months. Modularization changes little here beyond simplifying some pad and foundation work.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Structure and shell:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 2.5-4.5 months, with a midpoint of about 3.5 months.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Mechanical and electrical fit-out:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 7-11 months. Today&amp;#8217;s baseline already includes some preassembled electrical equipment, such as LV switchgear and UPS lineups.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Commissioning to IT-ready:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 3-8 months, with a single-hall midpoint of about 4.5 months. Longer timelines usually reflect phased, multi-hall handovers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Added together, a conventional 50MW building runs about 18 to 24 months from groundbreaking to IT-ready, with permitting excluded from that clock. In addition to the mentioned commissioning considerations, faster timelines claims are also sometimes related to a counting convention, often starting the clock at the electrical fit-out or the vertical works rather than at groundworks. Besides, permitting adds another 12 to 13 months that cannot overlap with construction, taking the all-in timeline to roughly ~30-35+ months for a stick build against ~24-30 for modular.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the table below, which considers a scenario of an operator going full modular, modularization can compresses the construction window to about 12-18 months, around ~36% faster than a pure stick build and about ~30% faster than today&amp;#8217;s baseline that considers some modularization.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vgO6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d2c4802-46e6-40ff-a7bc-60798e936757_1430x393.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="393" src="https://substackcdn.com/image/fetch/$s_!vgO6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d2c4802-46e6-40ff-a7bc-60798e936757_1430x393.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The savings scale with how much scope moves to the factory. An operator taking only MEP skids, midway between today&amp;#8217;s baseline and a full modular build, lands around 17 months. That schedule can be shortened even further when deploying all-in-one prefabricated block or containerized datacenters, which can take the building window all the way down to about 12 months. Today we can hear some claims even for under 12-month deliveries.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HtbN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd5db78c-8c8e-41ab-8f7f-bd5ab328facf_2912x1464.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="732" src="https://substackcdn.com/image/fetch/$s_!HtbN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd5db78c-8c8e-41ab-8f7f-bd5ab328facf_2912x1464.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Digging deeper, during the MEP fit-out, an AI data hall absorbs about 12,000 field man-hours per MW, with electrical the dominant trade. A standard 50 MW hall concentrates 600,000 field hours into one building and stacks about 300 craft workers at peak. Relocating that MEP scope to the factory, on-site hours fall about ~63% to 4,500 per MW and licensed-electrician hours about 85%. The window itself compresses by less than the hours because the relocated work now runs in the factory in parallel with sitework. In addition, moving work into the factory also reduces dependence on weather and geographic constraints.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yoYh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421792de-47ec-456d-9d49-d5899315b7c1_2912x1344.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!yoYh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421792de-47ec-456d-9d49-d5899315b7c1_2912x1344.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Speed equals money&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Speed is compute and compute is revenue, so the true value of pulling go-live forward is the opportunity cost of the delay. In our calculations we consider as a rule of thumb that today, for CSPs, a megawatt of IT load generates on the order of $12M to 15M of revenue a year, or about $1-1.25M per IT MW per month. That said, in such a capacity constrained market, we are seeing new deals being made on much higher disclosed pays, see SpaceX and Anthropic deal, or &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;as we recently covered in our Meta newsletter post&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, revenues of $50M per IT MW. Companies like Anthropic or OpenAI are making over $50M/MW on API.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;On the COGS side, the relevant cost is GPU depreciation, at an average $30M/MW for an Nvidia cluster depreciated over five years, roughly $500,000/MW per month. An idle month strands at least that depreciation, on GPUs already on the clock whether or not the hall is ready, so we value an earlier month to the owner-operator at about $500k/MW, a conservative figure since the contribution margin on live compute is higher. For a wholesale colocation operator that never owns the GPUs, the value of an earlier month is just the lease it can now bill, about $190,000/MW per month, roughly $190/kW/mo.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PWH_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18483053-f344-4a19-9553-94575ef42deb_2500x1188.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="692" src="https://substackcdn.com/image/fetch/$s_!PWH_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18483053-f344-4a19-9553-94575ef42deb_2500x1188.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Applying those unit economics to the roughly 8-month lead over a pure stick build, the owner-operator captures about $200M undiscounted across the 50 MW hall, or ~$4M/MW.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Of course, all of this is conditional on the building being the binding constraint. Go-live is the latest of three dates, building ready, power available, and GPUs delivered, and accelerating the building earns nothing if it was not the date that bound.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The TCO Advantage&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Compared to the realized speed benefits, Capex savings are not meaningful. We estimate that same full modular 50 MW liquid cooled hall costs about ~$1.1M/MW less all-in, ~$13.5M/MW against ~$14.6M/MW, just under an ~8% delta.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;When looking at the all-in content/MW for the datacenter equipment, we can separate between hardware cost and service or installation cost. The hardware piece itself does not change much: switchgear, UPS, transformers, and other core hardware cost the same whether they are installed in a field-built room or integrated into a factory skid. The gross savings come from two places mainly, the labor portion and a shorter build time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Dn-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ade310f-6211-4cfb-8f98-e15b5b7c3ae3_2912x1464.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="732" src="https://substackcdn.com/image/fetch/$s_!Dn-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ade310f-6211-4cfb-8f98-e15b5b7c3ae3_2912x1464.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;We estimate that moving MEP into the factory saves about $0.6M/MW on construction services and $0.5M/MW on installation. The wage gap is small, as BLS puts field construction at $34/hour against $33/hour in the factory, though overtime and site premiums lift the effective field electrician to roughly $63/hour. The real lever here is higher factory throughput, dropping a full field hour of scope.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Second is the effect from shorter build time. Locking factory cost earlier and compressing the field period trims escalation, contingency, change orders and site general conditions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U4rN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef46db90-85cb-4744-9167-ac9ea243a3ea_1430x734.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="734" src="https://substackcdn.com/image/fetch/$s_!U4rN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef46db90-85cb-4744-9167-ac9ea243a3ea_1430x734.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Against those savings, modular carries some penalties, with double margin being the largest. A stick build marks up installed content once, through the general contractor and its subs. A modular build adds a separate module-vendor margin on top of the site integrator&amp;#8217;s. That layer compresses when the OEM also integrates on site, as Vertiv and Schneider do on their turnkey programs. Schneider&amp;#8217;s WP163 shows this dynamic, putting module hardware about 40% above traditional and netting to 13% lower first cost, after design and install labor savings are counted.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9nL7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb77f0f-01f9-4a9d-80ed-5486e4254f8d_1051x652.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="652" src="https://substackcdn.com/image/fetch/$s_!9nL7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb77f0f-01f9-4a9d-80ed-5486e4254f8d_1051x652.png" width="1051" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Schneider&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Two smaller penalties follow, including the module premium (chassis, bracing, extra interconnects, transport and craning), and from the vendor perspective, the additional factory burden.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fHqv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5199a1d-0473-4b32-afd3-7e2e71d08888_1430x393.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="393" src="https://substackcdn.com/image/fetch/$s_!fHqv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5199a1d-0473-4b32-afd3-7e2e71d08888_1430x393.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Quality and Predictability Advantage&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Factory first-pass quality, the share of test and inspection points cleared without rework, is supposed to exceed 95% in modular solutions, against a field baseline of 60-70%, thanks to the on-factory fixed work instructions. The benefit is system predictability. Flex frames this as a design choice and engineers it through design failure-mode-and-effects analysis for productized configurations, design-for-manufacturing and design-for-assembly reviews for project-specific ones.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;That said, recent conversations point to the opposite side, with operators and MEP contractors claiming that modular solutions have proven reliability issues and haven&amp;#8217;t lived up to their claims. This eventually means not only losing all the time savings gained initially, with a field team having to go on site, but more importantly, putting the precious hardware at risk.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;strong&gt;&lt;span&gt;Re-evaluating Vendors&amp;#8217; Claims&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Our ~36% time savings, or around 8 months, lands just above Flex&amp;#8217;s published 30%+ floor on whole projects. In order to do a fair comparison, we must consider that vendors&amp;#8217; numbers usually come from narrower scopes or composite definitions, not the end-to-end construction timings. Vertiv&amp;#8217;s 85% SmartRun claim applies to overhead busway and containment, while MegaMod&amp;#8217;s 50% claim measures module deployment against on-site build. Schneider&amp;#8217;s 60% claim is for power-and-cooling modules.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_AwO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6666639d-e2a7-43a2-b99c-0d031ac2a764_2912x1344.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!_AwO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6666639d-e2a7-43a2-b99c-0d031ac2a764_2912x1344.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;What Operators and Developers Are Modularizing Today&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Across the market, operators and developers are not converging on one modular strategy.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Hyperscalers&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Hyperscalers most frequently build their own fleet, vertically integrate buildouts, and engineer the datacenter design around their actual workload. That&amp;#8217;s why hyperscalers tend to show the innovator traits and have leading experimental footprint.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;AWS&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS shows the fastest scaling buildout currently, adding almost 3.9 GW of capacity to the end of 2025. Project Houdini is their largest internal attempt to modularization model. Rather than designing a modular building from scratch, AWS took its standard data-hall map and re-cut it into a factory-built skid roughly 45-feet in length and weighing about 2000 pounds that is transportable on double-drop trailers. This puts Houdini squarely in the &amp;#8220;factor-built white-space&amp;#8221; category.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pNot!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ea8619f-2321-4e42-bc73-a2e419c631d7_1170x633.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="633" src="https://substackcdn.com/image/fetch/$s_!pNot!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ea8619f-2321-4e42-bc73-a2e419c631d7_1170x633.png" width="1170" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS Project Rainier Indiana&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The approach cuts deployment from as much as 15 weeks to roughly 2&amp;#8211;3 weeks and can eliminate more than 50,000 on-site electrician hours per module. The skids are built in Houston, Salt Lake City, and Topeka, with early deployments in Texas and South Bend, targeting ~25 weeks from construction start to the first server room.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Houdini is also notable for its approval model. Instead of relying only on site-level engineering sign-off, the factory process requires separate validation of the design and the physical build. Cupertino Electric serves as the main partner, responsible for the latter.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kGpQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a7f6ee-678c-46c8-9d2e-2d9394a0b80f_1998x1366.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="995" src="https://substackcdn.com/image/fetch/$s_!kGpQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a7f6ee-678c-46c8-9d2e-2d9394a0b80f_1998x1366.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta has recently focused on how to get the building enclosed. Its &amp;#8220;tents&amp;#8221; datacenters, or rapid-deployment structures, are the clearest example of shell-level modularization in the taxonomy above. A lightweight structural frame supports a tensioned fabric membrane, creating a weather-protected enclosure much faster than a conventional steel-and-concrete building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At Prometheus in New Albany, Meta is using this strategy to pull shell construction forward&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GLGN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26f3426e-2d7c-469a-acba-ea104d023b84_916x482.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="482" src="https://substackcdn.com/image/fetch/$s_!GLGN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26f3426e-2d7c-469a-acba-ea104d023b84_916x482.png" width="916" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Meta Tent at Prometheus New Albany&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meta has built six rapid deployment structure at this campus, with each roughly 125,000 in square feet dimension. To put speed savings into the picture, it&amp;#8217;s worth noting that the site&amp;#8217;s first five permanent buildings took Meta two to three years to complete, while the tents took a fraction of that, with eight standing by April 2026 from our satellite tracking since their announcement of the tent buildout in July of 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This does not mean Meta built the complete datacenters in nine months, because the tent accelerate the shell but not the full facility. Also, the trade off on the other hand, is resilience. A fabric structure does not provide the same long-term durability or weather protection as a permeant steel or concrete shell as we had described above, it is also not built with intent to provide decade-long protection service.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;GPU Clouds and Neoclouds&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Crusoe&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Crusoe participates in both the shell modularization and whole facility modularization taxonomy. At the Abilene Stargate campus, Crusoe accelerated the shell using structural steel and factory-made insulated metal panels. Working with Digital Building Components, each building used roughly 672 prefabricated panels. The panels were manufactured in under 40 days and installed at a rate of roughly 15 to 20 per day, allowing the building to reach a dried-in state in under eight weeks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wClg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F509f6080-e982-4f6e-b0fb-dce2c6e2ecc7_1432x671.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="671" src="https://substackcdn.com/image/fetch/$s_!wClg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F509f6080-e982-4f6e-b0fb-dce2c6e2ecc7_1432x671.jpeg" width="1432" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Crusoe Stargate Abilene Campus&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In addition, Crusoe&amp;#8217;s decided to vertically integrate the manufacturing process. Its 2022 acquisition of Easter-Owens brought modular datacenter and electrical-system manufacturing in-house, giving Crusoe greater control over design, supply chain, and production. The company is now expanding that capability through a dedicated Spark factory in Brighton, Colorado.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each Spark unit are roughly one megawatt in scale and arrive substantially complete, placing Spark in the whole-facility modularization category.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!onWg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87869878-a751-4e71-8ee4-1ab52b74a00d_738x411.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="411" src="https://substackcdn.com/image/fetch/$s_!onWg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87869878-a751-4e71-8ee4-1ab52b74a00d_738x411.jpeg" width="738" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Crusoe Energy Systems &amp;#8211; Spark Container&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Redwood Materials deployment in Nevada shows how this model can scale. Crusoe initially installed four Spark units alongside a 12 MW microgrid and later announced an expansion to 24 units.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Hut 8&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Hut 8 is buying the entire infrastructure stack. A former bitcoin miner with power and land positions, it is racing to convert those positions into leasable AI capacity, and the fastest way to do that is to buy a finished modular stack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!0r6e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88acc7be-4dbd-4153-93c4-e044f5f9d95e_1008x509.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="232.78670634920636" src="https://substackcdn.com/image/fetch/$s_!0r6e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88acc7be-4dbd-4153-93c4-e044f5f9d95e_1008x509.jpeg" width="461" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Hut 8 Corpus Christi Beacon Point Platform&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At its Beacon Point campus in Corpus Christi it runs Vertiv&amp;#8217;s OneCore to commercialize a 704MW IT lease.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The project is being designed around Nvidia&amp;#8217;s DSX reference architecture and delivered through a group of established counterparties. American Electric Power provides the utility relationship, Jacobs Solutions owns the EPCM scope, and Vertiv supplies the critical power and cooling infrastructure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Nebius&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius takes a lighter approach to modularization by defining the facility around its own compute architecture and modularizing selected parts of the infrastructure such as power and cooling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the New Jersey campus, the facility is being built to Nebius&amp;#8217;s own design through its partnership with DataOne and is planned as a phased development expandable to 300 MW. The company used precast structural components to accelerate the shell, while pairing the site with Bloom Energy behind the meter fuel cells as the power solution.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qwam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a140a1a-442b-4e65-b2e5-d9159acf6656_800x476.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Sherrill unveils N.J. plan to regulate AI data centers amid rising energy  costs - nj.com" class="sizing-normal" height="476" src="https://substackcdn.com/image/fetch/$s_!qwam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a140a1a-442b-4e65-b2e5-d9159acf6656_800x476.jpeg" title="Sherrill unveils N.J. plan to regulate AI data centers amid rising energy  costs - nj.com" width="800" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NJ.com, Nebius/DataOne New Jersey&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At B&amp;#233;thune, France, the company follows the same operating logic through a different construction method. The project reuses the former Bridgestone tire plant, avoiding part of the greenfield shell and permitting process. Azur Datacenter is responsible for the land, utility intake, construction, and physical plant, while Nebius focuses on the GPUs, racks, networking, and software.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Colocation Providers&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Compass&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Compass is the colo that has run the modular playbook longest. They industrialize the whole facility into a repeatable kit of parts, not just one subsystem. We estimate roughly 70 - 85% of each building is manufactured off-site and bolted together on site, standing up a building&amp;#8217;s framework and roof in 18 to 21 days. The kit spans the full stack:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Shell: a rebar-free, fiber-reinforced precast shell, Compass casts itself from on-site batch plants&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;White space:&lt;/span&gt; &lt;span&gt;Standardized prefabricated rack and containment systems such as using Schneider&amp;#8217;s EcoStruxure Pod&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Power block: a repeatable ~1.25 MW Schneider power center (Galaxy VX UPS, lithium-ion batteries, QED-2 switchgear)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;MV switchgear: modular medium-voltage switchgear skids under a Siemens deal for up to 1,500 units over five years&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DoIh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e4c0e-9373-499f-93c5-4209a4698865_970x464.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="240.6103092783505" src="https://substackcdn.com/image/fetch/$s_!DoIh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e4c0e-9373-499f-93c5-4209a4698865_970x464.jpeg" width="503" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Compass Datacenters in Red Oak&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It runs this same kit across campuses, up to 360 MW at Red Oak, Texas and eight buildings across 1.8 million square feet at Goodyear, Arizona.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;QTS&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;QTS&amp;#8217;s modular strategy is built around locking the design early, standardizing the interfaces between vendors, and purchasing critical equipment before a specific building needs it. The company maintains roughly 7 million square feet of warehouse capacity in Kansas for long-lead equipment, allowing UPS systems, switchgear, cooling equipment, and other owner-furnished components to be held in inventory rather than ordered after each customer signs.&lt;/p&gt;&lt;p&gt;The approach began with the Freedom Design, which keeps the building shell flexible but repeats the power architecture. Each factory-built pod combines a 1.5 MW UPS and switchgear package with a 2.25 MW generator, and the system scales in 1.5 MW increments. Freedom LC+ expands the same concept into cooling, with an architecture that can support either fully air-cooled or fully liquid-cooled deployments. QTS&amp;#8217;s newer rapid-deployment design pushes modularization further into the building itself, organizing capacity around repeatable 60 MW data-hall blocks.&lt;/p&gt;&lt;p&gt;QTS has therefore continued to move more scope off-site: first the power train, then parts of the cooling system, and now portions of the shell and data hall. For the shell, some QTS facilities use tilt-up concrete, including Manassas, while larger campuses such as Cedar Rapids use structural steel. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1V6g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b685916-1e0f-401b-a00a-dd37556a4ffa_645x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Project Profile: QTS MAN1 DC-3 | Tilt-up Concrete Association" class="sizing-normal" height="391.13178294573646" src="https://substackcdn.com/image/fetch/$s_!1V6g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b685916-1e0f-401b-a00a-dd37556a4ffa_645x680.png" title="Project Profile: QTS MAN1 DC-3 | Tilt-up Concrete Association" width="371" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: QTS Man1 Project Tilt-UP&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The value is labor, safety, and schedule certainty. QTS estimates that labor pressure has increased datacenter construction costs by roughly 20&amp;#8211;30% per MW. Moving to modular is the company is trend, and they begin by stocking long-lead equipment in advance removes another source of delay, giving QTS greater control over when the final megawatts can be commissioned.&lt;/p&gt;&lt;p&gt;QTS developed subsequently the &amp;#8220;Rapids&amp;#8221; design, which materially accelerates construction timelines. Two major AI companies have adopted this design at scale. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jxlG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7671330c-35c5-43de-b0bb-59627d84a988_1414x1180.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1180" src="https://substackcdn.com/image/fetch/$s_!jxlG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7671330c-35c5-43de-b0bb-59627d84a988_1414x1180.png" width="1414" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/industrials-model/"&gt; SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Aligned Data Centers&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Aligned&amp;#8217;s modular strategy is centered on adaptability, keeping the core power and cooling architecture standardized while allowing the hall configuration to change as customer requirements and rack densities evolve. The approach began with core MEP infrastructure, including a 2 MW UPS container with integrated distribution switchgear and power. This approach is now extending into site conveyance through examples like prefabricated chilled-water assemblies. For customers able to coordinate early, the scope can extend even further into the white space through things like secondary fluid piping.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!badq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f482d50-f566-4f90-9fdc-8f95fb2d5463_1024x531.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="227.6455078125" src="https://substackcdn.com/image/fetch/$s_!badq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f482d50-f566-4f90-9fdc-8f95fb2d5463_1024x531.png" width="439" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Aligned Adaptive Modular Infrastructure&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The other core element is Aligned&amp;#8217;s Adaptive Modular Infrastructure platform, which keeps the underlying power and cooling systems consistent while allowing the hall to shift between air, hybrid, and liquid cooling as rack densities evolve. The platform combines&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Delta&amp;#179;, Aligned&amp;#8217;s air-cooling system, supporting densities of up to roughly 50 kW per rack.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;DeltaFlow, its liquid-cooling platform, supporting densities above 350 kW per rack&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Because the underlying chilled-water loop and facility interfaces remain consistent, the cooling mix can change without redesigning the entire hall.&lt;/span&gt; T&lt;span&gt;he components inside the modules remain standardized and do not change. An example is found in Project Caprock in Texas, 540 MW across six buildings and 1.65 million square feet.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"/>
    <summary type="html">&lt;h1&gt;The Labor Problem and Modularization to the Rescue&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Today we dig into the world of datacenter construction, because how datacenters are built now bears little resemblance to how the industry has historically done it. Concrete walls arrive as finished panels, mechanical and electrical rooms arrive wired, and sometimes even entire data halls arrive on the back of a truck. Some of the largest datacenters in the world are increasingly assembled the same way you assemble your new Spider-Man LEGO set, only that the bricks weigh 50,000 pounds and are a tiny bit more complex. This is the world of modular construction.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;From Hyperscaler to Colos to now even the AI labs, modular construction has become the default playbook for building fast. Our Modular Tracker, included in our SemiAnalysis &lt;a href="https://semianalysis.com/industrials-model/"&gt;Industrials Model&lt;/a&gt;, tracks over 61GW of modular capacity and 1,000+ sites using some form of modularization or prefabrication strategy. Full breakdown by modular category and equipment type is included in the &lt;a href="https://semianalysis.com/industrials-model/"&gt;Industrials Model&lt;/a&gt;. We estimate that modular penetration will reach 30%+ of total live capacity by the end of 2028. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mAZt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c16231-6f3d-4c90-b750-cdee249d56f4_3354x2153.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="935" src="https://substackcdn.com/image/fetch/$s_!mAZt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c16231-6f3d-4c90-b750-cdee249d56f4_3354x2153.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ultra-fast modular designs are increasingly the norm. &lt;a href="https://newsletter.semianalysis.com/p/meta-superintelligence-leadership-compute-talent-and-data"&gt;Over a year ago, we were the first to call out Meta&amp;#8217;s drastic change to using &amp;#8220;tent&amp;#8221; buildings&lt;/a&gt;. As shown below, AWS is now rolling out at very large scale their own modular design codenamed &amp;#8220;SAMDC&amp;#8221;. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yUYr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72654e35-b473-44d9-83d5-93bfd3ffda27_3114x2171.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1015" src="https://substackcdn.com/image/fetch/$s_!yUYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72654e35-b473-44d9-83d5-93bfd3ffda27_3114x2171.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;To understand the reason, we need to start looking at one of the structural bottlenecks that capitalist incentives alone cannot build past: labor.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our recent articles have been a journey toward that bottleneck. In &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/to-boldly-go-the-case-for-space-datacenters"&gt;&lt;span&gt;The Case for Space Datacenters&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;, we showed the ceiling on terrestrial capacity. Last month, in &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;&lt;span&gt;Stop Saying Half of 2026 US Datacenter Capacity Is Canceled&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221;, we argued that most bottlenecks are misunderstood and solvable. Trade labor is an exception here, as you cannot quickly solve for a shortage of electricians and pipefitters. The race for that talent became a true constraint long ago, visible when operators like Crusoe pumped wages by 30% to bring talent to Abilene&amp;#8217;s site, which required over 9,000 workers at its peak.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DS20!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13c3a8e-bc45-4188-8596-978dd543a131_3450x1920.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="810" src="https://substackcdn.com/image/fetch/$s_!DS20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc13c3a8e-bc45-4188-8596-978dd543a131_3450x1920.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;, US Census Bureau&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Aiming to size the labor shortage trade by trade, we now also include the Labor Model as part of the &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. It translates the state-by-state buildout from &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;our Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; into hours of demand for every trade and sets them against reachable labor supply. To frame the problem before modularization enters the picture, the chart below is ex-modular construction, with labor demand curve assuming labor per GW stays roughly flat over the forecast period and doesn't yet reflect the benefits we'll cover later in this article. Reachable labor supply in each state, on the other hand, is affected by how much capacity is being built, and how much labor is being pulled, in other US states. &lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vSIh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd044c040-2aab-4ab9-aa65-be81bd574ece_2200x1240.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="821" src="https://substackcdn.com/image/fetch/$s_!vSIh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd044c040-2aab-4ab9-aa65-be81bd574ece_2200x1240.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Electricians are a clear case, as they represent 30-40% over the total construction man hours in a datacenter project. The chart below shows an estimated electrician shortage emerging in 2027 driven by the huge mission-critical demand. On a state-by-state basis, the shortage is most acute where the buildout concentrates, like Texas and Ohio.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!p9ap!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d8787-b1b0-42eb-a95c-7dee8af1e844_2400x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="837" src="https://substackcdn.com/image/fetch/$s_!p9ap!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d8787-b1b0-42eb-a95c-7dee8af1e844_2400x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The response is that every operator and vendor are now racing toward modularization, which essentially means pulling repeatable work off-site and into factories, where everything from wall panels to power rooms and cooling skids are built in parallel with the site and delivered as finished units. Besides, it does more than ease the labor crunch, promising large speed and time-to-build gains. And today, speed is revenue.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The shift is already underway, with Compass and Switch being the first operators to move parts of their datacenter builds offsite. Using some form of skidded solution for electrical equipment is now pretty standard for every operator. AWS&amp;#8217;s Project Houdini prefabricates the white-space buildout and collapses the time before servers go in from months to weeks. Meta is standing up fabric-clad &amp;#8220;Tent&amp;#8221;-like halls. And a wave of new entrants, both in the OEM and the System Integrator space, are building specifically around modular.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this deep dive we rebuilt the modular case bottom-up against some of the speed and cost claims made by vendors like Vertiv or Schneider, finding that modular construction can compress the construction window by &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;36%, or 7-9 months, and is &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;8% cheaper on a Capex/MW basis. We also analyze how vendors like Vertiv are able to expand their value capture per project by offering the full stack solution, going from their historical &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~$&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;3.5M/MW content to &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~$&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;7M/MW with the modular solutions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!iuxF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6a4ecdf-f99a-41bc-a676-b72206c25bdc_2912x1464.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="732" src="https://substackcdn.com/image/fetch/$s_!iuxF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6a4ecdf-f99a-41bc-a676-b72206c25bdc_2912x1464.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The problem, though, is that today everything seems to be modular and vendors, EPCs and Colocation providers many cases are describing entirely different things. To bring some order to this wild west, this article unpacks what modular actually means. We map the vendor landscape building a modular universe of more than 80 players and test whether the vendor claims hold up. &lt;/p&gt;&lt;p&gt;&lt;span&gt;For subscribers, we focus on the main beneficiaries and break down how each player is positioned,  from the public names (FIX, STRL, PWR, VRT, SU, FLEX&amp;#8230;) to private challengers such as Infra Partners, Bladeroom, and Faith Technologies, distilling the key insights from our recent &lt;/span&gt;&lt;a href="https://semianalysis.com/core-research/"&gt;&lt;span&gt;Core Research&lt;/span&gt;&lt;/a&gt;&lt;span&gt; subscriber notes on &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/comfort-systems-modular-capex-is-the-moat/"&gt;&lt;span&gt;Comfort Systems&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: &lt;/span&gt;&lt;em&gt;&lt;span&gt;&amp;#8220;Modular Capex Is The Moat&amp;#8221;&lt;/span&gt;&lt;/em&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/sterling-infrastructure-winning-where-it-counts-quadrupled-tam-via-texas-pacific-northwest-and-the-midwest-2x-content-per-mw-from-cec-attach-6b-order-run-rate-in-view/"&gt;&lt;span&gt;Sterling Infrastructure&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: &lt;/span&gt;&lt;em&gt;&lt;span&gt;&amp;#8220;&lt;/span&gt;Winning Where It Counts: Quadrupled TAM via Texas, Pacific Northwest, and the Midwest; 2X Content per MW from CEC Attach; ~$6B Run-Rate In View&amp;#8221;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;em&gt;To start off, we&amp;#8217;d like to thank &lt;a href="https://q.com/"&gt;QTS&lt;/a&gt;, &lt;a href="https://www.edgeconnex.com/"&gt;EdgeConneX&lt;/a&gt;, &lt;a href="https://aligneddc.com/"&gt;Aligned Data Centers&lt;/a&gt;, &lt;a href="https://www.se.com/ww/en/"&gt;Schneider Electric&lt;/a&gt;, &lt;a href="https://www.applieddigital.com/"&gt;Applied Digital&lt;/a&gt;, &lt;a href="https://www.dgmatrix.com/"&gt;DG Matrix&lt;/a&gt;, &lt;a href="https://aranind.com/"&gt;Aran Industries&lt;/a&gt;, &lt;a href="https://www.karmanindustries.com/"&gt;Karman Industries&lt;/a&gt;, &lt;a href="https://radiant.co/"&gt;Radiant&lt;/a&gt;, and Rajat Bhagat for their contributions and insights during the preparation of this deep dive.&lt;/em&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The Modular Taxonomy&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!m8gW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a11e81-c993-45dd-b237-a716280c1f75_4704x3228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="999" src="https://substackcdn.com/image/fetch/$s_!m8gW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a11e81-c993-45dd-b237-a716280c1f75_4704x3228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Before we go into the detail taxonomy, let&amp;#8217;s start with the basic definitions, because two words concepts often get mixed up: prefabrication and modularization.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Prefabrication&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the broader concept: any part of the build manufactured offsite and delivered ready to install. It is a statement about where the work happened, not about the shape of the thing.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Modular&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is narrower. It refers to the actual self-contained units (rooms, boxes, blocks) that ship complete and get bolted together on site. Every modular unit is prefabricated, but prefabrication may not be directly modular.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CHkv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48bf0f7a-3e0d-432a-acb1-3d23459c76ec_2240x944.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="614" src="https://substackcdn.com/image/fetch/$s_!CHkv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48bf0f7a-3e0d-432a-acb1-3d23459c76ec_2240x944.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Hold onto that distinction, because it is the spine of everything below. From here on, we will walk through the landscape the way a datacenter is actually built up, then we will go into details on the taxonomy that makes up the modular market starting from the ground up.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Understanding The Datacenter Anatomy&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At a high level, a datacenter can be seen as simple three stacks of layers: Site, Shell, and Systems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the bottom we have the site, or the physical land of the datacenter buildout. This is where grading, wiring, and foundation building take place. This layer cannot be modularized because you have to physically break ground on a parcel of land and pour foundations into it on the set up.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Above that sits the shell, which means the structure, skin, and roof that serve as the backbone and weatherproof the entire datacenter buildout. Inside the shell is where all the equipment and subsystem, including all the mechanical and electrical systems, sit.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qKTP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c94a890-e7ae-45f6-9524-7e4b459b869b_2080x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!qKTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c94a890-e7ae-45f6-9524-7e4b459b869b_2080x960.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Considering that the site itself can not physically be moved, prefabrication strategies are focused on the other two layers, and we take them in that order, working from the outside in.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Modularizing the Datacenter Shell&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The shell is the structure, walls, and roof that hold the datacenter up and keep the weather out. It generally follows either a frame-and-skin design, where the structure and cladding are separate, or a load-bearing panel design that combines both.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In a traditional build, both the skin and the frame need to go up on site. Crews break ground, pour the foundation, then form and cure concrete right where the building stands, one piece at a time. A modular shell starts the same way, on a poured foundation, but from there the structure and panels arrive as finished pieces from a factory, craned and bolted into position once arrived.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!KuVQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f56864-6591-4d77-9e20-396ff5c542f8_1280x500.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="500" src="https://substackcdn.com/image/fetch/$s_!KuVQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f56864-6591-4d77-9e20-396ff5c542f8_1280x500.png" width="1280" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The time saving is evident from the graphic above. In the traditional cast-in-place buildout, each pour has to reach roughly 75% of its design strength before the next can go on top. Prefabricated structure sidesteps that wait.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, the evolution did not stop with prefabricating the same conventional building. The larger gains now come from simplifying the building itself: moving from complex multistory facilities toward repeatable single-story halls, and then toward narrower, purpose-built structures.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Phase One: Precast Industrialized the Conventional Shell&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The first phase is precast concrete described above. Instead of forming and curing the full structure in the field, panels are manufactured under controlled conditions, transported to the site, and craned onto a prepared foundation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is not new. Northern Virginia has used precast extensively for years because construction labor was already constrained. CloudHQ&amp;#8217;s two-story LC-2 facility in Ashburn is a representative example: its load-bearing shell supports long, column-free spans and enough structural load to place mechanical equipment on the roof.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jMdQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c557b56-64e2-4056-8e48-5756a323ac9e_1600x611.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="556" src="https://substackcdn.com/image/fetch/$s_!jMdQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c557b56-64e2-4056-8e48-5756a323ac9e_1600x611.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: CloudHQ Datacenter Crogan&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Nevertheless, the building still took roughly 18 to 20 months to deliver. Precast reduced field forming and curing, yet the underlying facility remained a large, multistory structure facility.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Tilt-up concrete follows a similar logic but casts the panels on the building slab rather than in a remote factory.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1GI-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d53c91-d115-4f7f-a562-6918d230ba17_1023x627.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="627" src="https://substackcdn.com/image/fetch/$s_!1GI-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d53c91-d115-4f7f-a562-6918d230ba17_1023x627.png" title="" width="1023" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Tilt up Panels at DPR Construction Ashburn Virginia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This method avoids long-haul transportation and can be the lowest-cost route for a large single-story box, although quality and schedule remain more exposed to site conditions and weather.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Phase Two: Simplifying the Building&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The second phase is where design changes happen. In order to further speed up the time, the industry turn towards alternating the design for simplicity. These buildings use regular structural bays, fewer architectural features, and standardized exterior panels. Steel is often favored because the frame can be fabricated off site, shipped efficiently, and bolted together quickly across a large flat campus.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;At the light end is the pre-engineered metal building, or PEMB built in three parts:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;The primary frame serving as the structural skeleton&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The secondary frame tying the main frames together, these are lighter steel member like roof purlins that span between the primary frames.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The skin, keep in mind this is different from the frame. They are the thin light weighted metal panel whose job is to protect the interior from extreme weather conditions&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jbrJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca0c2e79-f004-4be7-b272-9750e2d4e799_1920x2560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="469.25274725274727" src="https://substackcdn.com/image/fetch/$s_!jbrJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca0c2e79-f004-4be7-b272-9750e2d4e799_1920x2560.png" title="" width="352" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Diamond Steel Pre-engineered Metal Building installation&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This is the fastest option since all parts arrive cut, punched, and labeled, a crew simply need to bolt them together on the site. Furthermore, a light steel structure needs far less material than concrete.&lt;/p&gt;&lt;p&gt;More demanding halls use structural steel - heavier, hot-rolled beams and columns fabricated off site and bolted into a rigid frame. It costs more than a light PEMB but supports wider spans, heavier loads, and more complex layouts.&lt;/p&gt;&lt;p&gt;QTS&amp;#8217;s Cedar Rapids campus shows the speed and scale this approach can unlock. The current 420 MW phase spans approximately 2.8 million square feet and uses roughly 28,000 tons of structural steel. QTS moved from groundbreaking to topping out in about five months, with the broader building delivered in approximately 11 months.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fRlf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4ab1fb-268f-4b91-a4b4-b8d35729f005_1710x824.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="702" src="https://substackcdn.com/image/fetch/$s_!fRlf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d4ab1fb-268f-4b91-a4b4-b8d35729f005_1710x824.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The exterior is then closed with prefabricated cladding, most commonly insulated metal panels. Similarly, we see this approach with Crusoe&amp;#8217;s Stargate campus in Abilene, each building used roughly 672 factory-made panels. The panels were fabricated in under 40 days and installed at approximately 15 to 20 per day, helping bring each building to a dried-in shell in under eight weeks.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mhX8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb6bdb2-d30d-4dcd-a85e-d59991230758_1200x900.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="900" src="https://substackcdn.com/image/fetch/$s_!mhX8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb6bdb2-d30d-4dcd-a85e-d59991230758_1200x900.png" title="" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Crusoe Stargate Campus&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The speed advantage therefore comes less from steel itself than from what it enables: simple single-story halls, repeatable structural bays, fewer field interfaces, and a supply chain that can be reproduced across markets. It can also reduce labor and structural material per MW compared with a dense multistory design.&lt;/p&gt;&lt;p&gt;The main trade-off is land. Single-story campuses require more acreage, but that is often acceptable in newer AI markets where land is cheaper and deployment speed matters more than maximizing MW per acre.&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Phase Three: Purpose-Built Rapid-Deployment Shells&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The third phase pushes simplification further by designing the enclosure around a more specific deployment model. Narrower, lighter structures can reduce the amount of conventional shell work and support faster repetition, although tighter optimization may leave less flexibility for future equipment or layout changes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta&amp;#8217;s rapid-deployment structures at Prometheus campus in New Albany are the most visible extreme. The aluminum-framed, fabric-clad halls provide enclosure and weather protection without constructing a conventional permanent shell. Each structure is roughly 125,000 square feet, and satellite tracking showed eight standing by April 2026 after the buildout was announced in July 2025.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mvEJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3728a388-fef1-4c9b-a890-451ec148878b_624x315.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="315" src="https://substackcdn.com/image/fetch/$s_!mvEJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3728a388-fef1-4c9b-a890-451ec148878b_624x315.png" width="624" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;, Tent at Meta Prometheus New Albany&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;That does not mean Meta completed a full datacenter in nine months. The tents accelerate the enclosure, not utility interconnection, power, cooling, or commissioning. They also trade away some of the durability and long-term flexibility of a permanent concrete or steel building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS is moving in a similar direction with its newest modular builds. Rather than treating the shell as a large generic warehouse, AWS is using narrower and more repeatable structures organized around the systems installed inside. The result is less building per MW, shorter structural spans, and fewer interfaces for field crews to assemble.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3dq_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b9184f-8001-4766-9168-690cf77e2593_2419x1137.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="684" src="https://substackcdn.com/image/fetch/$s_!3dq_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b9184f-8001-4766-9168-690cf77e2593_2419x1137.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS Multistory Design&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The common thread is that shell modularity is increasingly about design simplification, not just prefabrication. Precast moved concrete production off site but largely preserved the conventional building. Standardized steel made single-story halls easier to repeat across markets. Purpose-built structures go further by reducing the size and complexity of the shell itself.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The cost savings thus come from removing floors, reducing structural complexity, decreasing labor on site, and repeating the same enclosure / supply chain across the campus. Once the shell is dried in, the larger modularization opportunity moves inside, to the power, cooling, and white-space systems that turn the enclosure into an operating datacenter.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Modularizing the Equipment and Subsystems&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Equipment and subsystems are where most of the real modularization is happening, and the offerings span an enormous range, from a single piece of equipment all the way up to an entire building delivered ready to switch on. Previous deep dives already covered in big depth the anatomy of &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-2-cooling-systems"&gt;&lt;span&gt;Mechanical&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-1-electrical"&gt;&lt;span&gt;Electrical systems&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Besides, before we start naming categories, it helps to fix some vocabularies:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Hltl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb1a1f19-60c9-4c4a-8ac0-7cc51365b99d_2500x937.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!Hltl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb1a1f19-60c9-4c4a-8ac0-7cc51365b99d_2500x937.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Component:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The lowest level of form factor. It is a single piece of equipment manufactured in a factory.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Skid:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; First common modular form. It is a group of components mounted on an open frame. Instead of shipping each piece separately, the equipment is pre-arranged, configured, and shipped together as one package.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Module:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; A skid but in an enclosed space. It can go anywhere from a simple power room to a prefab mechanical/electrical room similar to a skid, but only it will become a module if you put walls and roof on top of it.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Container:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; A specific form of module using ISO container for packaging. An ISO container is built specifically for standard shipping dimension, which means it can travel anywhere on normal transport with a truck without limitation.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Prefab Datacenter block:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Facility scale buildout that stitches multiple factory-built module into a much larger facility block. The intent of these block is to serve as an end-to-end datacenter buildout&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;This is like a ladder, from 1-5 increasingly factory integration and scope. If you look carefully, you may also be able to realize the first 4 levels are better known as the subsystem modularization. This is where the supplier delivers one part of the datacenter as a factory-built unit. That unit is arrived assembled and tested, but still has to be connected into the broader facility before it becomes useful.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The last level and sometimes the fourth level, moves closer to a whole facility modularization. Here, the supplier is delivering a much larger portion of datacenter as an integrated product.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!CjCb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cb7a1e-a34d-4c56-97c1-0ae098215b76_1431x560.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="560" src="https://substackcdn.com/image/fetch/$s_!CjCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cb7a1e-a34d-4c56-97c1-0ae098215b76_1431x560.png" width="1431" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Subsystem Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;With the vocabulary in hand, we can now start climbing the ladder, and the natural place to begin is at the bottom, with subsystem modularization. This is the larger of the two families and where most of the market lives today. We start off with the grey space, and modular power block is where most people think of when discussing modular design.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Modular Power Blocks&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zDt-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb23b7a03-7d2c-4cd0-b614-42a3ebcfd7ea_1430x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!zDt-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb23b7a03-7d2c-4cd0-b614-42a3ebcfd7ea_1430x842.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A power module is a factory-built electrical room or power block that packages the major electrical equipment into a containerized box. Among all subsystem modules, power is one of the most natural areas to modularized because the equipment lineup is well defined and lots of different pieces are needed to assemble the units. The electrical fit-out and commissioning take on average 5.5 - 16.7 months on a 50MW power hall.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To illustrate with an example, let&amp;#8217;s see Flex&amp;#8217;s modular power solution, built through the Anord Mardix unit below:&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QSce!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172dde8-c1a8-45e3-9f02-4d9738d06016_947x503.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="292.66420274551217" src="https://substackcdn.com/image/fetch/$s_!QSce!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa172dde8-c1a8-45e3-9f02-4d9738d06016_947x503.png" width="551" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Flex sells this in two versions, the power skid and the power module pod, which is the same lineup wrapped in a secure enclosure. Inside the room, you will find major electrical components laid out like a power train.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As you may have noticed, the module also contains the busway system like the IBAR feed above the building which bridges the power pod to the data hall. The CRAH units, or computer room air handler and fire protection system, also exist to help manage the air temperature inside the enclosed shell and protection against unexpected conditions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;By our own estimate, the power block is where the schedule payoff concentrates. Moving just the power scope into the factory, roughly ~26% of the build by content, gets a hall to IT-ready ~22% faster, ~13 months against ~16.7 for stick-build, and around ~5% cheaper per MW, largely by compressing the mechanical-and-electrical fit-out from ~5.5 months to ~2.5.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Lastly, within modular power blocks, a new subcategory is emerging, which we can define as &amp;#8220;software defined&amp;#8221; power routing blocks. Instead of packaging the conventional transformer+switchgear+UPS+battery chain into a box, companies like DG Matrix replace portions of that chain with power-electronics-based multi-port routing. These systems can connect grid, generation, storage, and DC loads through a common controlled power platform.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Modular Cooling Blocks and Prefabricated Cooling Infrastructure&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!O37X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bba9e35-78a3-4d66-94c8-de79f4b2acd8_1430x840.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="840" src="https://substackcdn.com/image/fetch/$s_!O37X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bba9e35-78a3-4d66-94c8-de79f4b2acd8_1430x840.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Similar to a power module, the cooling block packages the datacenter&amp;#8217;s cooling loop into one integrated subsystem. At first glance, the case for modularizing cooling is weaker than for power, since there are simply fewer pieces to pre-assemble. But as primary and secondary loops grow more complex, the ability to add cooling capacity in repeatable, modular increments becomes far more attractive to operators.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Focusing on the TCS loop, the majority of modular efforts are centered on skids for CDUs. Airedale by Modine&amp;#8217;s skid-based CDU (for more on cooling systems, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/datacenter-anatomy-part-2-cooling-systems"&gt;&lt;span&gt;read our Cooling deep dive here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;) is an example of this category.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!unna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d71a00-7f47-4b7b-8fe1-2d2c4a080714_893x504.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="277.67973124300113" src="https://substackcdn.com/image/fetch/$s_!unna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d71a00-7f47-4b7b-8fe1-2d2c4a080714_893x504.jpeg" width="492" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Modine&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Airedale by Modine skid-based CDU is a 2 MW-class unit arrives on a pre-manufactured skid with everything included, from the red-and-silver cooling loop to the buffer tanks on the top right, and even the leak detection system built into the end of the skid. On site, all the crew needs to do is hook up the two loop connections and a power feed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the other hand, the value proposition for prefabricated cooling systems is stronger when looking at the secondary loop and the outdoor mechanical yard, where piping and other outdoor cooling infrastructure is prefabricated, significantly reducing the civil, piping, and controls work completed onsite.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TzdD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb512bc68-64e0-4b33-9da7-eb25bb700acb_1422x1143.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1143" src="https://substackcdn.com/image/fetch/$s_!TzdD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb512bc68-64e0-4b33-9da7-eb25bb700acb_1422x1143.png" width="1422" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When thinking about cooling equipment, keep in mind that much of it was originally designed for hospitals, campuses, and industrial process cooling rather than GW-scale datacenters. At that scale, large footprints and hundreds of co-located units can create issues such as hot-air recirculation and heat islanding.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GePl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298ec60f-d43c-4a44-8901-693927971231_2400x1600.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!GePl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298ec60f-d43c-4a44-8901-693927971231_2400x1600.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv&amp;#8217;s elevated chiller/cooling plant on a steel platform beside a prefab hall using mechanical yard infrastructure&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Vertiv installation above shows a conventional mechanical yard. The cooling plant sits outside the data hall as a separate piece of infrastructure, with chillers, pumps, piping, and supporting steel assembled around the building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Some datacenter developers, like QTS, are now prefabricating most of the piping infrastructure, which allows for faster installation while maintaining high quality. That becomes especially valuable today, given the increasing piping requirements of dense liquid-cooled deployments.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A handful of new entrants are now even attacking the whole yard. Karman Industries&amp;#8217; CO2-based Heat Processing Unit (HPU) is a purpose-built unit borrowing SiC power electronics and permanent-magnet motors from EVs, and compact turbomachinery and advanced heat exchangers from aerospace. The HPU, which is configurable to each site, ships as an outdoor-rated NEMA skid at 4 to 5 times conventional power density and cuts yard footprint by 60 to 80%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z4qT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f5c81d-9a0f-4e02-9fb0-6a079bcbde49_1126x703.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="703" src="https://substackcdn.com/image/fetch/$s_!Z4qT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f5c81d-9a0f-4e02-9fb0-6a079bcbde49_1126x703.png" title="" width="1126" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Karman Industries&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Other Modularized Options&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Power and cooling are not the only parts of the datacenter that can be move into the factory. The same concept can be apply across the gray space such has the energy storage (BESS) system, water treatment skids, Fire safety system, and many more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Many are not on the critical path for construction timeline, or they are small enough to be able to build on site. Moreover, where these systems do get modularized, they often ride along inside a large unit rather than shipping separately. For example, the Schneider EcoStruxure for example was built in with the fire protection system.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Factory Built White Space&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!E3BN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24feeb10-afcc-43d3-ad01-baae3bfb3260_1431x816.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!E3BN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24feeb10-afcc-43d3-ad01-baae3bfb3260_1431x816.png" width="1431" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The intention of the factory built white space module is to replace hand-built data hall and manual on-site wiring with a unit made factory product. This means operator can directly put compute in place without the need to figure out wiring and connection.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The whole package comes ready for the rack frames, and all the last mile connection points the rack need to operate. Think of it like a prepared envelope for compute, its organized where racks go, provide the cable and connection to how they receive power and extract heat, and include prefabricated power busway and technical water loop situated above the rack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Z0jl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbdc558-83be-405e-ac77-5440964920ea_2165x543.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="365" src="https://substackcdn.com/image/fetch/$s_!Z0jl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbdc558-83be-405e-ac77-5440964920ea_2165x543.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Schneider Electric&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Take Schneider&amp;#8217;s EcoStruxure Pod as an example. The image above shows the black cabinets forming the IT rack rows where products like Nvidia GPU servers would be installed, a total of up to 40 racks can be placed in this one system. Above the racks, the gray overhead infrastructure is the distribution layer. It carries the busway that delivers power to each rack, containment to capture hot air as some of the solution will still be air cooled, technical water loop to distribute liquid cooling that extracts heat, and cabling that connects each servers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The interesting thing about this is the product design behind it. A factory white space must be able to serve different custom needs and therefore, suppliers like Schneider work with Nvidia to support more than 30+ reference designs. The buyer can essentially pick the specs that matches the chips it wants and gets a hall that is pre-coordinated with the matching required power and cooling module. In the coming section we will study in more detail how the design process takes place.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Whole Facility Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Whole Facility modularization is the literal datacenter-in-a-box model. Instead of delivering individual parts, the supplier delivers a complete or near-complete datacenter block.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!NIQS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53c5b11d-1a27-4a02-b827-8a8ca6b69b5d_2500x937.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!NIQS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53c5b11d-1a27-4a02-b827-8a8ca6b69b5d_2500x937.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Containerized Datacenters&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wTPE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58d524c-fb6c-4fe5-9f7e-579425b515bc_1430x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!wTPE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58d524c-fb6c-4fe5-9f7e-579425b515bc_1430x842.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Starting with a containerized datacenters, this is the 4&lt;/span&gt;&lt;sup&gt;&lt;span&gt;th&lt;/span&gt;&lt;/sup&gt;&lt;span&gt; part of the form factor design where the datacenter itself is packaged into an ISO-style container or purpose-built weatherproof enclosure. Like we had discussed, the reason why this option exist is for the ease of transportation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Kx1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe530d9bf-5ac8-4c91-9e56-07f232123c01_374x248.gif" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="248" src="https://substackcdn.com/image/fetch/$s_!Kx1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe530d9bf-5ac8-4c91-9e56-07f232123c01_374x248.gif" width="374" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Delta All-In-One Edge Solution&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As the image shown above, you can see almost everything inside the box: the IT racks, the power equipment, the batteries, and even the cooling system.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;These types of design are commonly used in edge computing, industrial environments, remote or unused spaces, and the product is most useful when the buyer needs a smaller datacenter quickly. For AI workloads, the buyer is usually not a compute startup chasing scale but an asset owner that needs low-latency inference at a fixed physical location.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!USPo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d57cbd-3cb8-405c-a590-efd9c56a31cd_1200x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!USPo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3d57cbd-3cb8-405c-a590-efd9c56a31cd_1200x675.png" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&amp;#8217;s CrownPod Craned into site&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The main limitation of this buildout is density. The same form factor that makes the unit portable and fast to deploy also fixes the layout. That&amp;#8217;s why suppliers are pushing beyond the containerized model toward all-in-one prefab datacenter blocks.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;All-in-One Prefab Datacenter Block&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VmER!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa300c885-7b79-4999-a283-c7bc7c824b00_1430x842.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="842" src="https://substackcdn.com/image/fetch/$s_!VmER!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa300c885-7b79-4999-a283-c7bc7c824b00_1430x842.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The all-in-one prefab datacenter block is the more ambitious version of whole-facility modularization. Here the supplier delivers a larger facility block with more of the datacenter already integrated before delivery.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img processing" href="https://substackcdn.com/image/fetch/$s_!kRMc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde56d565-b8e6-40f4-bc02-ea222bd3062e_1000x1000.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="459" src="https://substackcdn.com/image/fetch/$s_!kRMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde56d565-b8e6-40f4-bc02-ea222bd3062e_1000x1000.png" width="459" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Vertiv MegaMod shows what this can looks like in practice. The structure effectively is a modular datacenter with the major systems packaged into one enclosure. The center of the block contains the IT racks, where servers are installed. Above and around the racks runs the fiber optics and cable-management pathways, along the perimeter are all the supporting infrastructure systems like cooling and power units.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The system&amp;#8217;s 1 MW reference design can stretch to approximately 26.5 meters long, 24 meters wide, and 4 meters high in dimensions. While the MegaMod plus version can extend to as much as 31 meters wide. You may be wondering, if it&amp;#8217;s this big how can it be ship to the site? In reality, the structure needs to be broken into transportable prefabricated sections, shipped through a standard heavy-haul logistics truck, and then connected and commissioned as one.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Platform Modularization and Reference Designs&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The last step in whole-facility modularization moves beyond any single vendor&amp;#8217;s block into a standardized reference design for the facility itself. In the same fashion the industry has reference designs for rack systems and CDUs, Nvidia now publishes one for the entire AI factory: Nvidia DSX. It was first unveiled as an Omniverse digital-twin blueprint at GTC Washington in October 2025, formalized as the Vera Rubin DSX reference design in March 2026, and more recently expanded into the full DSX platform.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The DSX reference designs are validated AI factory architectures covering compute, networking, storage, hardware cluster design, and also the facilities side, including power, cooling and controls. Even civil, structural, and architectural design. The value proposition behind is that Nvidia&amp;#8217;s DSX Max-Q maximizes token per watt within a fixed power budget, and DSX Flex facilitates the connection the facility to grid services, dynamically adjusting power draw and orchestrating demand with hybrid onsite generation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DUQn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1de1e0-f8b5-468d-9c6b-ca21d1ae6e56_597x335.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="335" src="https://substackcdn.com/image/fetch/$s_!DUQn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1de1e0-f8b5-468d-9c6b-ca21d1ae6e56_597x335.jpeg" width="597" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Nvidia Vera Rubin DSX AI Factory&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;When deploying a DSX facility, through the Omniverse DSX Blueprint, an operator first builds a digital twin of the facility, simulates layouts, power topologies, thermal behavior, and operational policies in real time, and optimizes the design before construction begins, then reuses the same validated architecture across sites. For example, CoreWeave is already using DSX Air to build and test digital twins of its AI factories.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Besides, the whole DSX ecosystem includes pretty much all the supply chain: Cadence, Dassault Systemes, Eaton, Jacobs, Nscale, Phaidra, Procore, PTC, Schneider Electric, Siemens, Switch, Trane or Vertiv. Vertiv&amp;#8217;s OneCore, for example, packages power and cooling into standardized 12.5 MW pods that can be combined into larger AI-factory deployments&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;EdgeConneX estimates that a common design can advance a project to roughly a 30% to 60% permit set before site-specific localization is complete, allowing substantial off-site work to begin earlier.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Vendor landscape&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;If you have made it this far, you should have a working feel for the categories. You should also, maybe be a little buried in names. We have put a power module from Flex, a CDU from Airedale, a data-hall pod from Schneider, and an all-in-one datacenter from Vertiv all in front of you. So before going further, it helps to step back and lay the whole market out on a single map.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!u7C1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea5eee-1d24-497d-a2be-54b6bb9a5c55_2500x2041.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1189" src="https://substackcdn.com/image/fetch/$s_!u7C1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea5eee-1d24-497d-a2be-54b6bb9a5c55_2500x2041.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our universe runs to over 80 players, and laying them out this way is useful because two patterns jump out right away.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The depth is in the subsystems&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. The power-room and cooling modular are by far the most crowded&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The same names keep showing up &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;across columns, because a vendor like Vertiv, Schneider, or Eaton sells a power module, a CDU, a white-space pod, and a whole block all at once.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Owning the Integration: Who actually does the modularization?&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The vendor landscape above maps who builds each piece, but not how those pieces become a module or who is on the hook when they do. From the solution provider&amp;#8217;s point of view it has three answers:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;At one end the operator holds both rights: it specifies the equipment, buys it directly, and hands it to an integrator purely for assembly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;In the middle sits the EPC- or integrator-led buildout, where the operator still sets the performance requirements but hires an EPC or integrator to source, coordinate, and build.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;At the far end is the OEM-led model, where a vendor like Vertiv designs and sells its own stack as one finished product, as it does with the OneCore portfolio&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YvO_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0115ef28-b275-414a-a678-3115e0f62aff_2500x937.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="546" src="https://substackcdn.com/image/fetch/$s_!YvO_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0115ef28-b275-414a-a678-3115e0f62aff_2500x937.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Operator-Led Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This is where the operator engineers the specification themself, procures the equipment directly as owner-furnished gear, and hands it to an integrator purely for assembly.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This model requires the operator to have a deep in-house engineering and procurement team to specify and source every component, and the willingness to carry all of the cost, inventory, and lead-time risk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yZgr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62884260-b354-4fff-a504-fdc00e29f23c_2304x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!yZgr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62884260-b354-4fff-a504-fdc00e29f23c_2304x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In a supply-constrained market that risk is sharp, since the operator is competing for scarce transformers and switchgear without a vendor&amp;#8217;s allocation leverage, unless it buys at enough scale to have that leverage of its own.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That is why operator-led modular is effectively confined to the largest hyperscalers. AWS, for example, engineers its own prefabricated data-hall skids under Project Houdini and procures the equipment directly, using Cupertino Electric as design partner.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Aligned is another example of operator-led modularization, although it relies on external integration partners for manufacturing capacity. Aligned defines the architecture, owner-furnishes the major components, and controls the commissioning and quality program, while its integration partners receive, store, assemble, and test the equipment across multiple factory locations. The partner provides the production footprint, but the modular system remains Aligned&amp;#8217;s design.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;System-Integrator or EPC-Led Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The EPC-led modularization includes system integrators or construction companies that take mostly third party equipment and convert it into a skid/module. The integrator does the assembly, installation, factory testing, enclosure, and is the party in charge of delivering the finished skid to the end customer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The companies acting an integrators are both construction companies that have the footprint and capabilities to do the integration, like Comfort Systems, Sterling Infrastructure or Quanta&amp;#8217;s Cupertino Electric, and specialized modular integrators, like PCX, Nautilus, DXN, Infra Partners, Bladeroom, etc.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This type of modularization is vendor agnostic, which means that the customer keeps more control over the datacenter design, while the contractor moves part of the construction sequence into a prefab shop. The EPC buys the equipment, assembles it, wires it, pipes it, tests it, and ships it as completed construction scope.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!A67N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf02689f-123a-4dd5-b425-325162c8710d_2304x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!A67N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf02689f-123a-4dd5-b425-325162c8710d_2304x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Take Comfort Systems as an example. It is a MEP contractor, not an equipment maker, so it acts as the layer that procures and assembles the gear on the operator&amp;#8217;s behalf. The operator decides what equipment it wants and Comfort Systems does everything else. It runs that work through Environmental Air Systems and TAS Energy across 3.5+ million square feet of shop floor in Texas and North Carolina.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That concept is particularly attractive to hyperscalers. A big operator usually already knows exactly what equipment and design it wants, so it has no interest in buying someone else&amp;#8217;s fixed system. Working with EPC integrators like the kind for Comfort System, the operator keeps its own design and its own gear, and simply hands the building of it to a factory instead of a jobsite.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;OEM-Led Modularization&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Here the equipment vendor turns its own datacenter infrastructure stack into a repeatable module or platform. Although the product can still be configured for a specific site, the starting point is usually an off-the-shelf module using OEM&amp;#8217;s own architecture.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gEZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0f30ec-073c-4bf6-a1c1-eacaf53cf27b_2304x892.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="564" src="https://substackcdn.com/image/fetch/$s_!gEZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0f30ec-073c-4bf6-a1c1-eacaf53cf27b_2304x892.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Vertiv OneCore is a clear example. Instead of selling single equipment devices, Vertiv combines all the layers into a single modular platform. This platform integrates Vertiv&amp;#8217;s power, thermal, cooling, and IT infrastructure technologies inside a Vertiv&amp;#8217;s supplied steel shell.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5mJm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04db66d8-dcf4-43da-a099-03a359a69238_447x447.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="447" src="https://substackcdn.com/image/fetch/$s_!5mJm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04db66d8-dcf4-43da-a099-03a359a69238_447x447.jpeg" width="447" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;That is what makes it OEM-led, the customer is buying into Vertiv&amp;#8217;s entire integrated stack rather than asking an EPC integrator to assemble equipment line ups. This also allows Vertiv to capture higher content by selling the entire stack end to end, with the TAM expanding up to ~$7M/MW for some of their full-stack solutions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The tradeoff is capacity and execution risk. Besides the fact that these companies are going up the value-chain toward market segments they were not previously involved in, OEM-led modularization can only scale as fast as the OEM&amp;#8217;s factory capacity, supplier base, and integration teams can support. Vertiv&amp;#8217;s modular solutions run lead times of over 12 months today. This is also pushing big OEMs, not only Vertiv but also companies like Schneider and Siemens, to be selective with capacity slot allocation, requiring certain capacity minimums and favoring bigger projects. As a result, operators or developers looking for smaller scale capacity are increasingly working with the System Integrators.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;The Modularization Cycle&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;By now our readers should be familiar with the different forms of modular solutions and the players leading this transformation. They will also have noticed how different this looks compared to traditional datacenter construction, and will have many questions about the operational implications. Those are the topics we address in this section.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mXP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1dd62-b41a-48fe-a5b6-49cba38aa8c5_2400x800.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="485" src="https://substackcdn.com/image/fetch/$s_!mXP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1dd62-b41a-48fe-a5b6-49cba38aa8c5_2400x800.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 1: Solution Design and Simulation&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Engineering the solution is the first step. In a field build, some of these decisions can change while construction is underway. In a modular build however, they need to be predetermined, frozen early, and repeatable since the box itself must come in a finish block.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The most important engineering at this stage happens at the facility level. Before a module can be finalized, the design team must define the load, select the equipment, develop the single-line diagram (SLD) and layout, and complete the short-circuit, protection-coordination, and arc-flash studies in tools like ETAP and PSSE. These analyses determine how the system is sized and which components can be used. Because they depend on the full electrical path from the utility connection through the downstream equipment, they cannot be completed on an isolated skid. The facility design therefore has to come first, with the module designed as part of that broader system.&lt;/span&gt;&lt;/p&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;p style="text-align: center;"&gt;Source: Aran Industries&lt;/p&gt;&lt;p&gt;&lt;span&gt;For 415/480VAC this work is well templated and repeatable. When considering &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/inside-the-800vdc-revolution-part"&gt;&lt;span&gt;all the implications of the 800VDC transition&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, it is not as well-templated. A handful of reference designs exist, but none are well baked yet, so the facility-level architecture is still being worked out design by design. This is also the part of the cycle now being automated. Companies like Aran Industries are building build custom software that plugs into ETAP, PSCAD, PSSE, Revit and the other design tools, compressing what is otherwise a multi-month (&amp;gt;2 months), multi-engineer electrical design process into hours of compute plus a single engineer reviewing the output.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Ownership of the Buildout&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Once the design is set, ownership comes down to two questions:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Who chooses the equipment;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Who carries the cost, the inventory, and the lead-time risk of the buildout.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;Those decisions do not always sit with the same party. An operator may specify a component directly, or an integrator may select it and seek approval.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ZFNM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cebb3e-3b9f-4e0a-ae70-5fd1960a1f06_1200x630.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="253.575" src="https://substackcdn.com/image/fetch/$s_!ZFNM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cebb3e-3b9f-4e0a-ae70-5fd1960a1f06_1200x630.png" width="483" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Schneider&amp;#8217;s Factory showcasing different modules&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Colocation operators are a clean exception. A wholesale colo is not bound to any single end-user&amp;#8217;s specification, and often does not even know who the tenant will be, so it is free to choose the equipment it wants and commit to it early, without waiting on anyone&amp;#8217;s sign-off.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Even then, local availability matters, because switchgear and transformers may carry 12 to 18-month lead times, while generators can require market-specific emissions controls. Customization can also reopen engineering and add roughly eight weeks.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 2: Packages and Documentation&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Once the design is frozen in Stage 1, what leaves the design stage is not a single drawing but a set of documentation packages, produced by different parties in different tools:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;An &lt;/span&gt;&lt;strong&gt;&lt;span&gt;issued-for-fabrication (IFF) package&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; with the shop drawings telling the factory how to build the skid&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;An &lt;/span&gt;&lt;strong&gt;&lt;span&gt;issued-for-construction (IFC) package&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; telling the site how to receive, place and connect it&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;A separate &lt;/span&gt;&lt;strong&gt;&lt;span&gt;permitting and commissioning documentation&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; set, proving the design will pass code and testing.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RouU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F303e91b9-6fe8-4cb7-b1a4-4f95deb64445_2400x904.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="548" src="https://substackcdn.com/image/fetch/$s_!RouU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F303e91b9-6fe8-4cb7-b1a4-4f95deb64445_2400x904.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This stage is largely a documentation and paperwork exercise. Automating the Stage-1 design model lets these packages be generated from one source rather than be recreated by hand, removing the manual redrawing between parties (IFF and IFC serve different audiences, the factory and the field, and are issued separately; they are not the same document and do not drift against one another).&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 3: Assembling the module and Factory Testing&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Once all the prework is completed, the module still has to be physically built. Think of this step as the production line, but in a much bigger scale of a datacenter. The assembly process starts with a base, a skid, or a frame that sets the foundation of the module. From there, equipments are layered in sequence, with each component placed into its designated area like how you will assemble a LEGO building.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!4qxI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5450c310-0b3e-4ba8-a843-2f08d95053e7_1000x486.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="230.85" src="https://substackcdn.com/image/fetch/$s_!4qxI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5450c310-0b3e-4ba8-a843-2f08d95053e7_1000x486.png" width="475" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&amp;#8217;s White Space Factory Line&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;What runs alongside the assembly is the factory acceptance test, or better known as &amp;#8220;FAT&amp;#8221;. Testing happens at two levels. The first is at each station as the module is assembled, an inspection gate where the work is checked before the module advances. The second comes once the module is complete: the whole unit is powered up and run the way it will run on site to confirm its rated load and everything is in place properly. By the time it leaves the line, the module is cabled, labeled, sealed, and proven to work on its own.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oOYk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5609f744-8cd1-456b-8538-1b8be45a95a3_800x600.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="285.75" src="https://substackcdn.com/image/fetch/$s_!oOYk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5609f744-8cd1-456b-8538-1b8be45a95a3_800x600.png" width="381" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Vertiv Factory Acceptance Testing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Factory testing is critical. The industry often describes this through the 1-10-100 rule: a defect that costs $1 to fix during design or assembly may cost $10 once production begins and $100 after the product has shipped. Furthermore, standardization also makes testing repeatable, so same FAT procedures can be run multiple times across production.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Stage 4: Delivering and installing the modules&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Now, the module leaves the factory&amp;#8217;s controlled environment and runs into the uncontrolled area of site logistics. At the scale of today&amp;#8217;s AI campuses, bringing the first block online is no longer enough, because operators also have to think about time to the last megawatt. The critical questions become how many finished modules can reach the site, how many can be unloaded and set in parallel, and how effectively limited rigging and installation crews can move from one block to the next.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;A closer look at: Transport and Logistics&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In our conversations with datacenter developers, logistics appears as one of the main challenges equipment modularization presents. All these skids and modules are big and heavy, and shipping them from the factory to the site is not a minor task. That is why footprint and location matter so much, with integrators expanding their footprint to sit closer to their customer&amp;#8217;s sites.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Federal law fixes the no-permit envelope at 102 inches wide and 80,000 pounds gross, leaving about 24 tons for the module on a standard deck. Microsoft&amp;#8217;s Azure Modular Datacenter and Schneider&amp;#8217;s Easy Modular ride inside a 40-foot ISO container at 96 inches wide, so they cross any state line or fly in a C-17 permit-free.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Past that threshold, you need a permit, although the truth is that permit cost has little impact and the real implication is on schedule. A standard oversize permit runs just $15-100 a state, and even the line-haul, at $12-14 a loaded mile, makes a 500 mile move only six to seven thousand dollars a trailer.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!06s6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f165e61-54ec-4b94-9534-82ab4641fc5a_1200x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="240.75" src="https://substackcdn.com/image/fetch/$s_!06s6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f165e61-54ec-4b94-9534-82ab4641fc5a_1200x675.png" width="428" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Flex&amp;#8217;s Prefabricated modular solution ready to ship&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On time, loads past roughly 16 feet become superloads, triggering a bridge-engineering review that runs 7 to 21 days per state and stacks toward months across a route, and escorts force restricted travel windows. Besides, the thresholds are not even uniform, as a module engineered to clear Virginia (superload at 18 feet or 250,000 pounds) can still trip Ohio&amp;#8217;s far lower 14-foot, 120,000-pound line.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Transport also becomes part of the reliability program. A module may experience greater mechanical stress on the road than during normal operation, particularly through vibration, braking, and loading. In one validation exercise, Aligned DC shipped a 3 MW module from Utah to Omaha and back with force loggers to measure the conditions it experienced in transit.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On top of all this, transport can also be constrained by the insurance it carries. High-value AI racks may be shipped only one or two at a time because concentrating too much equipment on a single trailer creates an unacceptable insured loss no insurance company is willing to bet on. The risk is not theoretical and we have heard cases where truck carrying large UPS module tipped over on a road in West Virginia while traveling toward Northern Virginia, leading to large reimbursement.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Considering all these implications, operators are designing around the haul, like AWS engineering Houdini&amp;#8217;s skids onto low double-drop trailers to stay under bridges. Also Nautilus floated its datacenter 50 miles to the Port of Stockton on a barge, and Compass put a Schneider module factory next to its Red Oak campus. That said, some operators like DXN do manage to ship containers from their factories in Perth, Western Australia all the way to the US. These are, however, mostly smaller containers.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7hIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd6be86-de2d-4034-8e8f-a10bef3f39a7_2820x1740.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="898" src="https://substackcdn.com/image/fetch/$s_!7hIJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd6be86-de2d-4034-8e8f-a10bef3f39a7_2820x1740.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Once the module reaches the site, it must be lifted onto the prepared foundation, anchored, and connected to upstream power and downstream load. Even crane selection becomes part of the design process. A crawler crane&amp;#8217;s lifting capacity falls sharply as the load moves farther from the boom: a Manitowoc 18000 can lift roughly 600 tons at 7.3 meters, but only about 10 tons at 104 meters, so the module&amp;#8217;s weight, lifting points, and final landing position determine which crane is required and how much the lift will cost, typically around $5,000 to $25,000 per day. A single Schneider 500 kW power module, for example, weighs 50,000 pounds, needs six lifting points, and its load distribution is not known until it is built.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Stage 5: Site Commissioning&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;With the modules in place, it&amp;#8217;s time to commission them. Factory testing proves the individual unit, while commissioning proves the system under real conditions. Operators consistently call this the single biggest gap in the modular cycle, with a full site commissioning running 3 to 8 months end to end. While some vendors claim it can be shifted offsite, in practice the parts that matter can&amp;#8217;t be, because the major energy sources (the utility feed, the generators, the BESS) only meet on site.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;The levels of commissioning&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;The industry generally runs a 6-level ladder, while some frameworks add a Level 0 design review at the front.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ycdB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10e9828-816b-44d2-b224-e5a62c1866d0_1800x1696.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1372" src="https://substackcdn.com/image/fetch/$s_!ycdB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10e9828-816b-44d2-b224-e5a62c1866d0_1800x1696.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L1 - Factory Witness Test (the &amp;#8220;red tag&amp;#8221;):&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; each skid or module proven as a standalone unit at the manufacturer. This is the level factory testing covers, and the level modular front loads.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L2 - Delivery &amp;amp; installation verification:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; the unit is received, set, anchored and inspected on site.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L3 - Pre-functional / startup (the &amp;#8220;green tag&amp;#8221;):&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; each system energized and started up on its own.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L4 - Functional performance testing (the &amp;#8220;blue tag&amp;#8221;):&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; each system run to the switchgear, the cooling loop.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;L5 - Integrated Systems Testing / IST (the &amp;#8220;white tag&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&amp;#8221;): every system energized and running together, on site, under simulated failure, an A-side outage, a UPS/STS transfer, a pump failover, a black-building start.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zdI8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d31ee5-c418-4fa6-b822-06082f1287b6_937x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!zdI8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d31ee5-c418-4fa6-b822-06082f1287b6_937x668.png" width="937" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Hioki Commissioning Steps&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;From L2 onward the work has to happen physically on site, because the sources being tested against like utility feed, generators, BESS are only present there.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To understand where time can actually be recovered, we identify two levers. First, parallelize commission modules and subsystems as they land rather than waiting for the whole site, so L2&amp;#8211;L4 on the early modules overlap the delivery of later ones and only L5 has to wait for the full set. Second, reuse the plant as its own load bank: the power equipment and its battery storage can serve as the load bank during commissioning, so instead of trucking in rented gensets and resistive banks that leave when the test ends, the same gear that proves the plant stays on as part of it.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jlh4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57d19e3-88ed-4ede-beec-5a244ab78361_1000x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="303.272" src="https://substackcdn.com/image/fetch/$s_!jlh4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57d19e3-88ed-4ede-beec-5a244ab78361_1000x668.png" width="454" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Electrical Engineering Portal, commissioning substation and MV switchgear&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Parallel Factory Commissioning&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;At scale the binding constraint is usually the Level 3 point-to-point work, because every PDU, control panel, and field device must be wired, addressed, named, and verified back to the BMS. Across hundreds of PDUs each exposing dozens to hundreds of points, this is the real commissioning bottleneck. To move faster, some big datacenter operators are running parallel factory commissioning tracks alongside the standard on-site process, completing equipment verification and control checks before shipment (repeating some tests post-transport) while the site team keeps delivery checks, live interconnection, and integrated-system testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This consideration also matters when studying aggressive project timelines claims. Some 6-9 month schedules are achieved partly by compressing or minimizing the commissioning process. That may accelerate initial turn-up, but it significantly shifts risk into operations.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Putting the Value Proposition of Modular Solutions to Test&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;All modular pitches mainly rest on three claims: (1) Speed to market; (2) Quality of Build and Safety; and (3) Total Cost of Ownership. The marketed numbers are huge figures, with Vertiv claiming MegaMod at up to 50% faster on module deployment and SmartRun at up to 85%, and Schneider claiming 60% faster and 13% lower first cost on power and cooling.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Those are big (big!) numbers, so we rebuilt the case bottom-up against our baseline reference datacenter that we include in the &lt;/span&gt;&lt;a href="https://semianalysis.com/industrials-model/"&gt;&lt;span&gt;SemiAnalysis Industrials Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a 50 MW liquid cooled AI hall in the US. As headline, our numbers estimate a ~36% shorter construction window for modular construction when considering the full construction timeline, and a ~8% lower all-in cost. Let&amp;#8217;s break down these figures.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g9Bc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad1bd1f-3c81-4f65-833a-18e7320af078_2912x1344.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!g9Bc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad1bd1f-3c81-4f65-833a-18e7320af078_2912x1344.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Speed Advantage&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Speed is undoubtedly the core vendor selling point. Following our previous taxonomy, the realized savings will depend a lot on which modular solutions you use in the build. To understand where the speed savings come from, we need to understand the construction timeline in commonly four blocks:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Groundworks:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 4-6 months, averaging about 5 months. Modularization changes little here beyond simplifying some pad and foundation work.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Structure and shell:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 2.5-4.5 months, with a midpoint of about 3.5 months.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Mechanical and electrical fit-out:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 7-11 months. Today&amp;#8217;s baseline already includes some preassembled electrical equipment, such as LV switchgear and UPS lineups.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Commissioning to IT-ready:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; 3-8 months, with a single-hall midpoint of about 4.5 months. Longer timelines usually reflect phased, multi-hall handovers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Added together, a conventional 50MW building runs about 18 to 24 months from groundbreaking to IT-ready, with permitting excluded from that clock. In addition to the mentioned commissioning considerations, faster timelines claims are also sometimes related to a counting convention, often starting the clock at the electrical fit-out or the vertical works rather than at groundworks. Besides, permitting adds another 12 to 13 months that cannot overlap with construction, taking the all-in timeline to roughly ~30-35+ months for a stick build against ~24-30 for modular.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the table below, which considers a scenario of an operator going full modular, modularization can compresses the construction window to about 12-18 months, around ~36% faster than a pure stick build and about ~30% faster than today&amp;#8217;s baseline that considers some modularization.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vgO6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d2c4802-46e6-40ff-a7bc-60798e936757_1430x393.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="393" src="https://substackcdn.com/image/fetch/$s_!vgO6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d2c4802-46e6-40ff-a7bc-60798e936757_1430x393.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The savings scale with how much scope moves to the factory. An operator taking only MEP skids, midway between today&amp;#8217;s baseline and a full modular build, lands around 17 months. That schedule can be shortened even further when deploying all-in-one prefabricated block or containerized datacenters, which can take the building window all the way down to about 12 months. Today we can hear some claims even for under 12-month deliveries.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HtbN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd5db78c-8c8e-41ab-8f7f-bd5ab328facf_2912x1464.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="732" src="https://substackcdn.com/image/fetch/$s_!HtbN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd5db78c-8c8e-41ab-8f7f-bd5ab328facf_2912x1464.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Digging deeper, during the MEP fit-out, an AI data hall absorbs about 12,000 field man-hours per MW, with electrical the dominant trade. A standard 50 MW hall concentrates 600,000 field hours into one building and stacks about 300 craft workers at peak. Relocating that MEP scope to the factory, on-site hours fall about ~63% to 4,500 per MW and licensed-electrician hours about 85%. The window itself compresses by less than the hours because the relocated work now runs in the factory in parallel with sitework. In addition, moving work into the factory also reduces dependence on weather and geographic constraints.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yoYh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421792de-47ec-456d-9d49-d5899315b7c1_2912x1344.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!yoYh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F421792de-47ec-456d-9d49-d5899315b7c1_2912x1344.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Speed equals money&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Speed is compute and compute is revenue, so the true value of pulling go-live forward is the opportunity cost of the delay. In our calculations we consider as a rule of thumb that today, for CSPs, a megawatt of IT load generates on the order of $12M to 15M of revenue a year, or about $1-1.25M per IT MW per month. That said, in such a capacity constrained market, we are seeing new deals being made on much higher disclosed pays, see SpaceX and Anthropic deal, or &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;as we recently covered in our Meta newsletter post&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, revenues of $50M per IT MW. Companies like Anthropic or OpenAI are making over $50M/MW on API.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;On the COGS side, the relevant cost is GPU depreciation, at an average $30M/MW for an Nvidia cluster depreciated over five years, roughly $500,000/MW per month. An idle month strands at least that depreciation, on GPUs already on the clock whether or not the hall is ready, so we value an earlier month to the owner-operator at about $500k/MW, a conservative figure since the contribution margin on live compute is higher. For a wholesale colocation operator that never owns the GPUs, the value of an earlier month is just the lease it can now bill, about $190,000/MW per month, roughly $190/kW/mo.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PWH_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18483053-f344-4a19-9553-94575ef42deb_2500x1188.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="692" src="https://substackcdn.com/image/fetch/$s_!PWH_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18483053-f344-4a19-9553-94575ef42deb_2500x1188.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Applying those unit economics to the roughly 8-month lead over a pure stick build, the owner-operator captures about $200M undiscounted across the 50 MW hall, or ~$4M/MW.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Of course, all of this is conditional on the building being the binding constraint. Go-live is the latest of three dates, building ready, power available, and GPUs delivered, and accelerating the building earns nothing if it was not the date that bound.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The TCO Advantage&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Compared to the realized speed benefits, Capex savings are not meaningful. We estimate that same full modular 50 MW liquid cooled hall costs about ~$1.1M/MW less all-in, ~$13.5M/MW against ~$14.6M/MW, just under an ~8% delta.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;When looking at the all-in content/MW for the datacenter equipment, we can separate between hardware cost and service or installation cost. The hardware piece itself does not change much: switchgear, UPS, transformers, and other core hardware cost the same whether they are installed in a field-built room or integrated into a factory skid. The gross savings come from two places mainly, the labor portion and a shorter build time.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Dn-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ade310f-6211-4cfb-8f98-e15b5b7c3ae3_2912x1464.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="732" src="https://substackcdn.com/image/fetch/$s_!Dn-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ade310f-6211-4cfb-8f98-e15b5b7c3ae3_2912x1464.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;We estimate that moving MEP into the factory saves about $0.6M/MW on construction services and $0.5M/MW on installation. The wage gap is small, as BLS puts field construction at $34/hour against $33/hour in the factory, though overtime and site premiums lift the effective field electrician to roughly $63/hour. The real lever here is higher factory throughput, dropping a full field hour of scope.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Second is the effect from shorter build time. Locking factory cost earlier and compressing the field period trims escalation, contingency, change orders and site general conditions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!U4rN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef46db90-85cb-4744-9167-ac9ea243a3ea_1430x734.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="734" src="https://substackcdn.com/image/fetch/$s_!U4rN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef46db90-85cb-4744-9167-ac9ea243a3ea_1430x734.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Against those savings, modular carries some penalties, with double margin being the largest. A stick build marks up installed content once, through the general contractor and its subs. A modular build adds a separate module-vendor margin on top of the site integrator&amp;#8217;s. That layer compresses when the OEM also integrates on site, as Vertiv and Schneider do on their turnkey programs. Schneider&amp;#8217;s WP163 shows this dynamic, putting module hardware about 40% above traditional and netting to 13% lower first cost, after design and install labor savings are counted.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!9nL7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb77f0f-01f9-4a9d-80ed-5486e4254f8d_1051x652.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="652" src="https://substackcdn.com/image/fetch/$s_!9nL7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb77f0f-01f9-4a9d-80ed-5486e4254f8d_1051x652.png" width="1051" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Schneider&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Two smaller penalties follow, including the module premium (chassis, bracing, extra interconnects, transport and craning), and from the vendor perspective, the additional factory burden.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fHqv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5199a1d-0473-4b32-afd3-7e2e71d08888_1430x393.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="393" src="https://substackcdn.com/image/fetch/$s_!fHqv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5199a1d-0473-4b32-afd3-7e2e71d08888_1430x393.png" width="1430" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;The Quality and Predictability Advantage&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Factory first-pass quality, the share of test and inspection points cleared without rework, is supposed to exceed 95% in modular solutions, against a field baseline of 60-70%, thanks to the on-factory fixed work instructions. The benefit is system predictability. Flex frames this as a design choice and engineers it through design failure-mode-and-effects analysis for productized configurations, design-for-manufacturing and design-for-assembly reviews for project-specific ones.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;That said, recent conversations point to the opposite side, with operators and MEP contractors claiming that modular solutions have proven reliability issues and haven&amp;#8217;t lived up to their claims. This eventually means not only losing all the time savings gained initially, with a field team having to go on site, but more importantly, putting the precious hardware at risk.&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;&lt;strong&gt;&lt;span&gt;Re-evaluating Vendors&amp;#8217; Claims&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;span&gt;Our ~36% time savings, or around 8 months, lands just above Flex&amp;#8217;s published 30%+ floor on whole projects. In order to do a fair comparison, we must consider that vendors&amp;#8217; numbers usually come from narrower scopes or composite definitions, not the end-to-end construction timings. Vertiv&amp;#8217;s 85% SmartRun claim applies to overhead busway and containment, while MegaMod&amp;#8217;s 50% claim measures module deployment against on-site build. Schneider&amp;#8217;s 60% claim is for power-and-cooling modules.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_AwO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6666639d-e2a7-43a2-b99c-0d031ac2a764_2912x1344.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="672" src="https://substackcdn.com/image/fetch/$s_!_AwO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6666639d-e2a7-43a2-b99c-0d031ac2a764_2912x1344.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;strong&gt;&lt;span&gt;What Operators and Developers Are Modularizing Today&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Across the market, operators and developers are not converging on one modular strategy.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Hyperscalers&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Hyperscalers most frequently build their own fleet, vertically integrate buildouts, and engineer the datacenter design around their actual workload. That&amp;#8217;s why hyperscalers tend to show the innovator traits and have leading experimental footprint.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;AWS&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AWS shows the fastest scaling buildout currently, adding almost 3.9 GW of capacity to the end of 2025. Project Houdini is their largest internal attempt to modularization model. Rather than designing a modular building from scratch, AWS took its standard data-hall map and re-cut it into a factory-built skid roughly 45-feet in length and weighing about 2000 pounds that is transportable on double-drop trailers. This puts Houdini squarely in the &amp;#8220;factor-built white-space&amp;#8221; category.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pNot!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ea8619f-2321-4e42-bc73-a2e419c631d7_1170x633.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="633" src="https://substackcdn.com/image/fetch/$s_!pNot!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ea8619f-2321-4e42-bc73-a2e419c631d7_1170x633.png" width="1170" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AWS Project Rainier Indiana&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The approach cuts deployment from as much as 15 weeks to roughly 2&amp;#8211;3 weeks and can eliminate more than 50,000 on-site electrician hours per module. The skids are built in Houston, Salt Lake City, and Topeka, with early deployments in Texas and South Bend, targeting ~25 weeks from construction start to the first server room.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Houdini is also notable for its approval model. Instead of relying only on site-level engineering sign-off, the factory process requires separate validation of the design and the physical build. Cupertino Electric serves as the main partner, responsible for the latter.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kGpQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a7f6ee-678c-46c8-9d2e-2d9394a0b80f_1998x1366.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="995" src="https://substackcdn.com/image/fetch/$s_!kGpQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a7f6ee-678c-46c8-9d2e-2d9394a0b80f_1998x1366.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/industrials-model/"&gt;SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta has recently focused on how to get the building enclosed. Its &amp;#8220;tents&amp;#8221; datacenters, or rapid-deployment structures, are the clearest example of shell-level modularization in the taxonomy above. A lightweight structural frame supports a tensioned fabric membrane, creating a weather-protected enclosure much faster than a conventional steel-and-concrete building.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At Prometheus in New Albany, Meta is using this strategy to pull shell construction forward&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GLGN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26f3426e-2d7c-469a-acba-ea104d023b84_916x482.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="482" src="https://substackcdn.com/image/fetch/$s_!GLGN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26f3426e-2d7c-469a-acba-ea104d023b84_916x482.png" width="916" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Meta Tent at Prometheus New Albany&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meta has built six rapid deployment structure at this campus, with each roughly 125,000 in square feet dimension. To put speed savings into the picture, it&amp;#8217;s worth noting that the site&amp;#8217;s first five permanent buildings took Meta two to three years to complete, while the tents took a fraction of that, with eight standing by April 2026 from our satellite tracking since their announcement of the tent buildout in July of 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This does not mean Meta built the complete datacenters in nine months, because the tent accelerate the shell but not the full facility. Also, the trade off on the other hand, is resilience. A fabric structure does not provide the same long-term durability or weather protection as a permeant steel or concrete shell as we had described above, it is also not built with intent to provide decade-long protection service.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;GPU Clouds and Neoclouds&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Crusoe&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Crusoe participates in both the shell modularization and whole facility modularization taxonomy. At the Abilene Stargate campus, Crusoe accelerated the shell using structural steel and factory-made insulated metal panels. Working with Digital Building Components, each building used roughly 672 prefabricated panels. The panels were manufactured in under 40 days and installed at a rate of roughly 15 to 20 per day, allowing the building to reach a dried-in state in under eight weeks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wClg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F509f6080-e982-4f6e-b0fb-dce2c6e2ecc7_1432x671.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="671" src="https://substackcdn.com/image/fetch/$s_!wClg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F509f6080-e982-4f6e-b0fb-dce2c6e2ecc7_1432x671.jpeg" width="1432" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Crusoe Stargate Abilene Campus&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In addition, Crusoe&amp;#8217;s decided to vertically integrate the manufacturing process. Its 2022 acquisition of Easter-Owens brought modular datacenter and electrical-system manufacturing in-house, giving Crusoe greater control over design, supply chain, and production. The company is now expanding that capability through a dedicated Spark factory in Brighton, Colorado.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each Spark unit are roughly one megawatt in scale and arrive substantially complete, placing Spark in the whole-facility modularization category.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!onWg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87869878-a751-4e71-8ee4-1ab52b74a00d_738x411.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="411" src="https://substackcdn.com/image/fetch/$s_!onWg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87869878-a751-4e71-8ee4-1ab52b74a00d_738x411.jpeg" width="738" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Crusoe Energy Systems &amp;#8211; Spark Container&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Redwood Materials deployment in Nevada shows how this model can scale. Crusoe initially installed four Spark units alongside a 12 MW microgrid and later announced an expansion to 24 units.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Hut 8&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Hut 8 is buying the entire infrastructure stack. A former bitcoin miner with power and land positions, it is racing to convert those positions into leasable AI capacity, and the fastest way to do that is to buy a finished modular stack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!0r6e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88acc7be-4dbd-4153-93c4-e044f5f9d95e_1008x509.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="232.78670634920636" src="https://substackcdn.com/image/fetch/$s_!0r6e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88acc7be-4dbd-4153-93c4-e044f5f9d95e_1008x509.jpeg" width="461" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Hut 8 Corpus Christi Beacon Point Platform&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At its Beacon Point campus in Corpus Christi it runs Vertiv&amp;#8217;s OneCore to commercialize a 704MW IT lease.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The project is being designed around Nvidia&amp;#8217;s DSX reference architecture and delivered through a group of established counterparties. American Electric Power provides the utility relationship, Jacobs Solutions owns the EPCM scope, and Vertiv supplies the critical power and cooling infrastructure.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Nebius&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nebius takes a lighter approach to modularization by defining the facility around its own compute architecture and modularizing selected parts of the infrastructure such as power and cooling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the New Jersey campus, the facility is being built to Nebius&amp;#8217;s own design through its partnership with DataOne and is planned as a phased development expandable to 300 MW. The company used precast structural components to accelerate the shell, while pairing the site with Bloom Energy behind the meter fuel cells as the power solution.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qwam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a140a1a-442b-4e65-b2e5-d9159acf6656_800x476.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Sherrill unveils N.J. plan to regulate AI data centers amid rising energy  costs - nj.com" class="sizing-normal" height="476" src="https://substackcdn.com/image/fetch/$s_!qwam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a140a1a-442b-4e65-b2e5-d9159acf6656_800x476.jpeg" title="Sherrill unveils N.J. plan to regulate AI data centers amid rising energy  costs - nj.com" width="800" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NJ.com, Nebius/DataOne New Jersey&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At B&amp;#233;thune, France, the company follows the same operating logic through a different construction method. The project reuses the former Bridgestone tire plant, avoiding part of the greenfield shell and permitting process. Azur Datacenter is responsible for the land, utility intake, construction, and physical plant, while Nebius focuses on the GPUs, racks, networking, and software.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Colocation Providers&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Compass&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Compass is the colo that has run the modular playbook longest. They industrialize the whole facility into a repeatable kit of parts, not just one subsystem. We estimate roughly 70 - 85% of each building is manufactured off-site and bolted together on site, standing up a building&amp;#8217;s framework and roof in 18 to 21 days. The kit spans the full stack:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Shell: a rebar-free, fiber-reinforced precast shell, Compass casts itself from on-site batch plants&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;White space:&lt;/span&gt; &lt;span&gt;Standardized prefabricated rack and containment systems such as using Schneider&amp;#8217;s EcoStruxure Pod&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Power block: a repeatable ~1.25 MW Schneider power center (Galaxy VX UPS, lithium-ion batteries, QED-2 switchgear)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;MV switchgear: modular medium-voltage switchgear skids under a Siemens deal for up to 1,500 units over five years&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DoIh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e4c0e-9373-499f-93c5-4209a4698865_970x464.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="240.6103092783505" src="https://substackcdn.com/image/fetch/$s_!DoIh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F858e4c0e-9373-499f-93c5-4209a4698865_970x464.jpeg" width="503" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Compass Datacenters in Red Oak&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It runs this same kit across campuses, up to 360 MW at Red Oak, Texas and eight buildings across 1.8 million square feet at Goodyear, Arizona.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;QTS&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;QTS&amp;#8217;s modular strategy is built around locking the design early, standardizing the interfaces between vendors, and purchasing critical equipment before a specific building needs it. The company maintains roughly 7 million square feet of warehouse capacity in Kansas for long-lead equipment, allowing UPS systems, switchgear, cooling equipment, and other owner-furnished components to be held in inventory rather than ordered after each customer signs.&lt;/p&gt;&lt;p&gt;The approach began with the Freedom Design, which keeps the building shell flexible but repeats the power architecture. Each factory-built pod combines a 1.5 MW UPS and switchgear package with a 2.25 MW generator, and the system scales in 1.5 MW increments. Freedom LC+ expands the same concept into cooling, with an architecture that can support either fully air-cooled or fully liquid-cooled deployments. QTS&amp;#8217;s newer rapid-deployment design pushes modularization further into the building itself, organizing capacity around repeatable 60 MW data-hall blocks.&lt;/p&gt;&lt;p&gt;QTS has therefore continued to move more scope off-site: first the power train, then parts of the cooling system, and now portions of the shell and data hall. For the shell, some QTS facilities use tilt-up concrete, including Manassas, while larger campuses such as Cedar Rapids use structural steel. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1V6g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b685916-1e0f-401b-a00a-dd37556a4ffa_645x680.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Project Profile: QTS MAN1 DC-3 | Tilt-up Concrete Association" class="sizing-normal" height="391.13178294573646" src="https://substackcdn.com/image/fetch/$s_!1V6g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b685916-1e0f-401b-a00a-dd37556a4ffa_645x680.png" title="Project Profile: QTS MAN1 DC-3 | Tilt-up Concrete Association" width="371" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: QTS Man1 Project Tilt-UP&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The value is labor, safety, and schedule certainty. QTS estimates that labor pressure has increased datacenter construction costs by roughly 20&amp;#8211;30% per MW. Moving to modular is the company is trend, and they begin by stocking long-lead equipment in advance removes another source of delay, giving QTS greater control over when the final megawatts can be commissioned.&lt;/p&gt;&lt;p&gt;QTS developed subsequently the &amp;#8220;Rapids&amp;#8221; design, which materially accelerates construction timelines. Two major AI companies have adopted this design at scale. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jxlG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7671330c-35c5-43de-b0bb-59627d84a988_1414x1180.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1180" src="https://substackcdn.com/image/fetch/$s_!jxlG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7671330c-35c5-43de-b0bb-59627d84a988_1414x1180.png" width="1414" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source:&lt;a href="https://semianalysis.com/industrials-model/"&gt; SemiAnalysis Industrials Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Aligned Data Centers&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Aligned&amp;#8217;s modular strategy is centered on adaptability, keeping the core power and cooling architecture standardized while allowing the hall configuration to change as customer requirements and rack densities evolve. The approach began with core MEP infrastructure, including a 2 MW UPS container with integrated distribution switchgear and power. This approach is now extending into site conveyance through examples like prefabricated chilled-water assemblies. For customers able to coordinate early, the scope can extend even further into the white space through things like secondary fluid piping.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!badq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f482d50-f566-4f90-9fdc-8f95fb2d5463_1024x531.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="227.6455078125" src="https://substackcdn.com/image/fetch/$s_!badq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f482d50-f566-4f90-9fdc-8f95fb2d5463_1024x531.png" width="439" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Aligned Adaptive Modular Infrastructure&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The other core element is Aligned&amp;#8217;s Adaptive Modular Infrastructure platform, which keeps the underlying power and cooling systems consistent while allowing the hall to shift between air, hybrid, and liquid cooling as rack densities evolve. The platform combines&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Delta&amp;#179;, Aligned&amp;#8217;s air-cooling system, supporting densities of up to roughly 50 kW per rack.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;DeltaFlow, its liquid-cooling platform, supporting densities above 350 kW per rack&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Because the underlying chilled-water loop and facility interfaces remain consistent, the cooling mix can change without redesigning the entire hall.&lt;/span&gt; T&lt;span&gt;he components inside the modules remain standardized and do not change. An example is found in Project Caprock in Texas, 540 MW across six buildings and 1.65 million square feet.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/the-wild-wild-west-of-lego-datacenters"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-29T14:09:56+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing</id>
    <title>Can AMD break the CUDA Moat? AMD Advancing AI 2026</title>
    <updated>2026-07-24T16:33:23+00:00</updated>
    <author>
      <name>Bryan Shan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/mi300x-vs-h100-vs-h200-benchmark-part-1-training"&gt;&lt;span&gt;When we published our first AMD software article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we gave AMD a 0% chance of closing the gap with Nvidia in AI accelerators. Software was broken, progress was unexciting, and we were the top bug submittor for many months with dozens of AMD engineers triaging our bug reports. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;&lt;span&gt;Six months later, in our AMD 2.0 article, we took the non-consensus position of upgrading from 0% chance to a much more meaningful chance at success&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We published this opinion when sentiment towards AMD was sitting at rock bottom, and when most of the market thought we were were being far too optimistic towards AMD.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/mi300x-vs-h100-vs-h200-benchmark-part-1-training"&gt;&lt;span&gt;That view was based on our observations that AMD has the leadership that can create change rather than suffer from committee style leadership.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;&lt;span&gt;Lisa quickly hopped on a calls with us and has since then implemented many of our suggestions&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We saw an AMD that had finally recognized the importance of software and had a sense of urgency, moving in the right direction even if the destination was still far off. Since then, the signal has only gotten stronger. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Based on our experience on AMD software stack this year, we update our view again from non-zero percentage chance to now a great chance of success as long as AMD solves the 2 major risks we outline below. &lt;/span&gt;Note that just because AMD gains market share, that doesn&amp;#8217;t mean NVIDIA will do poorly. The pie is getting massive, and NVIDIA will continue to massively grow revenue. AMD poses potential competition on the software front to NVIDIA and Jensen will need to cut bureaucracy &amp;amp; layers of different required internal stakeholder approvals, for even the simplest of tasks, at NVIDIA to move faster and defend their lead.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Anthropic has publicly announced that they will deploy 2GW of AMD&amp;#8217;s chips, Lisa Su and team have leaned into an agentic oriented engineering culture. As Anthropic Head of Compute Tom Brown said, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;he just used Claude over the weekend with &amp;#8220;/goal&amp;#8221; to bring-up internal Claude inference stack on AMD hardware&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; being a case in point. We believe that since AMD&amp;#8217;s compiler &amp;amp; most of their kernels are open sourced, they are better positioned for the agentic age &lt;/span&gt;&lt;strong&gt;&lt;span&gt;besides 1 major risk which we will talk about later&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. &lt;/span&gt;&lt;a href="https://geohot.github.io/blog/jekyll/update/2025/03/24/tragic-intel.html"&gt;&lt;span&gt;3 months ago, our Accelerator model noted that Anthropic will be an AMD customer&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;a href="https://x.com/dylan522p/status/1871287937268383867?s=46"&gt;&lt;span&gt;We also noted it on our socials a week ago too&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;In 2023, Microsoft dropped AMD as a customer after MI300X due to unreliable Samsung 2023 HBM memory&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &amp;amp; poor software quality and skipped both MI325X and MI355X. Now Microsoft has announced that it will deploy MI455X Helios, we believe that this will be mainly for OpenAI has the end customer for Azure&amp;#8217;s MI455X racks. In a strategy somewhat similar to NVIDIA Groq, AMD is announcing with Cerebras to do PD disagg for ultra-fast interactivity inferencing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There 2 major risks for AMD that it needs to overcome is&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Supply chain checks &amp;amp; engineering first principles understanding shows that AMD&amp;#8217;s first AI rack scale system, Helios, is going currently going through slow rack production ramp due to the lack of a cableless design compared to Rubin Oberon rack. Furthermore, since AMD has a weak SerDes design, up to 85% of its backplane needs to be retimed, requiring over over 550 Broadcom ethernet retimers per rack. Furthermore, it is running into backplane reliability challenges during rack production ramp hell.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The chief complaint from most AMD engineers internally is that there is a persistent lack of stable GPU clusters for internal software development teams &amp;amp; lack of stable GPU clusters for automated testing CI&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, which is preventing lots of progress especially as &lt;/span&gt;&lt;strong&gt;&lt;span&gt;it is hurting AMD from realizing a lot of the potential upsides of AI coding Agents too&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; as each AI Agent requires GPUs too and requires testing tool use loop too. We will explain below on our recommendation section.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;If AMD can overcome these challenges, we strongly believe that AMD will be well positioned to do well and take market share &lt;/span&gt;&lt;strong&gt;&lt;span&gt;especially considering AMD is giving Meta &amp;amp; OpenAI close to an 105% equity rebate discount&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; via their finance engineering &amp;amp; stock options when AMD stock reaches the final trench of $600 and OpenAI/Meta buys enough compute. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Helios performance per TCO is so great that AMD that cost per million tokens is practically negative cost&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. AMD is practically giving away an Helios and 5% extra on top of that to SF based nonprofit OpenAI. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the first part of our article, we do a deep dive into the Helios architecture and MI455X (gfx1250) instruction set which is an clone of Hopper SM90&amp;#8217;s ISA. Then we will go into details of the software stack. And then for part 3, we will break down the economies of OpenAI/Anthropic/Meta&amp;#8217;s equity based rebate discounts &amp;amp; how that effects TCO.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are a daily user of ROCm software on MI300X, MI325X, MI355X &amp;amp; also the #1 bug report consistently every quarter, there is a couple 10x engineers we want to shoutout work 997 improve AMD software &amp;amp; quickly triaging our bugs reports including Hongxia, Chun Fang, HaiShaw, Thomas Wang, Andy Luo, Seungrok, Bill He, Teresa Shan, Parth, Duyi Wang, Gilbert, and many more. Most of AMD best 10x engineers are in Shanghai. AMD&amp;#8217;s MoRI collective &amp;amp; UMBP KVCache offloading team, AMD&amp;#8217;s disaggregated application forward deployed engineering team, and other AMD teams that understand how to do first principles-based inference engineering are all mostly based in Shanghai. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;A lot of the ROCm software stack&amp;#8217;s most important pieces are built in China.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Recommendations to Lisa Su, Mark Papermaster, Sharon Zhou, Anush Elangovan &amp;amp; Vamsi Boppana&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;There has been good progress over the past year on automated testing to improve software quality, but the pace of progress has not as aggressive as needed and there continues to lack of sense of urgency on providing enough GPU clusters for automated testing CI &amp;amp; for internal software development teams. It is always too little too late. Every time we have meeting with y&amp;#8217;all (Vamsi, Anush) every couple of months &amp;amp; occasionally meet with Lisa, CI get better for specific examples we point out and things are heading in correct direction, but overall strategy need to be aggressively ramped up. For example, Kubernetes Inferencing Pollara NIC CI still sits at 0% parity with NVIDIA&amp;#8217;s ConnectX Nightly CI. Kubernetes is the layer that most inference deployments across the world use. It isn&amp;#8217;t due to AMD engineering not &lt;/span&gt;&lt;em&gt;&lt;span&gt;wanting &lt;/span&gt;&lt;/em&gt;&lt;span&gt;to add it, rather they are blocked by lack of investment in internal CI capacity. The planned ETA of advancing AI 2026 reaching parity on this was missed due to cluster issues.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, On the vLLM side, vLLM gating automated test progress has massively regressed due to AMD cluster infra stability issues this week. AMD&amp;#8217;s hardcore engineers were making good progress on vLLM gating over the past couple of weeks to reach the ETA of reach 90% parity with CUDA on gating by Advancing AI 2026, until AMD leadership started pulling clusters away from AMD&amp;#8217;s internal vLLM team to deploy elsewhere due to AMD&amp;#8217;s internal capacity overrelying on backstopped temporary clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Gating/blocking tests mean the tests are of the highest quality, since PRs cannot merge unless the test is passing. This prevents bugs from being merged. While AMD leadership may distract non-technical folks by showing their non-gating pass rate, gating parity &amp;amp; gating pass rate are what truly matter.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We hope that AMD leadership can re-prioritize giving their internal vLLM team stable clusters &amp;amp; update their philosophy on capacity planning to prevent issues like this in the future, so that AMD&amp;#8217;s internal hardcore vLLM engineers can do the work of reaching 90%+ parity with CUDA vLLM on gating and have the tools needed to operate at the same velocity as the AMD internal SGLang team.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is the chief complain from most AMD engineers is that leadership needs to update their viewpoint on providing stable CI clusters that don&amp;#8217;t just randomly need to be migrated and shifted from 1 CSP to another CSP.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, there is a constant lack of GPUs internally for development. For single node aggregated inferencing, there is enough GPUs to go around internally. But in the age of Distributed Multi-node Inferencing optimizations (wideEP &amp;amp; disaggregated PD), there is nowhere near enough GPUs. Even with the additional 2000 MI355X coming online this month and the 6000 MI325X/MI355X coming online later this year, it will not be enough and still more than an order of magnitude less than the stable long term clusters NVIDIA has for internal development. This lack of GPU nodes is even getting worse due to the rise of agentic coding. Previously, each human engineer required a couple of nodes to do DI inference software development. But now with agentic coding, each agent requires GPUs to test their code against and each human can have dozens of agents running at the same time and each agent can only dozens of sub agents running at the same time too. Thus, &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/dynosim-simulating-the-pareto-frontier/"&gt;&lt;span&gt;without Distributed Inferencing simulation tools like DynoSim&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, there will be even greater shortage of internal GPU capacity internally.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;unlike Rubin (SM107) which is an very similar ISA to Blackwell (SM100),&lt;/span&gt;&lt;/a&gt;&lt;span&gt; MI455 (gfx1250) is an complete different ISA from MI355 (gfx950) and has completely different codepaths and kernels which will require testing on both gfx950 &amp;amp; gfx1250. This is another thing that will continue to stress capacity. The big audacious goal for MI455X open-source vLLM, SGLang nightly automated CI was to have it by Advancing AI, but that was missed. We hear that the new timeline has been delayed till October 2026 but they are trying to leftshift it to August/September timeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We view this slow ramp of internal software development GPU clusters &amp;amp; automated testing CI clusters is one of the major risks slowing them improvement of software quality &amp;amp; performance and hope AMD leadership revisits their capacity planning strategy going forward.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Part 1: AMD MI455 Silicon&amp;#8239;&amp;amp; Helios Rack&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ck08!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6e9663-f4ef-4392-9cf8-c7e50a770459_1920x1069.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="811" src="https://substackcdn.com/image/fetch/$s_!ck08!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6e9663-f4ef-4392-9cf8-c7e50a770459_1920x1069.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD has done it again on silicon engineering. The MI455X is the most advanced chip that comes out of a fab on the silicon front. AMD is the first company to ship 2nm datacenter silicon with both the MI455&amp;#8217;s compute tiles as well as the Venice CPU being early adopters of N2. All of the competing accelerator platforms are on N3.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD continues to lead on package integration as well. The MI455 package is the largest CoWoS-L module shipping at 5.5x reticle size. AMD is still the only company adopting TSMC&amp;#8217;s SoIC-X hybrid bonding, which allows AMD to scale silicon footprint in the z dimension as well as the x and y dimensions. All this comes together to bring the MI455 to a total of 3,470mm2 of logic silicon in the package, by far the most amount of silicon that is being shipped in a single package.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The package layout borrows heavily from the MI355X. 8 N2 &amp;#8216;XCDs&amp;#8217; are hybrid bonded atop of 2 reticle-sized base dies which contain SRAM, HBM controllers, as well as the compute fabric that allows for the XCDs to communicate with each other.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One of the major areas where the MI455X departs from the MI300 family is the addition of 2 separate I/O dies that house all the PHYs for off-package communications. While the floorplan representation below shows one IOD for the UALoE scale up fabric, and the other IOD for the link to the host CPU and NICs for the scale out fabric, the I/O dies are in fact identical. This is a result of the clever implementation of flexible I/O, with each I/O die supporting 72 lanes that are compatible with different protocols at different line speeds including: 212G UALoE, 64G Infinity Fabric, PCIe Gen 6, 128G UALink, xGMI4. With many of these protocols contributed to the open UALink consortium in one form or another, the I/O is designed from the ground up to integrate well with UALink based interconnect solutions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mx0-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1d6ed6e-5755-4125-af00-a1aa104b8174_1200x675.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!Mx0-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1d6ed6e-5755-4125-af00-a1aa104b8174_1200x675.jpeg" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This silicon spam is what allows AMD to deliver industry-leading peak theoretical dense FLOPs with the MI455X delivering 20PF of FP8 vs Rubin at 17.5 FP8. However, absolute numbers aside, these performance advantages are relatively mild compared to Rubin given how much more silicon content there is. This is down to AMD&amp;#8217;s deficit to Nvidia in GPU microarchitecture design, which we will discuss below.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Currently&lt;/span&gt;&lt;strong&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;MI455X is lacking 3 bit LUT tensor cores that Rubin SM107 has&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. 3 bit LUT tensor cores has potential advantages for reducing relative HBM bandwidth needs.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; If anything, AMD is forced to be aggressive on silicon to compensate for this deficiency, not to mention its relative weaknesses in software and system design, though it&amp;#8217;s software is getting better. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/180102610/why-anthropic-is-betting-on-tpus"&gt;&lt;span&gt;Alternatively, AMD&amp;#8217;s product marketing team needs to find a few more tricks to juice marketed performance numbers.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zaig!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410a2a3c-5439-4c82-a160-4369f9ada170_2072x1185.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="833" src="https://substackcdn.com/image/fetch/$s_!zaig!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410a2a3c-5439-4c82-a160-4369f9ada170_2072x1185.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD, Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The large package size also allows AMD to fit 12 stacks of HBM4 for a total of 432GB per package. This is again industry leading compared to Nvidia and Google shipping only 8 stacks which is 288GB per package. Each base die is now closer to reticle sized with the HBM-facing edge measuring 32mm to squeeze in 3 cubes per edge, compared to the MI300X AID which was 29mm per edge which isn&amp;#8217;t enough to fit 3 cubes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Along with Rubin, AMD is the only company shipping HBM4 this year. Having 12 stacks also allows the MI455 to be the winner on memory bandwidth at 23.3 TB/s per chip, implying HBM4 pin speeds of 7.6Gamdbps. This is a slight upgrade from the 19.6TB/s advertised at last year&amp;#8217;s Advancing AI. Despite having a 50% wider bus than Rubin, the total bandwidth is barely above Rubin at 22TB/s.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is because Nvidia aggressively raised its targeted HBM4 pin speeds last year, well above the original JEDEC HBM4 specification. This change was precisely driven by the need to make up for the memory bandwidth deficit to AMD MI455X. At Nvidia&amp;#8217;s marketed 22TB/s for Rubin, this is a pin speed of 10.7Gbps: 40% faster than MI455&amp;#8217;s HBM4 which means NVIDIA will be forced to use an much higher quality bin than AMD.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we have mentioned before and covered extensively in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/188150420/rubin"&gt;&lt;span&gt;newsletter&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, this change was challenging for memory suppliers to keep up with. Memory suppliers had to rework their HBM4 to deliver the spec Nvidia was targeting. This also pushed out upstream output for Rubin but as of today these issues have been finally resolved. This move proved to be a worthwhile gambit for Nvidia as they could close one of the big shortfalls of Rubin and despite the delays, Vera Rubin will still be the first deliver tokens at scale compared to MI455 Helios. More on that later.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Active LSI&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Hidden beneath the surface, we believe that the MI455 is also the known first chip to ship with active Local Silicon Interconnects (&amp;#8220;LSI&amp;#8221;), which are the bridges that connect the various chiplets within the CoWoS-L assembly. In the brief history of CoWoS-L, the bridges have been passive, containing only wiring as well as capacitors. Active LSIs come with actual circuitry. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/isscc-2026-nvidia-and-broadcom-cpo?utm_source=publication-search"&gt;&lt;span&gt;During TSMC&amp;#8217;s aLSI presentation at ISSCC 2026, TSMC demonstrated active bridges with a low-power repeater circuit that regenerates signals mid-channel.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; The benefit is that because the bridge now shares the burden of maintaining signal integrity, the PHYs on the top dies can shrink meaningfully, at a nearly negligible energy cost, reclaiming leading-edge silicon and shoreline for compute and memory. The give away that this is being shipped in the MI455 is the &amp;#8220;test vehicle&amp;#8221; TSMC showed is the MI455 interposer: with two base dies, 12 HBM4 stacks, and two IO dies.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mB4c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F458dc37b-725d-4269-9958-1bef95f177fc_1456x819.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!mB4c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F458dc37b-725d-4269-9958-1bef95f177fc_1456x819.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: TSMC Active LSI Die Shot and Power Breakdown, ISSCC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DZtn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9733428b-7090-4796-abdf-989d692209ac_1282x852.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!DZtn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9733428b-7090-4796-abdf-989d692209ac_1282x852.png" width="1282" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: SemiAnalysis&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Meta Recsys Infra Strategy Odd Choice Hurting AMD&amp;#8217;s chances of success At Meta&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In short, a lot of what AMD brings to the table is how much logic and memory they&amp;#8217;ve been able to integrate in one chip. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a"&gt;&lt;span&gt;Oddly, Meta, one of AMD&amp;#8217;s biggest GPU customers decided to not take advantage of AMD&amp;#8217;s innovation here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Most of Meta&amp;#8217;s orders for the MI455 is a customized variant that is a cut-down version of the full MI455X: the compute silicon is halved from 8 dies to 4, and the HBM drops from 12 stacks to 6 per package. The HBM4 itself is also a step down, with 8-Hi stacks in place of the standard SKU's 12-Hi. Halving the compute and memory silicon raises the CPU-to-GPU compute ratio, mirroring Nvidia's Meta-specific "Ariel" variant of the GB200 NVL72. This chip configuration is intended for Recsys workloads and was something that Recsys infrastructure teams decided. However, the decision was made before TBD Lab was formed or could have its say. Given the significant compute and HBM deficiency for the scale up domain versus Rubin, TBD has no interest in this system, nor is it attractive for external customers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/i/207968269/upcoming-amd-mi450x-gun-in-mouth-decision"&gt;&lt;span&gt;As we specifically stated on our last piece on Meta infra strategy, this decision on doing an half size custom MI455, is going to nuke AMD&amp;#8217;s volume at Meta because TBD will vastly prefer Rubin if the half MI455 design is chosen. AMD needs to step in, put&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on their big boy pants, and work directly with teams at TBD to make sure they get the normal MI455 instead of the gimped Meta custom version which is terrible for LLM training &amp;amp; inferencing. The normal MI455 will be competitive with Nvidia&amp;#8217;s Vera Rubin.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We do think there is hope though as after our article, Mark Zuckerberg has already began rapidly exploring changes to their infrastructure strategy org culture.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bnH4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0be709-73f2-4f11-aaba-6f8f73e0d38e_1358x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="960" src="https://substackcdn.com/image/fetch/$s_!bnH4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0be709-73f2-4f11-aaba-6f8f73e0d38e_1358x960.png" width="1358" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the network side, MI455X marks the first AMD GPU deployment with switched scale up and in a rack-scale scale up domain. This a huge upgrade over the 8-GPU point-to-point mesh used from MI300X through MI355X.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s Helios rack connects 72 MI455X GPUs through 12 102.4T Tomahawk6 switches in a single tier all-to-all network. Each GPU has 72 lanes of 200G UALoE for the scale up fabric, resulting in total scale up bandwidth of 1.8 TB/s uni-di per GPU. Each switch uses 432 of its 512 200G lanes, with the over-provisioning a result of AMD using merchant TH6 switches from Broadcom, rather than a proprietary co-designed switch like Nvidia. Scale-out moves in parallel from 400G Pollara to 800G Vulcano, with two NICs delivering 1.6 Tbit/s per GPU with the option of adding a third NIC for each GPU. MI500 is expected to extend the scale-up domain to 256 GPUs across three racks, where copper will likely give way to co-packaged copper or co-packaged optics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yRDz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ffbb4a-b0b9-4b4c-aaef-919425473a2a_1810x962.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="774" src="https://substackcdn.com/image/fetch/$s_!yRDz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ffbb4a-b0b9-4b4c-aaef-919425473a2a_1810x962.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Helios Rack Explainer Revisit&lt;/h2&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-advancing-ai-mi350x-and-mi400-ualoe72-mi500-ual256"&gt;&lt;span&gt;It has been a year since AMD&amp;#8217;s Helios architecture was announced at Advancing AI 2025, and a lot has happened since then.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Let&amp;#8217;s revisit the Helios architecture and review some of the changes and nuance that happened over the last year.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Rack Elevation Diagram&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dXbD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e399c1f-c69e-410e-9ddb-dda86b300d6b_2120x1898.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1304" src="https://substackcdn.com/image/fetch/$s_!dXbD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e399c1f-c69e-410e-9ddb-dda86b300d6b_2120x1898.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The Helios rack features 18 compute trays and 6 scale up switch trays, sitting in the middle of the compute trays. Each compute tray will house 4 MI455X GPUs and 1 Venice CPU, adding up to 72 GPUs and 18 CPUs in aggregate. Each scale up switch tray will house 2 102.4T Tomahawk 6 switch from Broadcom adding up to 12 switch ASICs in aggregate. For Meta&amp;#8217;s version of MI455x, there will be six 51.2T Minipack Ethernet switch within the rack, and the power supply shelf will be in a separate IT rack.&lt;/p&gt;&lt;h3&gt;Compute Tray Layout&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2hZc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0defa7-6a54-440c-a3ef-6db331e42f7b_1926x1666.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1259" src="https://substackcdn.com/image/fetch/$s_!2hZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0defa7-6a54-440c-a3ef-6db331e42f7b_1926x1666.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The compute tray design has not largely changed since Advancing AI 2025. Each MI455X GPU sits in an EAM module connecting to the scale up links via backplane connectors and the Venice CPU and Vulcano NIC via flyover cables. Notable, the LPDDR5x directly attached on the EAM is not to be seen, we will explain this below. The Venice CPU sits in its own module board with 16 slots of RDIMM and 5 NVMe SSD slots attached. The design is modular however the use of flyover cables to connect between modules could lead to challenges in production.&lt;/p&gt;&lt;h3&gt;Partial Codesign&lt;/h3&gt;&lt;p&gt;AMD has presented a wide portfolio of products for their rack scale solutions, including MI455x GPU, Venice CPU, Pensando Vulcano 800G NIC, and Pensando Salina DPU. However, the scale up switch, which enables the true rack scale scale up performance is missing. Unlike Nvidia, AMD has to rely on a partner for an off the shelf merchant scale up switch. This enables a wider ecosystem of scale up switch available to their customers, at least in theory. However, this also puts their roadmap at risk of execution of switch partners. Because Broadcom is the only merchant provider shipping a 100T switch with 200G SerDes, Broadcom is AMD&amp;#8217;s only choice for the switch. This also complicates logistics and responsibility between vendors, which requires back and forth communication and problem solving together. Due to the lack of a scale up switch product, AMD cannot reach extreme codesign for the complete rack solution.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!smKF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5391679d-c5c7-48a6-83d1-3033433180c0_2253x1261.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!smKF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5391679d-c5c7-48a6-83d1-3033433180c0_2253x1261.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Memory Despec&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;One notable omission is there is no longer any direct attached LPDDR running off of each accelerator. Previous roadmaps had up to 1TB of LPDDR as second tier memory for each MI455X attached on the EAM module, however this has now disappeared. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/memory-mania-how-a-once-in-four-decades?utm_source=publication-search"&gt;&lt;span&gt;We believe this is another consequence of tight memory supply&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Backplane retimed&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Another feature of Helios is the addition of Ethernet re-timers on the scale up switch. This is unlike Nvidia&amp;#8217;s Oberon backplane which is completely passive. AMD&amp;#8217;s 200G SerDes struggles from the loss on the copper path between MI455X and the scale up Tomahawk 6. It could be a result of their flexible I/O ambition or simply inferior SerDes quality leading to inadequate signal performance in the backplane. For Meta&amp;#8217;s MI455X deployment, ~85% of the scale up links will be retimed. The ethernet retimer will be provided by Broadcom and will be placed in the scale up switch tray. This is not an ideal set up, as the retimers will add extra cost and power budget to the entire system. Also, it complicates server assembly as it will be a very tedious task tuning all the retimes when bringing up a rack.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Manufacturability and Efficiency Challenge&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The MI455X Helios design was AMD&amp;#8217;s response to Nvidia&amp;#8217;s GB200/GB300 Oberon architecture. AMD referenced a lot of Nvidia&amp;#8217;s architecture for Helios. While the design enables high density single rack scale up, AMD has also borrowed the design that made Nvidia suffered, namely the flyover cables. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;We have discussed the manufacture challenges regarding the flyover cables in our Vera Rubin architecture deep dive article. &lt;/span&gt;&lt;/a&gt;&lt;span&gt;The difficulties with flyover cables of GB200/GB300 made Nvidia pivot toward the cableless design for Vera Rubin NVL72. By the time this was announced, it was too late for AMD to implement this design philosophy for MI455x Helios.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the compute tray, the Genesis cable from Molex handles the 128G UALink between the MI455X and Pensando Vulcano NIC. There will be up to 12 Genesis cables per compute tray cramming into the 1U space alongside liquid cooling tubes and power cables. On the scale up switch side, flyover cables are between the backplane connector and the TH6 switch. 1,728 cables will be routed from the backplane connectors to the 16 ports (32 ports per tray) around each TH6 ASIC. All the cables become potential points of failure during assembly and will make manufacturing inefficient.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Compute Tray Topology&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Each of the 18 compute tray in the Helios rack holds four MI455X EAMs, each of which support 36 UALoE links, which in turn are built up using two lanes of 200G Ethernet. 72 lanes of 200G ethernet sums up to 14.4Tbit/s uni-di of total scale-up bandwidth per GPU. The MI455X features two N3P based I/O blocks on the North and South of the package &amp;#8211; one I/O block hosts these UALoE links for the scale-up network, while the other implements Infinity Fabric for connecting to CPUs as well as UALink128/PCIe Gen7 for connecting to NICs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DOGl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba819b-e3fc-4934-a506-49a15e1b4a14_1178x658.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="658" src="https://substackcdn.com/image/fetch/$s_!DOGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba819b-e3fc-4934-a506-49a15e1b4a14_1178x658.png" width="1178" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;Scale Up Topology&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8pgG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff531ace5-a92f-462e-ae0d-1f93f8b091ec_1810x962.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="774" src="https://substackcdn.com/image/fetch/$s_!8pgG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff531ace5-a92f-462e-ae0d-1f93f8b091ec_1810x962.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On the other end of these UALoE links are 12 Broadcom Tomahawk 6 Ethernet switches across 6 switch trays with two switch ASICs per tray. UALink over Ethernet (UALoE) is the equivalent layer of the stack of NVIDIA&amp;#8217;s NVLink. Each Tomahawk 6 switch ASIC is built to support 102.4Tbit/s uni-di of aggregate bandwidth across 512 lanes of 200Gbit/s uni-di each. However, only 432 of these 200G lanes are actively used, for a total of 86.4Tbit/s uni-di of bandwidth going from each switch ASIC to the 72 GPUs in the rack. A switch aggregate bandwidth that divides evenly among 72 GPUs would be ideal &amp;#8211; 115.2Tbit/s for instance, but AMD is using the only switch that is available today. UALink switches with 115.2T and 57.6T aggregate bandwidth are on the horizon, but not close enough for them to anchor this architecture. In contrast, Nvidia designed the 28.8T NVSwitch to match the needs of a 72 GPU rack, and this divides bandwidth evenly among 72 GPUs, 400Gbit/s uni-di each, with no wastage of bandwidth at all. Each switch tray also includes a small host x86 CPU.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!svW_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F255daf84-8480-4765-8725-6a8aa35718de_1486x833.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!svW_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F255daf84-8480-4765-8725-6a8aa35718de_1486x833.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AMD uses a scale-up topology that should by now be familiar to our readers. In this flat one-layer network, each GPU connects to each switch using 6 lanes of 200Gbit/s uni-di per lane, for a total of 1.2Tbit/s uni-di to each switch of the 12 switch ASICs. Each switch ASIC in turn connects to all GPUs in the rack.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!D4oe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F973d34b4-ca29-4519-b48a-b3862d4fa498_2091x782.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="545" src="https://substackcdn.com/image/fetch/$s_!D4oe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F973d34b4-ca29-4519-b48a-b3862d4fa498_2091x782.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The scale-up switch to GPU links is implemented using a copper cable backplane. For each GPU, each of the 72x 200G lanes is carried over two differential pairs (DPs) of copper channels, one for transmit and one for receive. This totals to 144 DPs of copper cables per GPU, or 10,368 differential pairs of copper cables for the entire rack. Each GPU will also need a 144DP male and a 144DP female connector to interface between the backplane cables and the compute tray itself. On the switch side, four banks of connectors will be used per switch tray, with each bank hosting four 108 DP connectors supporting each &amp;#8211; a total of 432 DP per bank.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Flyover cables are used to connect the switch ASICs to the connectors on the back of the compute tray. Flyover cables offer better signal integrity than PCB traces, but the disadvantage is that they tend to limit serviceability and thermal efficiency, and add manufacturing challenges on top. Nvidia has flip flopped between the use of flyover cables and PCB &amp;#8211; initially aiming to use flyover cables before changing to use PCB traces for better serviceability and airflow.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!I-l_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd24de4-c3ee-43bb-834a-f40511be2055_1666x1083.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="946" src="https://substackcdn.com/image/fetch/$s_!I-l_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd24de4-c3ee-43bb-834a-f40511be2055_1666x1083.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The total backplane and compute tray content per rack will add up to $68,928, with $44,352 coming from the backplane and the remaining $24,576 attributable to the flyover cables.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aLQR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f77defb-555f-468a-a551-6c81636f5a91_1512x889.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="856" src="https://substackcdn.com/image/fetch/$s_!aLQR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f77defb-555f-468a-a551-6c81636f5a91_1512x889.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalysis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;With just six switch trays, the UALoE signal travels a shorter distance compared to NVLink in the GB300 NVL72, which uses nine switch trays. In addition, AMD has designed the Helios rack with 9 compute trays on the upper portion and 9 in the lower portion &amp;#8211; this allows signals to travel equal distances in both directions.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o1kA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e282fb-1721-441a-87d5-3667bc99f73e_1237x780.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="780" src="https://substackcdn.com/image/fetch/$s_!o1kA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e282fb-1721-441a-87d5-3667bc99f73e_1237x780.png" width="1237" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;Scale-out Networking&lt;/h3&gt;&lt;p&gt;For scale-out, each MI455X can connect to as many as three AMD Pensando Vulcano 800 AI NICs delivering 2.4 Tbit/s of scale-out bandwidth, with each NIC attached through an x8 UALink128 interface delivering 256 GB/s of bidirectional GPU-to-NIC bandwidth. A separate Pensando Salina 400 DPU handles the front-end network.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dha-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571650aa-a0df-4965-84d1-4b15f5017c11_1791x972.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="790" src="https://substackcdn.com/image/fetch/$s_!dha-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571650aa-a0df-4965-84d1-4b15f5017c11_1791x972.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalysis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We expect the dominant deployment configuration to carry two Vulcano NICs per GPU for 1.6 Tbit/s of scale-out bandwidth.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Outside the rack, Vulcano supports a multi-plane leaf-spine topology that is non-blocking within each plane which is now a common implementation. We have written extensively on how multi-plane architectures are crucial in AI clusters today as it can fit more GPUs on a two-layer network. We elaborated more on the intuition and advantages behind multi-plane fabrics in our Vera Rubin article &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!edR9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283c379e-2a96-4365-8398-572bd48f68ed_1994x757.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="553" src="https://substackcdn.com/image/fetch/$s_!edR9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283c379e-2a96-4365-8398-572bd48f68ed_1994x757.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalysis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kmyF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b73a033-54ba-4b63-8c83-66d9c1d3d3ee_1582x822.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="757" src="https://substackcdn.com/image/fetch/$s_!kmyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b73a033-54ba-4b63-8c83-66d9c1d3d3ee_1582x822.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-networking-model/"&gt;&lt;span&gt;SemiAnalysis AI Networking Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In a 131k MI455X 8-plane cluster, each 800G Vulcano NIC breaks into four 200G links, giving every GPU one connection into each of the eight independent planes given each GPU is attached to two NICs. Each plane has 512 leaf and 256 spine switches, for 6,144 TH6 switches across the cluster. The configuration requires two 800G DR4 modules at the NICs and three 1.6T DR8 modules per GPU &amp;#8211; two for the leaf-side uplink and downlink and one spine-side. We expect the scale-out networking content per MI455X GPU on an eight-plane two-layer configuration to be ~$8,000 per GPU.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0_AA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b3f356d-4bee-4d6f-91d3-7ba2e3cc062c_1828x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="747" src="https://substackcdn.com/image/fetch/$s_!0_AA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b3f356d-4bee-4d6f-91d3-7ba2e3cc062c_1828x938.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-networking-model/"&gt;&lt;span&gt;SemiAnalysis AI Networking Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s Pensando Vulcano 800 AI NIC is going on the same direction the industry has went for the past couple of years now. In our &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a"&gt;&lt;span&gt;Meta&amp;#8217;s Infrastructure Team Needs a Culture Reset&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; newsletter, we highlighted the issues faced on the data-plane and control-plane level in AI scale-out networks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In large AI training clusters, there are three main issues: elephant flow, low entropy and suboptimal fabric utilization.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Elephant Flow: AI workloads tend to have long-duration, heavy-traffic flows that can congest the network and reduce the overall performance of the training batch.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Low Entropy: Depending on the training job, the number of IP flows can be limited and congest only a few links while the overall fabric still has plenty of capacity.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Suboptimal Fabric Utilization: Finally, as an overall effect of both elephant flows and low entropy, there is a large skew in the bandwidth utilization of fabric links, which drives how much the fabric needs to be overprovisioned to run smoothly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;RDMA traffic is highly sensitive to packet loss and congestion, and RoCEv2 is built on Ethernet, a lossy protocol, and UDP, which does not allow for recovery mechanism. Meta&amp;#8217;s DSF addressed this inside the network with virtual output queues, cell spraying, credit scheduling and deep-buffer Jericho-AI switches but at the cost of a much more complicated data plane, control plane and hardware stack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Vulcano tries to solve the same problems but through the NIC. Here, the NIC comes with 3 elements, Intelligent Packet Spray, Path Aware Congestion Control, and Out-of-order Packet Handling and In-order Message Delivery, that allows to offload the network complexity from the fabric to the NIC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intelligent Packet Spray attacks the low entropy problem at the core. In traditional ECMP fabrics, a flow is hashed onto a single path and stays there. Since AI traffic is composed of a handful of massive, synchronized elephant flows, hash collisions are frequent and some paths get congested while others sit idle. Instead of pinning a flow onto a single path, AMD&amp;#8217;s AI NIC sprays the packets of the same flow onto the available paths of the fabric, raising the entropy level to a per-packet level. The result is a 1:1 fabric utilization, and a failure recovery in milliseconds because no link failure can take down the whole flow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, spraying packets creates a new set of problems, which is where the 2 other elements come into play. First, packets coming from different paths can arrive in the wrong order. Traditional RoCEv2 networks force the packets to go back N retransmissions, which involves buffering at the NIC or switch level depending on the approach (scheduled vs non-scheduled fabrics). Here, the NIC handles the out-of-order packet arrival natively and enforces ordering at the message level, removing the need for buffering. Packets are written directly onto the GPU memory as they land, and only lost packets are retransmitted.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, spraying packets blindly across path cause congestion around instead of avoiding it. Path Aware Congestion Control closes the gap as the NIC tracks the real time status of each path and shifts traffic away from congested ones before queues builds up. This is aimed specifically at incast, as collective operations like all-reduce tend to have many senders for one receiver, causing head-of-line blocking cascades through the fabric. Because decisions are made at the NIC level, with per-path visibility, ramp up is fast enough to handle the bursty nature of AI workloads. Also, tail latency is minimized here since packets are sprayed intelligently across the fabric.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Taken together, those 3 mechanisms solve the same problem Nvidia solves with its ConnectX NIC coupled with Spectrum-X adaptive routing. The main difference here is that AMD is adopting the open UEC standard and a multi-vendor fabric rather than a vertically integrated one.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s AI NIC does not impose the transport model and allows for flexible scale-out networking. It supports switch-based packet-spray, for operators whose fabric already handles load balancing, NIC-based packet-spray, for dumb commodity fabric where the intelligence is offloaded to the NIC, and NIC-based source routing, for operators who want path control from the endpoint. The whole point is that the network behavior adapts to the fabric you already own and the workload you intend to run, not the other way around.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;CDNA5 Microarchitecture&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Designs Converging with NVIDIA&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In the same way that AMD has drawn inspiration from Nvidia&amp;#8217;s boring keynote format, AMD&amp;#8217;s CDNA 5 in many ways draws huge inspiration from Nivida&amp;#8217;s Hopper (SM 90) architecture. First, CDNA 5 reduces the number of threads per wave to 32, matching it with NVIDIA&amp;#8217;s 32 threads per warp. CDNA 5 also replaces CDNA3/CDNA4 Infinity Cache and small L2 cache with a single large 96 MB L2 cache per FCD (Fabric and Cache Die). This design converges closer to NVIDIA&amp;#8217;s &amp;#8220;global memory -&amp;gt; L2 cache -&amp;gt; shared memory&amp;#8221; memory hierarchy. Managing memory latencies across different hierarchies has always been a pain point of AMD kernel writers; we expect simplifying the hierarchy should mitigate this issue.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6sht!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ffb0c-7d38-416e-a200-b374debe09fc_2084x1368.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="956" src="https://substackcdn.com/image/fetch/$s_!6sht!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ffb0c-7d38-416e-a200-b374debe09fc_2084x1368.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Increased Staging Memory and MMA Shapes&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;CDNA 5 has larger memory staging buffers than its NVIDIA counterparts. It has 320 KB of LDS (roughly SMEM-equivalent) and 32 KB of VGPR (roughly thread register-equivalent), so each thread has access to 1024 registers. In addition, we have only seen CDNA 5 supporting mostly 16x16xK shapes like its predecessor. Combining these facts, we theorize that the larger staging buffer is for adapting to the increase in wave count: Under the same number of parallel threads, smaller wave size would lead to a larger number of waves. Since the MMA shape didn&amp;#8217;t increase, and each thread has access to 4x number of registers, AMD doesn&amp;#8217;t have to resort to increasing MMA scope to warp groups like NVIDIA does.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Tensor Data Mover&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Tensor Data Mover (TDM) is almost identical to NVIDIA&amp;#8217;s Tensor Memory Accelerator (TMA). TDM moves data from HBM to LDS without register staging. It supports 5-dimensional tiling, out-of-bound checking, and even multi-cast into different work group clusters, the equivalent of NVIDIA&amp;#8217;s thread block cluster. One difference is that TDM descriptors are loaded from SGPR, unlike NVIDIA loading from host to shared memory. NVIDIA&amp;#8217;s Rubin has just showcased inline TMA descriptor updates to improve user ergonomics, so we look forward to seeing whether AMD will get the design right.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GFX1250 Speaks NVFP4 Natively&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!muc7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75feb44-2a1d-4f2a-b0d1-86da804e189c_2156x1050.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="709" src="https://substackcdn.com/image/fetch/$s_!muc7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75feb44-2a1d-4f2a-b0d1-86da804e189c_2156x1050.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The two FP4 formats now competing for inference share the same E2M1 element: one sign bit, two exponent bits, one mantissa bit. But they differ in how they carry the block scale that makes so narrow a type usable. MXFP4, the OCP standard AMD has built its four-bit path around, pairs each 32-element block with a power-of-two E8M0 scale. NVFP4, the format NVIDIA introduced with Blackwell, uses a finer 16-element block, an FP8 E4M3 scale per block, and an FP32 per-tensor global scale on top, resulting in a costlier but more accurate arrangement that is fast becoming the default for FP4-quantized checkpoints.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The notable thing about AMD&amp;#8217;s gfx1250, the architecture target behind MI455X, is that its matrix engine speaks NVFP4 natively. MLIR-level scale-format enum in ROCm WMMAMatrixScaleFormat, &lt;/span&gt;&lt;a href="https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td"&gt;&lt;span&gt;includes e8, e5m3, and e4m3 members&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;More concretely, AMD has already shipped a &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/blob/ae0bae8954110b12655e3232f68262dd63cd694e/hsa/gfx1250/f4gemm/f4gemm_bf16_nvfp4_ABpreShuffle_256x256_4x4_ps.co"&gt;&lt;span&gt;gfx1250-compiled NVFP4 GEMM code object&lt;/span&gt;&lt;/a&gt;&lt;span&gt; inside AITER and wired it into the runtime dispatch table, where a format discriminator distinguishes NVFP4 from MXFP4 and the &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/blob/ae0bae8954110b12655e3232f68262dd63cd694e/aiter/ops/gemm_op_a4w4.py"&gt;&lt;span&gt;dispatch logic selects the NVFP4 assembly kernel on gfx1250&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This is a gfx1250-specific capability, not a CDNA4 one. MI355X / gfx950 does four-bit only as MXFP4, through scaled-MFMA with an E8M0 scale over 32-element blocks &amp;#8212; no scale-format field, no 16-element blocks, no E4M3 &amp;#8212; which is all AMD&amp;#8217;s public matrix-core documentation describes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We also found that CDNA 5 additionally supports unsigned E5M3 (UE5M3) scaling factor format, in contrast to NVIDIA Rubin supporting E4M3 and E5M2. UE5M3 repurposes the sign bit, increasing the dynamic range and dropping the minimum non-zero representable absolute value from E4M3&amp;#8217;s 2^-9 to 2^-17. UE5M3 is proposed as an alternative to NVFP4&amp;#8217;s additional per-tensor FP32 scaling, and future adoption of those formats will show their efficacy.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LY6M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34fc99cf-6690-4626-ab34-e5e8b059f57b_1854x830.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="652" src="https://substackcdn.com/image/fetch/$s_!LY6M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34fc99cf-6690-4626-ab34-e5e8b059f57b_1854x830.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://arxiv.org/pdf/2601.19026"&gt;&lt;span&gt;https://arxiv.org/pdf/2601.19026&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Conservative Microarchitectural Changes&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The microarchitecture evolution from CDNA 4 to 5 shows AMD believes less in scaling than NVIDIA does. NVIDIA has bet on models requiring larger multiplications and scaled MMA shapes aggressively every generation, scaling to MMA shapes that need 2 SMs to execute in Blackwell. Since CDNA 5 barely scales MMA shapes, we doubt we will see an equivalent feature in CDNA 5. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We also have yet to see innovations on data compression techniques from AMD like Rubin&amp;#8217;s 3-bit lookup table weight compression MMA mode.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Part 2: AMD Software Defeat the Cuda Moat?&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;AMD Software Is Improving Quickly, But the Moat Has Moved&lt;/h2&gt;&lt;p&gt;&lt;span&gt;AMD's software story is not "ROCm is broken" anymore. It is that ROCm is finally moving with real urgency, but the competitive frontier has moved faster. We &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;&lt;span&gt;said in April 2025&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that AMD was "on the right track" after a sharper developer-first push, and later said AMD's software quality had "massively improved" since January 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;What Has Actually Improved&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;CI Is Maturing, But not fast enough&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We praised AMD for moving stable ROCm support into upstream vLLM releases in January 2026 and adding nightlies shortly afterward. CI has since made concrete but incomplete progress. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42793"&gt;&lt;span&gt;June change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; added AMD mirrors and gates for eight major test groups: V1 attention, engine, OpenAI API correctness, small-model evaluation, multimodal pooling, and three speculative-decoding paths. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/49270"&gt;&lt;span&gt;separate July patch&lt;/span&gt;&lt;/a&gt;&lt;span&gt; cleaned up flaky jobs and prepared existing mirrors to become merge-blocking again. But CUDA parity has not yet been demonstrated: public regression dashboards, AITER accuracy gates, end-to-end disaggregation CI, and automatic performance gating remain roadmap items.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Encouragingly, AMD&amp;#8217;s distributed-inference work has begun moving from one-off recipes into upstream CI. SGLang merged a &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29084"&gt;&lt;span&gt;two-node MI355X 1P1D disaggregation nightly&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in June for DeepSeek-V4 Flash and Pro, in both FP8 and FP4, then added &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29784"&gt;&lt;span&gt;DP-attention, EP8, MTP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29855"&gt;&lt;span&gt;Kimi K2.6&lt;/span&gt;&lt;/a&gt;&lt;span&gt; coverage in early July. This is the important shift: disaggregated inference is starting to become a continuously tested upstream feature rather than a demo.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Kubernetes powers most inference deployments across the world, and AMD is a founding partner of llm-d, an open-source distributed inference Kubernetes orchestration engine. But it has yet to have sufficient CI automated testing for the first party Pollara NIC. It isn&amp;#8217;t due to engineering not wanting to add it, but they still to this day under-invest in internal CI capacity planning. This results in 0% parity to NVIDIA&amp;#8217;s ConnectX-7 NIC on llm-d Kubernetes inference nightly testing. The planned ETA of advancing AI 2026 reaching parity on this was missed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the vLLM side, gating automated test progress has massively regressed due to AMD cluster infra stability issues this week. AMD&amp;#8217;s hardcore engineers were making good progress on vLLM gating over the past couple of weeks to reach the ETA of advancing AI to reach 90% parity with CUDA on gating, until AMD leadership started pulling clusters away from AMD&amp;#8217;s internal vLLM team.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Gating/blocking tests uphold the important standards, since PRs cannot merge unless the test is passing. While AMD leadership may distract non-technical folks by showing their non-gating pass rate, gating parity &amp;amp; gating pass rate are what truly matter.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We hope that AMD leadership (Anush, Vamsi, Mark Papermaster) can re-prioritize giving their internal vLLM team stable clusters, so that AMD&amp;#8217;s internal hardcore vLLM engineers can do the work of reaching 90%+ parity with CUDA vLLM on gating and have the tools needed to operate at the same velocity as the AMD internal SGLang team.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Single-Node Performance and Reproducibility Are Real Wins&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In March, we highlighted an &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2037333823134855344"&gt;&lt;span&gt;up to 18&amp;#215; improvement&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in Kimi K2.5 1T MXFP4 interactivity in under 30 days from &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/35850"&gt;&lt;span&gt;AITER/vLLM fixes&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that were already upstreamed into vLLM 0.18. AMD&amp;#8217;s own February 2026 technical write-up, &lt;/span&gt;&lt;a href="https://www.amd.com/en/developer/resources/technical-articles/2026/inference-performance-on-amd-gpus.html"&gt;&lt;span&gt;&amp;#8220;Speed is the Moat: Inference Performance on AMD GPUs&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, argues that AITER-driven single-node optimizations deliver a roughly 1.08x&amp;#8211;1.2x throughput uplift over baseline framework configurations. That is the correct direction: the baseline open-source frameworks must get faster on AMD, not just AMD-only demos.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s MiniMax M3 performance has also caught up to B200, with optimizations via their ATOM stack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rjUU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df206f9-312f-4c9f-9780-a77af214204d_1038x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1322" src="https://substackcdn.com/image/fetch/$s_!rjUU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df206f9-312f-4c9f-9780-a77af214204d_1038x1322.png" width="1038" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: https://x.com/RyanLeeMiniMax/status/2080142342288445553&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Where the story has improved most is in recipes, documentation, and reproducibility. ROCm now has a much deeper public recipe layer than it did a year ago. The ROCm inference docs expose a full AI-inference section spanning vLLM, SGLang, distributed MoRI, Mooncake, and deployment guides. The vLLM optimization guide covers AITER, attention-backend selection, TP/EP/DP strategies, FP8/FP4 quantization, and single-node to multi-node scaling. The ROCm/MAD repo now publishes blueprints spanning vLLM, SGLang, training stacks, large-EP microbenchmarks, and disaggregated prefill/decode recipes.&lt;/p&gt;&lt;h3&gt;The Posture Is Right&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This is why we are mostly aligned with Anush on the software diagnosis. The developer-first posture, upstream alignment, day-0 model enablement, and faster release cadence are the right playbook. We praised Anush&amp;#8217;s developer-relations push in 2025 and, more recently, credited his team for moving ROCm from a second vLLM fork toward something closer to a first-class upstream experience. The &lt;/span&gt;&lt;a href="https://blog.vllm.ai/2026/02/27/rocm-attention-backend.html"&gt;&lt;span&gt;official vLLM blog&lt;/span&gt;&lt;/a&gt;&lt;span&gt; now says the era of &amp;#8220;just porting&amp;#8221; AMD support is over, documents seven ROCm attention backends, and shows 1.2x&amp;#8211;4.4x throughput gains from the latest AMD/vLLM orchestration work. That is what a credible catch-up path looks like.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;George Hotz put it well back in 2025:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;AMD&amp;#8217;s dysfunction is different. From the beginning they had leadership that can do things (Lisa Su replied to my first e-mail), they just didn&amp;#8217;t see the value in investing in software until recently. They sort of had a point if they were only targeting hyperscalers. but it seems like SemiAnalysis got through to them that hyperscalers aren&amp;#8217;t going to deal with bad software either. It remains to be seen if they can shift culture to actually deliver good software, but there&amp;#8217;s movement in that direction, and if they succeed AMD is so undervalued. Their hardware is good.&lt;/p&gt;&lt;p&gt;-George Hotz&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;InferenceX: AMD Dev Velocity is Getting Better&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In the past, we have seen AMD struggle in efficiently bringing up new models on their hardware in both the aggregated and disaggregated scenarios. We track all iterative performance on &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which allows us to estimate this &amp;#8220;velocity&amp;#8221; to some extent.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As mentioned in our previous article, the AMD inference team did a great job at rapidly improving its DeepSeek v4 performance over the first month or so, especially in the single node case. Below is a chart labelling all improvements made in the first 47 days of the DeepSeek v4 release to MI355X SGLang single-node config.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7bJH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366fa51e-82c0-40c6-b1cf-bbbadd3907dc_2392x1454.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="885" src="https://substackcdn.com/image/fetch/$s_!7bJH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366fa51e-82c0-40c6-b1cf-bbbadd3907dc_2392x1454.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;p&gt;More recently, we saw a similar story for MiniMax M3, where the AMD inference team rapidly iterated to achieve competitive performance.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!F2fn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5c4b37c-60b4-4d28-a922-a1f7d5d3de61_2984x1670.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!F2fn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5c4b37c-60b4-4d28-a922-a1f7d5d3de61_2984x1670.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the disaggregated case, AMD is also doing quite well. This is a huge improvement from ~6 months ago, where the team struggled to achieve parity with Nvidia on DeepSeek R1 for many months. This is a result of a couple of things. First, AMD has made significant concrete improvements to their software stack with MoRI backend for distributed inference, as well as various improvements to Mooncake. More importantly, the AMD distributed inference team, led by Hai Xiao, has been working with a greater sense of urgency to provide better support for distributed inference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following video shows that MI355X FP4 disaggregated solution lagged many months behind Nvidia&amp;#8217;s.&lt;/span&gt;&lt;/p&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;p&gt;Note that this was AMD&amp;#8217;s first public disagg recipe, posted on InferenceX in January. Take this in stark contrast with the Day 0 progress on MiniMax M3 FP4 disagg shown below, and you can see AMD is in a much better position now to be competitive in terms of distributed inference solutions.&lt;/p&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DMnp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ca588-bfa0-4d0a-8203-bec7d848bcef_2622x1586.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="881" src="https://substackcdn.com/image/fetch/$s_!DMnp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ca588-bfa0-4d0a-8203-bec7d848bcef_2622x1586.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, going fast isn&amp;#8217;t easy. Especially when the competition has a head start. The missing one piece is now real: AMD&amp;#8217;s distributed stack was missing above the engine came with &lt;/span&gt;&lt;a href="https://rocm.blogs.amd.com/software-tools-optimization/atomesh-inference/README.html"&gt;&lt;span&gt;ATOMesh&lt;/span&gt;&lt;/a&gt;&lt;span&gt; . It is a ROCm-native distributed-inference gateway featuring a Rust routing and orchestration layer that handles the cluster-level work disaggregated serving needs, such as prefill/decode-disaggregated routing, cache-aware load balancing, RDMA KV-cache transfer (via MoRI-IO or Mooncake).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is not a from-scratch build: &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1174/changes"&gt;&lt;span&gt;ATOMesh is derived from SGLang&amp;#8217;s sgl-model-gateway&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and substantially reworked around ATOM and AMD hardware. However, it works, as shown in the MiniMax M3 InferenceX results above. Routing policy stays separate from model execution, and it plugs into vLLM and SGLang as naturally as AMD&amp;#8217;s own ATOM engine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!c2F-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F135521c3-6089-4865-a050-4a6f0097b45e_978x1286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1286" src="https://substackcdn.com/image/fetch/$s_!c2F-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F135521c3-6089-4865-a050-4a6f0097b45e_978x1286.png" width="978" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;Chipping Away at the CUDA Moat: Using Agents to Enable Day 0 Support&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The SemiAnalysis team grinded to enable day 0 support for DeepSeek v4 and MiniMax M3, and we will continue to do so for upcoming frontier models such as Kimi K3. This &amp;#8220;day 0&amp;#8221; perf is an important baseline for showcasing performance &lt;/span&gt;&lt;em&gt;&lt;span&gt;over time&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, which is the north star goal of InferenceX.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Obviously, the 100x cracked engineers at AMD, Nvidia, Inferact, RadixArk, etc are responsible for the hardcore inference engineering work to truly enable day 0 support for these models. However, often times there are bugs to fix or low hanging fruit that the SemiAnalysis team adds in order to enable day 0 sweeps (currently, these are more prevalent with AMD configs). This has become increasingly easy with the rise of capable agents. The flow looks something like this: for a given config (I.e., MiniMax M3 vLLM MI355X FP8), start a new Claude Code/Codex agent to pull the day 0 recipe from the internet, create the necessary plumbing in InferenceX, and then kick off the sweeps. The agent has access to both the GitHub Action as well as direct access to the physical runner to continuously monitor the status. In the case of an engine error, the agent can automatically decipher what the root cause is, and either iterate automatically and re-run or consult the human for intervention. We can execute this pipeline in parallel for multiple configs on various SKUs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When an error is identified, the current models are quite good at identifying the cause in the upstream engine code (vLLM/SGLang/TRT) and few-shot implementing a fix, with some guidance from the team. Additionally, we use agents to identify low-hanging fruit performance improvements. Some examples of upstream contributions by the SemiAnalysis team + agents:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/13710"&gt;&lt;span&gt;TRT: [fix] Fix fused MHC for DeepSeek-V4-Pro hidden size#13710:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; a Day 0 DeepSeek v4 fused MHC kernel fix&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45879"&gt;&lt;span&gt;[Bugfix] Fix NixlConnector handshake block_len validation for GQA-replicated KV heads#45879:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; MiniMax M3 disagg Day 0 enablement&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45546"&gt;&lt;span&gt;[Bug Fix] [MiniMax-M3] Implement EAGLE3 support on the AMD MiniMax M3#45546:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; enable speculative decoding for AMD MiniMax M3 Day 0&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45720"&gt;&lt;span&gt;[Bugfix][ROCm] Fix MiniMax-M3 FP8 KV cache dtype:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; enable FP8 KV cache support for MI300X and MI325X for Day 0 MiniMax M3&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;More...&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Shoutout to vLLM community Roger Wang, Hongxia, Michael Goin and other Inferact engineers for the kind mentorship and help on getting these fixes merged.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hlil!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2c32bd-86b3-4b21-9896-4178ac23822b_1728x1032.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="870" src="https://substackcdn.com/image/fetch/$s_!hlil!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2c32bd-86b3-4b21-9896-4178ac23822b_1728x1032.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This kind of rapid iteration would simply not have been possible 3-6 months ago on a team of 2.5 engineers. Current frontier models in a capable harness are legit. They can make meaningful contributions to OSS serving engines and kernels. This may not &lt;/span&gt;&lt;em&gt;&lt;span&gt;necessarily &lt;/span&gt;&lt;/em&gt;&lt;span&gt;be attributed to the &amp;#8220;intelligence&amp;#8221; of the models, rather the pure &amp;#8220;grit&amp;#8221; they have when told to achieve a goal. This combined with the ability to execute many of these tasks in parallel make it clear that testing and writing software is not the moat it was last year. This is broadly positive for AMD. By enabling AI agents to take on work previously performed by human engineers, it diminishes the relevance of the so-called &amp;#8220;CUDA moat&amp;#8221; and helps AMD offset Nvidia&amp;#8217;s advantage in engineering headcount.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD seems to be leaning into this thesis heavily, as at Advancing AI 2026, they announced &lt;/span&gt;&lt;a href="https://www.amd.com/en/products/software/rocm.html?utm_campaign=domain&amp;amp;utm_medium=redirect&amp;amp;utm_source=301&amp;amp;utm_term=rocm.ai"&gt;&lt;span&gt;ROCm.ai&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a suite of skills, harnesses, and framework integrations that aims to further enable developers to iterate quickly on kernels and performance tuning using agents.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fPme!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79587253-5eba-4d58-b45e-0a2fe69bf346_1099x523.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="523" src="https://substackcdn.com/image/fetch/$s_!fPme!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79587253-5eba-4d58-b45e-0a2fe69bf346_1099x523.png" width="1099" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;GEAK, Hyperloom, and Optimizing Against InferenceX&lt;/h4&gt;&lt;p&gt;&lt;span&gt;ROCm.ai is more than just a keynote slide. Most pieces are already sitting in the open on AMD&amp;#8217;s &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI"&gt;&lt;span&gt;AMD-AGI org&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and they map almost one-to-one onto the day-0 loop we described above. At the center is &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/GEAK"&gt;&lt;span&gt;GEAK&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (&amp;#8221;Generating Efficient AI-Centric Kernels&amp;#8221;), a mini-SWE-agent-based agent that writes and tunes Triton/HIP and FlyDSL kernels, wrapped by &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/Hyperloom"&gt;&lt;span&gt;Hyperloom&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the orchestrator that profiles a serving workload, finds the bottleneck kernels, throws GEAK and GEMM-tuning agents at them, and gates every candidate on an end-to-end A/B before it counts. Around that sit the supporting cast: &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/Magpie"&gt;&lt;span&gt;Magpie&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for evaluation, &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/TraceLens"&gt;&lt;span&gt;TraceLens&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for trace analysis, &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/Apex"&gt;&lt;span&gt;Apex&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for exporting agent trajectories into an RL-flavored training pipeline, and &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/AgentKernelArena"&gt;&lt;span&gt;AgentKernelArena&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a head-to-head harness that pits Claude Code, Codex, Cursor, and GEAK against each other on the same kernel tasks under identical scoring.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Hyperloom&amp;#8217;s optimizer pulls its performance target straight from InferenceX. On the current main branch, it scraps InferenceX, and target_analyzer writes a competitor target that the agent then tries to clear. An earlier version of their CI went further &amp;#8212; computing a % gain over InferenceX, counting how many models &amp;#8220;beat&amp;#8221; InferenceX, and posting the scoreboard to a Teams/Slack channel &amp;#8212; before that machinery was trimmed for the open-source release.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We see this as a good thing. Our vision for InferenceX is to accurately track performance of open-source frameworks, and it definitely serves this role if agents use it as a reward signal and continuously try to improve. These efforts will benefit the ML community with better model serving performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The more interesting lesson buried in these repos is one we recognize from our own day-0 grind: generating a kernel is the easy part, trusting the number is not. A meaningful chunk of the engineering is anti-cheat. GEAK had to &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/GEAK/pull/255"&gt;&lt;span&gt;stop silently scoring the unpatched baseline kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of the agent&amp;#8217;s actual patch, and add a GEAK_PROTECT_TEST_FILES mode that strips the agent&amp;#8217;s edits to the test harness so it can&amp;#8217;t fake correctness by rewriting the reference. Apex ships a tamper detector that flags hardcoded print(&amp;#8221;PASS&amp;#8221;) and a banned-library list so an agent can&amp;#8217;t &amp;#8220;optimize&amp;#8221; a Triton kernel by quietly routing to a pre-tuned MIOpen or hipBLASLt call. It&amp;#8217;s the same grit-over-intelligence story: the models will reward-hack a benchmark the instant you let them, and a surprising share of the work is building the guardrails that keep the speedups real.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;And it works. GEAK&amp;#8217;s learned notes already log verified end-to-end wins on shipping silicon. ~+21.8% e2e from an MXFP8 decode-bound dense-linear rewrite on MI355X, with honest caveats where grouped-MoE GEMM stalls out around a 1.1x ceiling. None of this defeats the CUDA moat on its own. But it is the clearest signal yet that AMD is industrializing the exact workflow that, a year ago, required a room full of CUDA engineers.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Introducing AgentX, a new InferenceX Agentic Scenario&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;While the current 8k1k + 1k1k scenarios are a great proxy for evaluating baseline chip performance, they fail to evaluate the entire system (routers, KV cache transfer, KV cache offloading, schedulers, etc) since they are all single-turn, random data requests.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For the past few months, we have been working with industry leaders to develop an agentic benchmark: AgentX. To achieve our goal of making the benchmark as reflective as possible of real world serving, we collected ~3 months of internal SemiAnalysis Claude Code, Codex, etc. traces, which we then replay offline at varying concurrencies using &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/aiperf"&gt;&lt;span&gt;AIPerf.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Some of the statistics of the dataset are shown below. Notably, the median ISL and OSL are 140k and 396, respectively (quite different from 8k1k). With a median cache hit rate of 99.2%! Note, this is assuming an infinite cache so is not, of course, actually attainable in most real-world serving.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The dataset also includes realistic subagent usage as well as dynamic workflows, which further stresses the KV cache by continuously introducing uncached context for the server to process. The tool use time / user think time (captured by inter-turn latency) is also reflected in the dataset, further stressing the KV cache and highlighting the efficacy of KV offloading techniques, which have the possibility of increasing KV cache TTL.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oRJU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f0fb740-3221-4111-ba8e-adc65dbbe50b_2188x1767.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1176" src="https://substackcdn.com/image/fetch/$s_!oRJU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f0fb740-3221-4111-ba8e-adc65dbbe50b_2188x1767.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-061526/blob/main/plots/distributions_log.png"&gt;SemiAnalysis HuggingFace&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We are very excited about this scenario. We have worked with WEKA, Inferact, RadixArk, LMCache, Mooncake, NVIDIA, AMD, and other industry leaders in ensuring it accurately reflects real traffic that may be experienced by a TaaS provider or frontier lab like OAI/Ant.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Results have been rolling in for the past month and are available on InferenceX. We will write an in-depth article on results and methodology soon.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Single-Node is Out, Disaggregated is In&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As discussed, the competitive frontier has moved from single node aggregated to multi node disaggregated inference. In our InferenceX v2 article, we discussed the notion of AMD&amp;#8217;s &amp;#8220;software composability problem&amp;#8221; when it came to distributed inference. That is, they had made strides in individual optimizations such as disagg, FP4, WideEP, DP-attention, etc, but combining many of these together broke the stack. While there is still certainly progress to be made, AMD has made significant strides in this area.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/nvidia-the-inference-kingdom-expands"&gt;&lt;span&gt;GTC 2026 recap&lt;/span&gt;&lt;/a&gt;&lt;span&gt; frames Nvidia&amp;#8217;s next moat as disaggregated inference systems, including attention/feed-forward disaggregation (AFD). Since attention is stateful and KV-bound, while FFN is stateless and batch-scalable, these phases can be split and mapped onto the best-suited hardware. Then, inference leadership becomes a distributed-systems problem rather than a single-kernel one. WideEP, disaggregated prefill, KV transport, expert routing, and scheduler/orchestration are all part of that same new moat. AMD can close single-node gaps, but unless those optimizations compose cleanly in vLLM and SGLang, it is still fighting yesterday&amp;#8217;s war.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The timeline below puts the gap in perspective. The open CUDA ecosystem has been shipping disagg+WideEP since early 2024, while AMD&amp;#8217;s first publicly available PD-disagg + WideEP recipes only landed in January 2026 via InferenceX. AFD&amp;#8217;s real payoff requires superpod-class interconnects, which are the kind of rack-scale hardware AMD does not ship until MI455X. And at GTC 2026, Nvidia announced the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/nvidia-the-inference-kingdom-expands"&gt;&lt;span&gt;Groq 3 LPX&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, an SRAM-based LPU integrated into the Nvidia inference rack specifically for disaggregated decode FFN.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-IqQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b896c8a-56aa-4246-bfbf-15bde25cda63_1456x555.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="555" src="https://substackcdn.com/image/fetch/$s_!-IqQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b896c8a-56aa-4246-bfbf-15bde25cda63_1456x555.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;The New Moat: Sparse Models, Disaggregation, and WideEP&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Recent Model Trends: Active Experts Stay Tiny While Total Experts Explode&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The model landscape makes the composability problem more urgent. Active expert counts stay pinned in the 4&amp;#8211;10 range while total experts scale out to 128, 256, 384, and now 512. Many of the newest giant MoEs also collapse the KV cache to the equivalent of one or two heads via MLA-style low-rank designs. That means the frontier is getting sparser, more bandwidth-sensitive, and more dependent on routing, KV movement, WideEP, and distributed scheduling. In that world, one more single-node benchmark win is not the moat. Composable distributed inference is.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Disaggregated Prefill and WideEP&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Disaggregated prefill separates compute-heavy prefill from memory-heavy decode onto different nodes, removing the interference between the two phases and letting operators tune prefill vs. decode node counts independently. The trade-off is KV-cache transfer over RDMA. We estimate roughly 290 MB for an 8,192-token DeepSeek-R1 FP8-KV prefill.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Currently on InferenceX, AMD&amp;#8217;s disaggregated inference configs often perform either worse or only slightly better than their single node counterparts. For DeepSeek-R1, iso-interactivity throughput for MoRI SGL outperforms the aggregated SGL config by 2&amp;#215;&amp;#8211;3&amp;#215;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7tBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5991c01-9f5d-47a8-be39-cdfb3789dde4_2504x1424.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="828" src="https://substackcdn.com/image/fetch/$s_!7tBo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5991c01-9f5d-47a8-be39-cdfb3789dde4_2504x1424.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;WideEP spreads experts across more GPUs and nodes instead of replicating full expert islands. On DeepSeek-R1 (256 routed experts), moving from EP8 on a single 8-GPU node to EP64 across 64 GPUs cuts experts per GPU from 32 to 4, freeing HBM for KV cache, enabling larger concurrent batches (and thus more tokens per expert per GEMM), and scaling aggregate HBM bandwidth with cluster size. The payoff is not subtle: NVIDIA reports &lt;/span&gt;&lt;a href="https://nvidia.github.io/TensorRT-LLM/blogs/tech_blog/blog15_Optimizing_DeepSeek_V32_on_NVIDIA_Blackwell_GPUs"&gt;&lt;span&gt;up to 2.28&amp;#215; higher per-GPU output throughput from Wide-EP&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (DeepSeek-V3.2, NVFP4, GB200 NVL72, EP16/EP32 vs EP4/EP8). As we emphasized in InferenceX v2, frontier labs and most TaaS providers are already deploying disaggregated serving with WideEP in production.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Put differently, ATOM and AITER are useful only insofar as they improve the mainstream ecosystem. We have argued that ATOM may help single-node performance but still lacks production features such as NVMe or CPU KV-cache offload, tool parsing, and WideEP. The right strategy is not to build an AMD-only island. It is to upstream the kernels, harden CI, publish recipes, and make FP4 + WideEP + disagg + cache offload work together in the default open-source stacks. That is how the CUDA moat gets eroded now.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Disaggregated Inference Accuracy&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Before March 2026, DeepSeekR1 disaggregated configs with DP-attention(DPA) failed accuracy evals with near 0 GSM8K scores, while no-DPA sweeps passed GSM8K at &amp;gt;95%. This was caught with InferenceX eval runs. This shows that no-DPA disaggregated path can preserve correctness, but once DPA is used, the stack breaks, showing AMD&amp;#8217;s composition problem again. This issue has, however, been fixed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One issue that has not been fixed is EP at certain batch sizes in SGLang with the MoRI backend. On DeepSeek-R1, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/issues/27194"&gt;&lt;span&gt;decode with concurrency 64 drops GSM8K to ~80% against a ~94% baseline&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that holds at every other concurrency. The catastrophic version of this bug, where the same low-concurrency path silently produced fluent-but-wrong output and scored 0 on GSM8K, was traced to an uninitialized reduce buffer in AITER&amp;#8217;s FP4 MoE kernel and patched in June; the residual ~80% cliff at concurrency 64 is still open, with AMD attributing it to numerical corner cases in the quantization kernels that only that batch size exercises and declining to prioritize a fix.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vcQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9749f416-3ee8-4344-b512-8deade685442_2644x1490.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="821" src="https://substackcdn.com/image/fetch/$s_!vcQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9749f416-3ee8-4344-b512-8deade685442_2644x1490.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?i_hc=1&amp;amp;i_xmode=interactivity&amp;amp;g_model=DeepSeek-R1-0528&amp;amp;g_rundate=2026-07-08&amp;amp;g_runid=28916523710&amp;amp;i_seq=8k%2F1k&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_active=mi355x_mori-sglang_mtp"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Composition Works&amp;#8230; Sometimes&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;AMD has now demonstrated that several of these optimizations can compose: SGLang&amp;#8217;s MI355X nightly images cover DeepSeek-V4 disaggregation with DP-attention, EP8, and MTP, while four-node DeepSeek-V4 and Kimi WideEP16 configurations have been validated on hardware. But composition remains model- and topology-specific rather than dependable by default. Kimi&amp;#8217;s DP8/EP8 path was excluded after a GPU memory fault, its WideEP16 int4 decode path currently must disable HIP graph capture, and the WideEP16 CI changes remain under review. The gap is no longer that the individual pieces never work together. It is that AMD cannot yet assume they will work together across models, quantization formats, parallelism strategies, speculative decoding, and network topologies without special cases.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Disaggregated Inference Has to Become Everyone&amp;#8217;s Job&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Disaggregated inference cannot sit in a small specialist corner of AMD. AMD&amp;#8217;s own &lt;/span&gt;&lt;a href="https://rocm.docs.amd.com/en/latest/how-to/rocm-for-ai/inference/index.html"&gt;&lt;span&gt;ROCm tutorial&lt;/span&gt;&lt;/a&gt;&lt;span&gt; says single-node optimization is starting to hit limits, and that distributed inference is becoming more important; ROCm followed that with official &lt;/span&gt;&lt;a href="https://rocm.docs.amd.com/projects/ai-developer-hub/en/latest/notebooks/inference/SGlang_PD_Disagg_On_AMD_GPU.html"&gt;&lt;span&gt;Mooncake PD-disaggregation docs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in December 2025 and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sgl-learning-materials/blob/main/slides/amd_meetup_aiter_mori.pdf"&gt;&lt;span&gt;MoRI-based distributed inference docs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in January 2026. Once the official stack is publishing xP+yD topologies, RDMA requirements, 1P2D recipes, and KV-transfer frameworks, DI is not a side quest. DI is the product. It must become everyone&amp;#8217;s job across ROCm, SGLang integration, CI, recipes, and performance engineering.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That is the AMD software story so far. The single-node path is getting fixed. MoRI is promising. The overlap stack is finally showing up. But the market is already on to SBO, PD disaggregation, load balancing, and wider EP configurations that must compose cleanly under real production constraints. AMD no longer needs one more hero optimization. It needs the entire distributed inference stack to start moving as one system.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Where AMD Stands: The Distributed Stack, Piece by Piece&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;MoRI: A Real Win, Built by One Tiger Team &amp;#128047;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;MoRI, to AMD&amp;#8217;s credit, is a real win. MoRI is a modular RDMA framework with two dedicated components: MoRI-EP for expert dispatch/combine and MoRI-IO for KV transfer. ROCm has now published official MoRI-based distributed SGLang documentation for MI355X clusters. It is built from first principles by a China-based engineering team. We support the direction, but it needs much more open CI and testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD's own MoRI roadmap makes the scale problem concrete. The &lt;/span&gt;&lt;a href="https://github.com/ROCm/mori/issues/348"&gt;&lt;span&gt;H2 2026 roadmap&lt;/span&gt;&lt;/a&gt;&lt;span&gt; lays out an ambitious program across three subsystems: a tiered distributed KV cache (HBM&amp;#8594;DRAM&amp;#8594;NVMe via SPDK/GDS) with scheduler co-design, a next-generation SHMEM v2, EP v2 kernels in FlyDSL/C++ with elastic expert-parallelism and fault tolerance, "mega kernel" codesign with FlyDSL, and rack-level Helios enablement. Topped off with SGLang and vLLM upstreaming. The whole list is owned by the same five or six engineers whose handles dominate MoRI's merged pull requests. It is the right roadmap. It is also, as of publication, entirely still ahead of the team &amp;#8212; resting on the same handful of shoulders.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;The Newest Silicon Shows the Gap: Helios (gfx1250)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The clearest measure of how far the distributed stack still has to go is AMD&amp;#8217;s newest hardware. Across every layer of the Helios (gfx1250 / MI455X) stack the same shape repeats: single-model arch-enablement and KV-transfer plumbing are landing fast, while WideEP, validation, and the wave32-tuned high-value kernels are not there yet.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Start at the foundation. PyTorch&amp;#8217;s own gfx1250 support merged in mid-July (&lt;/span&gt;&lt;a href="https://github.com/ROCm/pytorch/pull/3421"&gt;&lt;span&gt;ROCm/pytorch #3421&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a cherry-pick of an upstream change that landed, was reverted a day later, and re-landed a week after), but it is pure build-time arch plumbing gated behind an unreleased ROCm 7.14+, so it is dormant on every shipping wheel. It ships with no gfx1250 CI, deferring a test runner to a follow-up that does not exist. It is a skeleton: the highest-value paths (Composable Kernel GEMM and SDPA, FP8 grouped GEMM, int4) are filtered out or hard-error, attention is a &amp;#8220;Tech Preview,&amp;#8221; and wave32 kernels are unwritten. AMD&amp;#8217;s code even brands the part &amp;#8220;CDNA5&amp;#8221; while describing a GFX12.5, wave32, WMMA execution model, the clearest in-tree measure of how far Helios sits from the CDNA wave64 lineage its kernels were written for.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HPeN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0311e255-3093-439b-8cf3-0b5130f7b462_1324x458.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="458" src="https://substackcdn.com/image/fetch/$s_!HPeN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0311e255-3093-439b-8cf3-0b5130f7b462_1324x458.png" width="1324" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/ROCm/pytorch/pull/3421/changes#diff-9b18bbaca027737173099a4fd1766ad9ce03c982f430852a09cc6c76aa365bb4R191"&gt;https://github.com/ROCm/pytorch/pull/3421/changes#diff-9b18bbaca027737173099a4fd1766ad9ce03c982f430852a09cc6c76aa365bb4R191&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One layer up, the raw MoE kernels are the fastest-moving piece of the stack. AMD&amp;#8217;s aiter and FlyDSL libraries have absorbed well over a hundred gfx1250 PRs since spring: wave32/WMMA GEMMs, MXFP4/A8W4 quant, MLA-v4 attention, TDM data-movement atoms. Roughly a quarter of them closed without merging. The centerpiece is the AMD-native &amp;#8220;MegaMoE&amp;#8221; path: a fused MoE expert-parallel flow whose dispatch/combine op-layer was &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4260"&gt;&lt;span&gt;vendored into aiter&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and whose gfx1250 grouped-GEMM kernel(global&amp;#8594;local expert remap, fused route/scatter, and a masked grouped GEMM tuned for DeepSeek-V4&amp;#8217;s 384-expert MoE) is &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4165"&gt;&lt;span&gt;still-open&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, validated for a8w4 (FP8-activation, MXFP4-weight) only. This is the WideEP MoE primitive the stack needs; it just isn&amp;#8217;t finished, and the &lt;/span&gt;&lt;a href="https://github.com/ROCm/FlyDSL/pull/397"&gt;&lt;span&gt;gpt-oss&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, R1, and V4 kernels each land on their own track.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The break is at the integration layer, where those kernels meet the frameworks. SGLang&amp;#8217;s &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32043"&gt;&lt;span&gt;July 22 gfx1250 nightly&lt;/span&gt;&lt;/a&gt;&lt;span&gt; only builds and publishes the image. No test job, no accuracy gate, built on a generic runner and merely mirrored through an MI300, because no gfx1250 runner exists upstream. That image builds MoRI but pins a June commit predating gfx1250 support, so MoRI-EP WideEP does not run: the kernels carry no matrix-core or wave64-specific ISA, but MoRI&amp;#8217;s build gates only gfx942/gfx950 and the &lt;/span&gt;&lt;a href="https://github.com/ROCm/mori/pull/466"&gt;&lt;span&gt;wave32 support AMD has since added&lt;/span&gt;&lt;/a&gt;&lt;span&gt; lives in a newer expert-parallel path that SGLang&amp;#8217;s integration does not yet call. Once AMD wires that into the path SGLang uses, WideEP should work. MoRI-IO&amp;#8217;s KV-transfer half is architecture-agnostic host-side RDMA and would move KV cache on gfx1250 today, yet the actual gfx1250 recipes for DeepSeek-V4 and R1 are single-node tensor-parallel with neither WideEP nor disaggregation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;vLLM&amp;#8217;s &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46516"&gt;&lt;span&gt;gfx1250 bring-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; tells the same story from the other side: four models on the FFM simulator and early silicon with volatile results, dedicated perf work only for gpt-oss, whose &amp;#8220;ATOM-parity&amp;#8221; tuning pass was itself reverted &amp;#8220;until AITER is ready&amp;#8221;. MoRI was also removed from the build outright. It is a credible single-node FP4 bring-up; but it is not the distributed stack&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Qtor!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4779c9ff-eb0a-4192-85bf-6afbf539a20e_1288x614.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="614" src="https://substackcdn.com/image/fetch/$s_!Qtor!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4779c9ff-eb0a-4192-85bf-6afbf539a20e_1288x614.png" width="1288" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Source: &lt;a href="https://github.com/vllm-project/vllm/pull/46516"&gt;https://github.com/vllm-project/vllm/pull/46516&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even AMD&amp;#8217;s own engine follows the pattern. ATOM&amp;#8217;s Helios work is disaggregation-first and expert-parallel-later: &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1594"&gt;&lt;span&gt;ATOM adds DeepSeek-V4 MoRI-IO write-push KV transfer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; plus a UALink scale-up fabric backend &amp;#8212; the Helios-generation interconnect &amp;#8212; so the KV-transport half of disaggregation is being built for exactly the model and fabric Helios will run, though its e2e validation ran on eight MI355X nodes and a UALink vPOD rather than MI455x. But it carries no EP dispatch/combine, no MoRI-EP, no WideEP; ATOM&amp;#8217;s shipped DeepSeek-V4 recipe still serves the model at TP=8 on a single node, and every one of its MoRI-EP PRs targets last-generation gfx942/gfx950. Bottom to top:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;PyTorch, kernels, MoRI, frameworks, ATOM, Helios has arch enablement and the first half of disaggregation, and no WideEP anywhere.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;SemiAnalysis Helping AMD upstream into NVIDIA&amp;#8217;s KVCache Transfer Library NIXL&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At Nvidia&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.nvidia.com/en-us/on-demand/session/gtc25-s72583/"&gt;&lt;span&gt;GTC 2025 NCCL session&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we asked if Nvidia would provide support to the AMD communication library fork due to this big refactor in the upcoming Nvidia&amp;#8217;s communication library. Nvidia explicitly said it would not help AMD&amp;#8217;s communication team adapt to the upcoming NVIDIA library refactor, and that NVIDIA doesn&amp;#8217;t participate in AMD&amp;#8217;s communication development at all&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A year later, at Nvidia&amp;#8217;s GTC 2026 Dynamo session, we asked a question: NIXL had already accepted upstream contributions from Trainium&amp;#8217;s Neuron fork, so would it accept them from AMD&amp;#8217;s RIXL fork too? The maintainers said yes, on the record, in front of a room.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD had been carrying RIXL downstream, burning engineering hours maintaining a parallel copy of infrastructure everyone else gets for free. The only thing standing between AMD and upstream was whether anyone would try. NVIDIA had just removed the excuse.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;So we spent April making sure AMD knew it. We &lt;/span&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7446965325176360960?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7446965325176360960%2C7447006653369032704%29&amp;amp;replyUrn=urn%3Ali%3Acomment%3A%28activity%3A7446965325176360960%2C7447058805529505792%29&amp;amp;dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287447006653369032704%2Curn%3Ali%3Aactivity%3A7446965325176360960%29&amp;amp;dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287447058805529505792%2Curn%3Ali%3Aactivity%3A7446965325176360960%29"&gt;&lt;span&gt;put the question to Stephen Bates publicly on LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2041632398446866594?s=20"&gt;&lt;span&gt;offered Anush help to connect AMD directly to the NIXL maintainers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and asked Anush about MoRI/RIXL upstreaming in person during TensorWave&amp;#8217;s beyond summit and we helped AMD form the relationship with NVIDIA so that they can upstream the patches.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On May 15, AMD&amp;#8217;s Andy Luo opened a &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/nixl/pull/1642"&gt;&lt;span&gt;PR&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for ROCm/HIP build support for gfx942 (MI300X, MI325X) and gfx950 (MI350X, MI355X), behind a default-off use_rocm Meson flag. It merged June 4 after several rounds of review with NVIDIA-side maintainers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Andy&amp;#8217;s PR cleared review by proving zero blast radius on the CUDA path. On the AMD side it validated end-to-end VRAM transfers over NIXL+UCX on MI300X and MI355X. The stacked follow-up, #1647, hit 341 Gb/s cross-node RDMA on two MI355X nodes using AMD&amp;#8217;s own AINIC RoCE NICs and libionic driver, with no Mellanox NIC in the path. Today, RIXL has been fully ported to NIXL. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/9929"&gt;&lt;span&gt;Dynamo core has since started taking AMD patches too&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2gLb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33f80999-74ee-4337-ad35-4146cce9bda0_1858x576.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="451" src="https://substackcdn.com/image/fetch/$s_!2gLb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33f80999-74ee-4337-ad35-4146cce9bda0_1858x576.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/ROCm/RIXL"&gt;https://github.com/ROCm/RIXL&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;NIXL is the transport layer for disaggregated serving, so if AMD wants PD disagg and WideEP to be dependable rather than model-specific, KV transfer has to work on Instinct in the frameworks people actually deploy, not just inside MoRI. Nobody at AMD should have needed us to point that out. The gaps that remain say the same thing: nixlbench HIP support and the ROCm Dockerfile/CI surface landed as separate follow-ups, an AMD GPU CI runner is still an offer rather than a merged workflow, and rocSHMEM is a future plugin.&lt;/p&gt;&lt;h2&gt;The Overlap Stack Is Late, and the Market Has Already Moved On&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Two-batch overlap (TBO) should have been table stakes a long time ago. SGLang &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/issues/4042?timeline_page=1"&gt;&lt;span&gt;put overlapping two batches and expert parallelism on the 2025 H1 roadmap&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and the &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/blob/main/docs/advanced_features/expert_parallelism.md"&gt;&lt;span&gt;public docs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; now expose `--enable-two-batch-overlap` with claims of up to 2&amp;#215; throughput. AMD&amp;#8217;s own November 2025 DeepSeek-on-MI300X writeup still described dual-batch overlap as an essential feature that was &amp;#8220;still being developed,&amp;#8221; with future work centered on dual-batch overlap and expert load balancing. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/17953"&gt;&lt;span&gt;MORI EP support for two-batch overlap only merged into SGLang on February 20, 2026.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; That is late.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The maturity gap showed up immediately. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/17953#issuecomment-3941391203"&gt;&lt;span&gt;Days after merging, a maintainer flagged the PR for breaking CI and asked for it to be reverted and reopened after fixes.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; That is the broader ROCm inference story in miniature: the ingredients are increasingly there, but too many key optimizations still arrive late, land fragile, and need another turn before they become something customers can trust by default.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Part 3: AMD Competitive on Total Cost of Ownership &amp;amp; up to 105% Discount for OpenAI/Meta&lt;/span&gt;&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"/>
    <summary type="html">&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/mi300x-vs-h100-vs-h200-benchmark-part-1-training"&gt;&lt;span&gt;When we published our first AMD software article&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we gave AMD a 0% chance of closing the gap with Nvidia in AI accelerators. Software was broken, progress was unexciting, and we were the top bug submittor for many months with dozens of AMD engineers triaging our bug reports. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;&lt;span&gt;Six months later, in our AMD 2.0 article, we took the non-consensus position of upgrading from 0% chance to a much more meaningful chance at success&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We published this opinion when sentiment towards AMD was sitting at rock bottom, and when most of the market thought we were were being far too optimistic towards AMD.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/mi300x-vs-h100-vs-h200-benchmark-part-1-training"&gt;&lt;span&gt;That view was based on our observations that AMD has the leadership that can create change rather than suffer from committee style leadership.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;&lt;span&gt;Lisa quickly hopped on a calls with us and has since then implemented many of our suggestions&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We saw an AMD that had finally recognized the importance of software and had a sense of urgency, moving in the right direction even if the destination was still far off. Since then, the signal has only gotten stronger. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Based on our experience on AMD software stack this year, we update our view again from non-zero percentage chance to now a great chance of success as long as AMD solves the 2 major risks we outline below. &lt;/span&gt;Note that just because AMD gains market share, that doesn&amp;#8217;t mean NVIDIA will do poorly. The pie is getting massive, and NVIDIA will continue to massively grow revenue. AMD poses potential competition on the software front to NVIDIA and Jensen will need to cut bureaucracy &amp;amp; layers of different required internal stakeholder approvals, for even the simplest of tasks, at NVIDIA to move faster and defend their lead.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Anthropic has publicly announced that they will deploy 2GW of AMD&amp;#8217;s chips, Lisa Su and team have leaned into an agentic oriented engineering culture. As Anthropic Head of Compute Tom Brown said, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;he just used Claude over the weekend with &amp;#8220;/goal&amp;#8221; to bring-up internal Claude inference stack on AMD hardware&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; being a case in point. We believe that since AMD&amp;#8217;s compiler &amp;amp; most of their kernels are open sourced, they are better positioned for the agentic age &lt;/span&gt;&lt;strong&gt;&lt;span&gt;besides 1 major risk which we will talk about later&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. &lt;/span&gt;&lt;a href="https://geohot.github.io/blog/jekyll/update/2025/03/24/tragic-intel.html"&gt;&lt;span&gt;3 months ago, our Accelerator model noted that Anthropic will be an AMD customer&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. &lt;/span&gt;&lt;a href="https://x.com/dylan522p/status/1871287937268383867?s=46"&gt;&lt;span&gt;We also noted it on our socials a week ago too&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;In 2023, Microsoft dropped AMD as a customer after MI300X due to unreliable Samsung 2023 HBM memory&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &amp;amp; poor software quality and skipped both MI325X and MI355X. Now Microsoft has announced that it will deploy MI455X Helios, we believe that this will be mainly for OpenAI has the end customer for Azure&amp;#8217;s MI455X racks. In a strategy somewhat similar to NVIDIA Groq, AMD is announcing with Cerebras to do PD disagg for ultra-fast interactivity inferencing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There 2 major risks for AMD that it needs to overcome is&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Supply chain checks &amp;amp; engineering first principles understanding shows that AMD&amp;#8217;s first AI rack scale system, Helios, is going currently going through slow rack production ramp due to the lack of a cableless design compared to Rubin Oberon rack. Furthermore, since AMD has a weak SerDes design, up to 85% of its backplane needs to be retimed, requiring over over 550 Broadcom ethernet retimers per rack. Furthermore, it is running into backplane reliability challenges during rack production ramp hell.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;The chief complaint from most AMD engineers internally is that there is a persistent lack of stable GPU clusters for internal software development teams &amp;amp; lack of stable GPU clusters for automated testing CI&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, which is preventing lots of progress especially as &lt;/span&gt;&lt;strong&gt;&lt;span&gt;it is hurting AMD from realizing a lot of the potential upsides of AI coding Agents too&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; as each AI Agent requires GPUs too and requires testing tool use loop too. We will explain below on our recommendation section.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;If AMD can overcome these challenges, we strongly believe that AMD will be well positioned to do well and take market share &lt;/span&gt;&lt;strong&gt;&lt;span&gt;especially considering AMD is giving Meta &amp;amp; OpenAI close to an 105% equity rebate discount&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; via their finance engineering &amp;amp; stock options when AMD stock reaches the final trench of $600 and OpenAI/Meta buys enough compute. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Helios performance per TCO is so great that AMD that cost per million tokens is practically negative cost&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. AMD is practically giving away an Helios and 5% extra on top of that to SF based nonprofit OpenAI. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the first part of our article, we do a deep dive into the Helios architecture and MI455X (gfx1250) instruction set which is an clone of Hopper SM90&amp;#8217;s ISA. Then we will go into details of the software stack. And then for part 3, we will break down the economies of OpenAI/Anthropic/Meta&amp;#8217;s equity based rebate discounts &amp;amp; how that effects TCO.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We are a daily user of ROCm software on MI300X, MI325X, MI355X &amp;amp; also the #1 bug report consistently every quarter, there is a couple 10x engineers we want to shoutout work 997 improve AMD software &amp;amp; quickly triaging our bugs reports including Hongxia, Chun Fang, HaiShaw, Thomas Wang, Andy Luo, Seungrok, Bill He, Teresa Shan, Parth, Duyi Wang, Gilbert, and many more. Most of AMD best 10x engineers are in Shanghai. AMD&amp;#8217;s MoRI collective &amp;amp; UMBP KVCache offloading team, AMD&amp;#8217;s disaggregated application forward deployed engineering team, and other AMD teams that understand how to do first principles-based inference engineering are all mostly based in Shanghai. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;A lot of the ROCm software stack&amp;#8217;s most important pieces are built in China.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Recommendations to Lisa Su, Mark Papermaster, Sharon Zhou, Anush Elangovan &amp;amp; Vamsi Boppana&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;There has been good progress over the past year on automated testing to improve software quality, but the pace of progress has not as aggressive as needed and there continues to lack of sense of urgency on providing enough GPU clusters for automated testing CI &amp;amp; for internal software development teams. It is always too little too late. Every time we have meeting with y&amp;#8217;all (Vamsi, Anush) every couple of months &amp;amp; occasionally meet with Lisa, CI get better for specific examples we point out and things are heading in correct direction, but overall strategy need to be aggressively ramped up. For example, Kubernetes Inferencing Pollara NIC CI still sits at 0% parity with NVIDIA&amp;#8217;s ConnectX Nightly CI. Kubernetes is the layer that most inference deployments across the world use. It isn&amp;#8217;t due to AMD engineering not &lt;/span&gt;&lt;em&gt;&lt;span&gt;wanting &lt;/span&gt;&lt;/em&gt;&lt;span&gt;to add it, rather they are blocked by lack of investment in internal CI capacity. The planned ETA of advancing AI 2026 reaching parity on this was missed due to cluster issues.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, On the vLLM side, vLLM gating automated test progress has massively regressed due to AMD cluster infra stability issues this week. AMD&amp;#8217;s hardcore engineers were making good progress on vLLM gating over the past couple of weeks to reach the ETA of reach 90% parity with CUDA on gating by Advancing AI 2026, until AMD leadership started pulling clusters away from AMD&amp;#8217;s internal vLLM team to deploy elsewhere due to AMD&amp;#8217;s internal capacity overrelying on backstopped temporary clusters.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Gating/blocking tests mean the tests are of the highest quality, since PRs cannot merge unless the test is passing. This prevents bugs from being merged. While AMD leadership may distract non-technical folks by showing their non-gating pass rate, gating parity &amp;amp; gating pass rate are what truly matter.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We hope that AMD leadership can re-prioritize giving their internal vLLM team stable clusters &amp;amp; update their philosophy on capacity planning to prevent issues like this in the future, so that AMD&amp;#8217;s internal hardcore vLLM engineers can do the work of reaching 90%+ parity with CUDA vLLM on gating and have the tools needed to operate at the same velocity as the AMD internal SGLang team.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is the chief complain from most AMD engineers is that leadership needs to update their viewpoint on providing stable CI clusters that don&amp;#8217;t just randomly need to be migrated and shifted from 1 CSP to another CSP.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, there is a constant lack of GPUs internally for development. For single node aggregated inferencing, there is enough GPUs to go around internally. But in the age of Distributed Multi-node Inferencing optimizations (wideEP &amp;amp; disaggregated PD), there is nowhere near enough GPUs. Even with the additional 2000 MI355X coming online this month and the 6000 MI325X/MI355X coming online later this year, it will not be enough and still more than an order of magnitude less than the stable long term clusters NVIDIA has for internal development. This lack of GPU nodes is even getting worse due to the rise of agentic coding. Previously, each human engineer required a couple of nodes to do DI inference software development. But now with agentic coding, each agent requires GPUs to test their code against and each human can have dozens of agents running at the same time and each agent can only dozens of sub agents running at the same time too. Thus, &lt;/span&gt;&lt;a href="https://developer.nvidia.com/blog/dynosim-simulating-the-pareto-frontier/"&gt;&lt;span&gt;without Distributed Inferencing simulation tools like DynoSim&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, there will be even greater shortage of internal GPU capacity internally.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;unlike Rubin (SM107) which is an very similar ISA to Blackwell (SM100),&lt;/span&gt;&lt;/a&gt;&lt;span&gt; MI455 (gfx1250) is an complete different ISA from MI355 (gfx950) and has completely different codepaths and kernels which will require testing on both gfx950 &amp;amp; gfx1250. This is another thing that will continue to stress capacity. The big audacious goal for MI455X open-source vLLM, SGLang nightly automated CI was to have it by Advancing AI, but that was missed. We hear that the new timeline has been delayed till October 2026 but they are trying to leftshift it to August/September timeline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We view this slow ramp of internal software development GPU clusters &amp;amp; automated testing CI clusters is one of the major risks slowing them improvement of software quality &amp;amp; performance and hope AMD leadership revisits their capacity planning strategy going forward.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Part 1: AMD MI455 Silicon&amp;#8239;&amp;amp; Helios Rack&lt;/span&gt;&lt;/h1&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ck08!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6e9663-f4ef-4392-9cf8-c7e50a770459_1920x1069.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="811" src="https://substackcdn.com/image/fetch/$s_!ck08!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6e9663-f4ef-4392-9cf8-c7e50a770459_1920x1069.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD has done it again on silicon engineering. The MI455X is the most advanced chip that comes out of a fab on the silicon front. AMD is the first company to ship 2nm datacenter silicon with both the MI455&amp;#8217;s compute tiles as well as the Venice CPU being early adopters of N2. All of the competing accelerator platforms are on N3.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD continues to lead on package integration as well. The MI455 package is the largest CoWoS-L module shipping at 5.5x reticle size. AMD is still the only company adopting TSMC&amp;#8217;s SoIC-X hybrid bonding, which allows AMD to scale silicon footprint in the z dimension as well as the x and y dimensions. All this comes together to bring the MI455 to a total of 3,470mm2 of logic silicon in the package, by far the most amount of silicon that is being shipped in a single package.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The package layout borrows heavily from the MI355X. 8 N2 &amp;#8216;XCDs&amp;#8217; are hybrid bonded atop of 2 reticle-sized base dies which contain SRAM, HBM controllers, as well as the compute fabric that allows for the XCDs to communicate with each other.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One of the major areas where the MI455X departs from the MI300 family is the addition of 2 separate I/O dies that house all the PHYs for off-package communications. While the floorplan representation below shows one IOD for the UALoE scale up fabric, and the other IOD for the link to the host CPU and NICs for the scale out fabric, the I/O dies are in fact identical. This is a result of the clever implementation of flexible I/O, with each I/O die supporting 72 lanes that are compatible with different protocols at different line speeds including: 212G UALoE, 64G Infinity Fabric, PCIe Gen 6, 128G UALink, xGMI4. With many of these protocols contributed to the open UALink consortium in one form or another, the I/O is designed from the ground up to integrate well with UALink based interconnect solutions.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Mx0-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1d6ed6e-5755-4125-af00-a1aa104b8174_1200x675.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!Mx0-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1d6ed6e-5755-4125-af00-a1aa104b8174_1200x675.jpeg" width="1200" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This silicon spam is what allows AMD to deliver industry-leading peak theoretical dense FLOPs with the MI455X delivering 20PF of FP8 vs Rubin at 17.5 FP8. However, absolute numbers aside, these performance advantages are relatively mild compared to Rubin given how much more silicon content there is. This is down to AMD&amp;#8217;s deficit to Nvidia in GPU microarchitecture design, which we will discuss below.&lt;/span&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;Currently&lt;/span&gt;&lt;strong&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;&lt;span&gt;MI455X is lacking 3 bit LUT tensor cores that Rubin SM107 has&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. 3 bit LUT tensor cores has potential advantages for reducing relative HBM bandwidth needs.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; If anything, AMD is forced to be aggressive on silicon to compensate for this deficiency, not to mention its relative weaknesses in software and system design, though it&amp;#8217;s software is getting better. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/180102610/why-anthropic-is-betting-on-tpus"&gt;&lt;span&gt;Alternatively, AMD&amp;#8217;s product marketing team needs to find a few more tricks to juice marketed performance numbers.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!zaig!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410a2a3c-5439-4c82-a160-4369f9ada170_2072x1185.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="833" src="https://substackcdn.com/image/fetch/$s_!zaig!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410a2a3c-5439-4c82-a160-4369f9ada170_2072x1185.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD, Nvidia&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The large package size also allows AMD to fit 12 stacks of HBM4 for a total of 432GB per package. This is again industry leading compared to Nvidia and Google shipping only 8 stacks which is 288GB per package. Each base die is now closer to reticle sized with the HBM-facing edge measuring 32mm to squeeze in 3 cubes per edge, compared to the MI300X AID which was 29mm per edge which isn&amp;#8217;t enough to fit 3 cubes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Along with Rubin, AMD is the only company shipping HBM4 this year. Having 12 stacks also allows the MI455 to be the winner on memory bandwidth at 23.3 TB/s per chip, implying HBM4 pin speeds of 7.6Gamdbps. This is a slight upgrade from the 19.6TB/s advertised at last year&amp;#8217;s Advancing AI. Despite having a 50% wider bus than Rubin, the total bandwidth is barely above Rubin at 22TB/s.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is because Nvidia aggressively raised its targeted HBM4 pin speeds last year, well above the original JEDEC HBM4 specification. This change was precisely driven by the need to make up for the memory bandwidth deficit to AMD MI455X. At Nvidia&amp;#8217;s marketed 22TB/s for Rubin, this is a pin speed of 10.7Gbps: 40% faster than MI455&amp;#8217;s HBM4 which means NVIDIA will be forced to use an much higher quality bin than AMD.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we have mentioned before and covered extensively in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/188150420/rubin"&gt;&lt;span&gt;newsletter&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, this change was challenging for memory suppliers to keep up with. Memory suppliers had to rework their HBM4 to deliver the spec Nvidia was targeting. This also pushed out upstream output for Rubin but as of today these issues have been finally resolved. This move proved to be a worthwhile gambit for Nvidia as they could close one of the big shortfalls of Rubin and despite the delays, Vera Rubin will still be the first deliver tokens at scale compared to MI455 Helios. More on that later.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Active LSI&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Hidden beneath the surface, we believe that the MI455 is also the known first chip to ship with active Local Silicon Interconnects (&amp;#8220;LSI&amp;#8221;), which are the bridges that connect the various chiplets within the CoWoS-L assembly. In the brief history of CoWoS-L, the bridges have been passive, containing only wiring as well as capacitors. Active LSIs come with actual circuitry. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/isscc-2026-nvidia-and-broadcom-cpo?utm_source=publication-search"&gt;&lt;span&gt;During TSMC&amp;#8217;s aLSI presentation at ISSCC 2026, TSMC demonstrated active bridges with a low-power repeater circuit that regenerates signals mid-channel.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; The benefit is that because the bridge now shares the burden of maintaining signal integrity, the PHYs on the top dies can shrink meaningfully, at a nearly negligible energy cost, reclaiming leading-edge silicon and shoreline for compute and memory. The give away that this is being shipped in the MI455 is the &amp;#8220;test vehicle&amp;#8221; TSMC showed is the MI455 interposer: with two base dies, 12 HBM4 stacks, and two IO dies.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mB4c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F458dc37b-725d-4269-9958-1bef95f177fc_1456x819.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="819" src="https://substackcdn.com/image/fetch/$s_!mB4c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F458dc37b-725d-4269-9958-1bef95f177fc_1456x819.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: TSMC Active LSI Die Shot and Power Breakdown, ISSCC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DZtn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9733428b-7090-4796-abdf-989d692209ac_1282x852.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!DZtn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9733428b-7090-4796-abdf-989d692209ac_1282x852.png" width="1282" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: SemiAnalysis&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Meta Recsys Infra Strategy Odd Choice Hurting AMD&amp;#8217;s chances of success At Meta&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In short, a lot of what AMD brings to the table is how much logic and memory they&amp;#8217;ve been able to integrate in one chip. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a"&gt;&lt;span&gt;Oddly, Meta, one of AMD&amp;#8217;s biggest GPU customers decided to not take advantage of AMD&amp;#8217;s innovation here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Most of Meta&amp;#8217;s orders for the MI455 is a customized variant that is a cut-down version of the full MI455X: the compute silicon is halved from 8 dies to 4, and the HBM drops from 12 stacks to 6 per package. The HBM4 itself is also a step down, with 8-Hi stacks in place of the standard SKU's 12-Hi. Halving the compute and memory silicon raises the CPU-to-GPU compute ratio, mirroring Nvidia's Meta-specific "Ariel" variant of the GB200 NVL72. This chip configuration is intended for Recsys workloads and was something that Recsys infrastructure teams decided. However, the decision was made before TBD Lab was formed or could have its say. Given the significant compute and HBM deficiency for the scale up domain versus Rubin, TBD has no interest in this system, nor is it attractive for external customers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/i/207968269/upcoming-amd-mi450x-gun-in-mouth-decision"&gt;&lt;span&gt;As we specifically stated on our last piece on Meta infra strategy, this decision on doing an half size custom MI455, is going to nuke AMD&amp;#8217;s volume at Meta because TBD will vastly prefer Rubin if the half MI455 design is chosen. AMD needs to step in, put&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on their big boy pants, and work directly with teams at TBD to make sure they get the normal MI455 instead of the gimped Meta custom version which is terrible for LLM training &amp;amp; inferencing. The normal MI455 will be competitive with Nvidia&amp;#8217;s Vera Rubin.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We do think there is hope though as after our article, Mark Zuckerberg has already began rapidly exploring changes to their infrastructure strategy org culture.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bnH4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0be709-73f2-4f11-aaba-6f8f73e0d38e_1358x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="960" src="https://substackcdn.com/image/fetch/$s_!bnH4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0be709-73f2-4f11-aaba-6f8f73e0d38e_1358x960.png" width="1358" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the network side, MI455X marks the first AMD GPU deployment with switched scale up and in a rack-scale scale up domain. This a huge upgrade over the 8-GPU point-to-point mesh used from MI300X through MI355X.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s Helios rack connects 72 MI455X GPUs through 12 102.4T Tomahawk6 switches in a single tier all-to-all network. Each GPU has 72 lanes of 200G UALoE for the scale up fabric, resulting in total scale up bandwidth of 1.8 TB/s uni-di per GPU. Each switch uses 432 of its 512 200G lanes, with the over-provisioning a result of AMD using merchant TH6 switches from Broadcom, rather than a proprietary co-designed switch like Nvidia. Scale-out moves in parallel from 400G Pollara to 800G Vulcano, with two NICs delivering 1.6 Tbit/s per GPU with the option of adding a third NIC for each GPU. MI500 is expected to extend the scale-up domain to 256 GPUs across three racks, where copper will likely give way to co-packaged copper or co-packaged optics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!yRDz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ffbb4a-b0b9-4b4c-aaef-919425473a2a_1810x962.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="774" src="https://substackcdn.com/image/fetch/$s_!yRDz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00ffbb4a-b0b9-4b4c-aaef-919425473a2a_1810x962.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;Helios Rack Explainer Revisit&lt;/h2&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-advancing-ai-mi350x-and-mi400-ualoe72-mi500-ual256"&gt;&lt;span&gt;It has been a year since AMD&amp;#8217;s Helios architecture was announced at Advancing AI 2025, and a lot has happened since then.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Let&amp;#8217;s revisit the Helios architecture and review some of the changes and nuance that happened over the last year.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Rack Elevation Diagram&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dXbD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e399c1f-c69e-410e-9ddb-dda86b300d6b_2120x1898.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1304" src="https://substackcdn.com/image/fetch/$s_!dXbD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e399c1f-c69e-410e-9ddb-dda86b300d6b_2120x1898.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The Helios rack features 18 compute trays and 6 scale up switch trays, sitting in the middle of the compute trays. Each compute tray will house 4 MI455X GPUs and 1 Venice CPU, adding up to 72 GPUs and 18 CPUs in aggregate. Each scale up switch tray will house 2 102.4T Tomahawk 6 switch from Broadcom adding up to 12 switch ASICs in aggregate. For Meta&amp;#8217;s version of MI455x, there will be six 51.2T Minipack Ethernet switch within the rack, and the power supply shelf will be in a separate IT rack.&lt;/p&gt;&lt;h3&gt;Compute Tray Layout&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2hZc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0defa7-6a54-440c-a3ef-6db331e42f7b_1926x1666.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1259" src="https://substackcdn.com/image/fetch/$s_!2hZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0defa7-6a54-440c-a3ef-6db331e42f7b_1926x1666.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The compute tray design has not largely changed since Advancing AI 2025. Each MI455X GPU sits in an EAM module connecting to the scale up links via backplane connectors and the Venice CPU and Vulcano NIC via flyover cables. Notable, the LPDDR5x directly attached on the EAM is not to be seen, we will explain this below. The Venice CPU sits in its own module board with 16 slots of RDIMM and 5 NVMe SSD slots attached. The design is modular however the use of flyover cables to connect between modules could lead to challenges in production.&lt;/p&gt;&lt;h3&gt;Partial Codesign&lt;/h3&gt;&lt;p&gt;AMD has presented a wide portfolio of products for their rack scale solutions, including MI455x GPU, Venice CPU, Pensando Vulcano 800G NIC, and Pensando Salina DPU. However, the scale up switch, which enables the true rack scale scale up performance is missing. Unlike Nvidia, AMD has to rely on a partner for an off the shelf merchant scale up switch. This enables a wider ecosystem of scale up switch available to their customers, at least in theory. However, this also puts their roadmap at risk of execution of switch partners. Because Broadcom is the only merchant provider shipping a 100T switch with 200G SerDes, Broadcom is AMD&amp;#8217;s only choice for the switch. This also complicates logistics and responsibility between vendors, which requires back and forth communication and problem solving together. Due to the lack of a scale up switch product, AMD cannot reach extreme codesign for the complete rack solution.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!smKF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5391679d-c5c7-48a6-83d1-3033433180c0_2253x1261.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!smKF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5391679d-c5c7-48a6-83d1-3033433180c0_2253x1261.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Memory Despec&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;One notable omission is there is no longer any direct attached LPDDR running off of each accelerator. Previous roadmaps had up to 1TB of LPDDR as second tier memory for each MI455X attached on the EAM module, however this has now disappeared. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/memory-mania-how-a-once-in-four-decades?utm_source=publication-search"&gt;&lt;span&gt;We believe this is another consequence of tight memory supply&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Backplane retimed&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Another feature of Helios is the addition of Ethernet re-timers on the scale up switch. This is unlike Nvidia&amp;#8217;s Oberon backplane which is completely passive. AMD&amp;#8217;s 200G SerDes struggles from the loss on the copper path between MI455X and the scale up Tomahawk 6. It could be a result of their flexible I/O ambition or simply inferior SerDes quality leading to inadequate signal performance in the backplane. For Meta&amp;#8217;s MI455X deployment, ~85% of the scale up links will be retimed. The ethernet retimer will be provided by Broadcom and will be placed in the scale up switch tray. This is not an ideal set up, as the retimers will add extra cost and power budget to the entire system. Also, it complicates server assembly as it will be a very tedious task tuning all the retimes when bringing up a rack.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Manufacturability and Efficiency Challenge&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The MI455X Helios design was AMD&amp;#8217;s response to Nvidia&amp;#8217;s GB200/GB300 Oberon architecture. AMD referenced a lot of Nvidia&amp;#8217;s architecture for Helios. While the design enables high density single rack scale up, AMD has also borrowed the design that made Nvidia suffered, namely the flyover cables. &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;We have discussed the manufacture challenges regarding the flyover cables in our Vera Rubin architecture deep dive article. &lt;/span&gt;&lt;/a&gt;&lt;span&gt;The difficulties with flyover cables of GB200/GB300 made Nvidia pivot toward the cableless design for Vera Rubin NVL72. By the time this was announced, it was too late for AMD to implement this design philosophy for MI455x Helios.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the compute tray, the Genesis cable from Molex handles the 128G UALink between the MI455X and Pensando Vulcano NIC. There will be up to 12 Genesis cables per compute tray cramming into the 1U space alongside liquid cooling tubes and power cables. On the scale up switch side, flyover cables are between the backplane connector and the TH6 switch. 1,728 cables will be routed from the backplane connectors to the 16 ports (32 ports per tray) around each TH6 ASIC. All the cables become potential points of failure during assembly and will make manufacturing inefficient.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Compute Tray Topology&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Each of the 18 compute tray in the Helios rack holds four MI455X EAMs, each of which support 36 UALoE links, which in turn are built up using two lanes of 200G Ethernet. 72 lanes of 200G ethernet sums up to 14.4Tbit/s uni-di of total scale-up bandwidth per GPU. The MI455X features two N3P based I/O blocks on the North and South of the package &amp;#8211; one I/O block hosts these UALoE links for the scale-up network, while the other implements Infinity Fabric for connecting to CPUs as well as UALink128/PCIe Gen7 for connecting to NICs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DOGl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba819b-e3fc-4934-a506-49a15e1b4a14_1178x658.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="658" src="https://substackcdn.com/image/fetch/$s_!DOGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba819b-e3fc-4934-a506-49a15e1b4a14_1178x658.png" width="1178" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;Scale Up Topology&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8pgG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff531ace5-a92f-462e-ae0d-1f93f8b091ec_1810x962.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="774" src="https://substackcdn.com/image/fetch/$s_!8pgG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff531ace5-a92f-462e-ae0d-1f93f8b091ec_1810x962.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;On the other end of these UALoE links are 12 Broadcom Tomahawk 6 Ethernet switches across 6 switch trays with two switch ASICs per tray. UALink over Ethernet (UALoE) is the equivalent layer of the stack of NVIDIA&amp;#8217;s NVLink. Each Tomahawk 6 switch ASIC is built to support 102.4Tbit/s uni-di of aggregate bandwidth across 512 lanes of 200Gbit/s uni-di each. However, only 432 of these 200G lanes are actively used, for a total of 86.4Tbit/s uni-di of bandwidth going from each switch ASIC to the 72 GPUs in the rack. A switch aggregate bandwidth that divides evenly among 72 GPUs would be ideal &amp;#8211; 115.2Tbit/s for instance, but AMD is using the only switch that is available today. UALink switches with 115.2T and 57.6T aggregate bandwidth are on the horizon, but not close enough for them to anchor this architecture. In contrast, Nvidia designed the 28.8T NVSwitch to match the needs of a 72 GPU rack, and this divides bandwidth evenly among 72 GPUs, 400Gbit/s uni-di each, with no wastage of bandwidth at all. Each switch tray also includes a small host x86 CPU.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!svW_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F255daf84-8480-4765-8725-6a8aa35718de_1486x833.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!svW_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F255daf84-8480-4765-8725-6a8aa35718de_1486x833.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AMD uses a scale-up topology that should by now be familiar to our readers. In this flat one-layer network, each GPU connects to each switch using 6 lanes of 200Gbit/s uni-di per lane, for a total of 1.2Tbit/s uni-di to each switch of the 12 switch ASICs. Each switch ASIC in turn connects to all GPUs in the rack.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!D4oe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F973d34b4-ca29-4519-b48a-b3862d4fa498_2091x782.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="545" src="https://substackcdn.com/image/fetch/$s_!D4oe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F973d34b4-ca29-4519-b48a-b3862d4fa498_2091x782.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The scale-up switch to GPU links is implemented using a copper cable backplane. For each GPU, each of the 72x 200G lanes is carried over two differential pairs (DPs) of copper channels, one for transmit and one for receive. This totals to 144 DPs of copper cables per GPU, or 10,368 differential pairs of copper cables for the entire rack. Each GPU will also need a 144DP male and a 144DP female connector to interface between the backplane cables and the compute tray itself. On the switch side, four banks of connectors will be used per switch tray, with each bank hosting four 108 DP connectors supporting each &amp;#8211; a total of 432 DP per bank.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Flyover cables are used to connect the switch ASICs to the connectors on the back of the compute tray. Flyover cables offer better signal integrity than PCB traces, but the disadvantage is that they tend to limit serviceability and thermal efficiency, and add manufacturing challenges on top. Nvidia has flip flopped between the use of flyover cables and PCB &amp;#8211; initially aiming to use flyover cables before changing to use PCB traces for better serviceability and airflow.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!I-l_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd24de4-c3ee-43bb-834a-f40511be2055_1666x1083.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="946" src="https://substackcdn.com/image/fetch/$s_!I-l_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd24de4-c3ee-43bb-834a-f40511be2055_1666x1083.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The total backplane and compute tray content per rack will add up to $68,928, with $44,352 coming from the backplane and the remaining $24,576 attributable to the flyover cables.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aLQR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f77defb-555f-468a-a551-6c81636f5a91_1512x889.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="856" src="https://substackcdn.com/image/fetch/$s_!aLQR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f77defb-555f-468a-a551-6c81636f5a91_1512x889.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalysis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;With just six switch trays, the UALoE signal travels a shorter distance compared to NVLink in the GB300 NVL72, which uses nine switch trays. In addition, AMD has designed the Helios rack with 9 compute trays on the upper portion and 9 in the lower portion &amp;#8211; this allows signals to travel equal distances in both directions.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!o1kA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e282fb-1721-441a-87d5-3667bc99f73e_1237x780.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="780" src="https://substackcdn.com/image/fetch/$s_!o1kA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e282fb-1721-441a-87d5-3667bc99f73e_1237x780.png" width="1237" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;Scale-out Networking&lt;/h3&gt;&lt;p&gt;For scale-out, each MI455X can connect to as many as three AMD Pensando Vulcano 800 AI NICs delivering 2.4 Tbit/s of scale-out bandwidth, with each NIC attached through an x8 UALink128 interface delivering 256 GB/s of bidirectional GPU-to-NIC bandwidth. A separate Pensando Salina 400 DPU handles the front-end network.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dha-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571650aa-a0df-4965-84d1-4b15f5017c11_1791x972.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="790" src="https://substackcdn.com/image/fetch/$s_!dha-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571650aa-a0df-4965-84d1-4b15f5017c11_1791x972.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalysis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We expect the dominant deployment configuration to carry two Vulcano NICs per GPU for 1.6 Tbit/s of scale-out bandwidth.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Outside the rack, Vulcano supports a multi-plane leaf-spine topology that is non-blocking within each plane which is now a common implementation. We have written extensively on how multi-plane architectures are crucial in AI clusters today as it can fit more GPUs on a two-layer network. We elaborated more on the intuition and advantages behind multi-plane fabrics in our Vera Rubin article &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!edR9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283c379e-2a96-4365-8398-572bd48f68ed_1994x757.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="553" src="https://substackcdn.com/image/fetch/$s_!edR9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F283c379e-2a96-4365-8398-572bd48f68ed_1994x757.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalysis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kmyF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b73a033-54ba-4b63-8c83-66d9c1d3d3ee_1582x822.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="757" src="https://substackcdn.com/image/fetch/$s_!kmyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b73a033-54ba-4b63-8c83-66d9c1d3d3ee_1582x822.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-networking-model/"&gt;&lt;span&gt;SemiAnalysis AI Networking Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In a 131k MI455X 8-plane cluster, each 800G Vulcano NIC breaks into four 200G links, giving every GPU one connection into each of the eight independent planes given each GPU is attached to two NICs. Each plane has 512 leaf and 256 spine switches, for 6,144 TH6 switches across the cluster. The configuration requires two 800G DR4 modules at the NICs and three 1.6T DR8 modules per GPU &amp;#8211; two for the leaf-side uplink and downlink and one spine-side. We expect the scale-out networking content per MI455X GPU on an eight-plane two-layer configuration to be ~$8,000 per GPU.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0_AA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b3f356d-4bee-4d6f-91d3-7ba2e3cc062c_1828x938.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="747" src="https://substackcdn.com/image/fetch/$s_!0_AA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b3f356d-4bee-4d6f-91d3-7ba2e3cc062c_1828x938.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-networking-model/"&gt;&lt;span&gt;SemiAnalysis AI Networking Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s Pensando Vulcano 800 AI NIC is going on the same direction the industry has went for the past couple of years now. In our &amp;#8220;&lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a"&gt;&lt;span&gt;Meta&amp;#8217;s Infrastructure Team Needs a Culture Reset&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8221; newsletter, we highlighted the issues faced on the data-plane and control-plane level in AI scale-out networks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In large AI training clusters, there are three main issues: elephant flow, low entropy and suboptimal fabric utilization.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Elephant Flow: AI workloads tend to have long-duration, heavy-traffic flows that can congest the network and reduce the overall performance of the training batch.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Low Entropy: Depending on the training job, the number of IP flows can be limited and congest only a few links while the overall fabric still has plenty of capacity.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Suboptimal Fabric Utilization: Finally, as an overall effect of both elephant flows and low entropy, there is a large skew in the bandwidth utilization of fabric links, which drives how much the fabric needs to be overprovisioned to run smoothly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;RDMA traffic is highly sensitive to packet loss and congestion, and RoCEv2 is built on Ethernet, a lossy protocol, and UDP, which does not allow for recovery mechanism. Meta&amp;#8217;s DSF addressed this inside the network with virtual output queues, cell spraying, credit scheduling and deep-buffer Jericho-AI switches but at the cost of a much more complicated data plane, control plane and hardware stack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Vulcano tries to solve the same problems but through the NIC. Here, the NIC comes with 3 elements, Intelligent Packet Spray, Path Aware Congestion Control, and Out-of-order Packet Handling and In-order Message Delivery, that allows to offload the network complexity from the fabric to the NIC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intelligent Packet Spray attacks the low entropy problem at the core. In traditional ECMP fabrics, a flow is hashed onto a single path and stays there. Since AI traffic is composed of a handful of massive, synchronized elephant flows, hash collisions are frequent and some paths get congested while others sit idle. Instead of pinning a flow onto a single path, AMD&amp;#8217;s AI NIC sprays the packets of the same flow onto the available paths of the fabric, raising the entropy level to a per-packet level. The result is a 1:1 fabric utilization, and a failure recovery in milliseconds because no link failure can take down the whole flow.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, spraying packets creates a new set of problems, which is where the 2 other elements come into play. First, packets coming from different paths can arrive in the wrong order. Traditional RoCEv2 networks force the packets to go back N retransmissions, which involves buffering at the NIC or switch level depending on the approach (scheduled vs non-scheduled fabrics). Here, the NIC handles the out-of-order packet arrival natively and enforces ordering at the message level, removing the need for buffering. Packets are written directly onto the GPU memory as they land, and only lost packets are retransmitted.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Second, spraying packets blindly across path cause congestion around instead of avoiding it. Path Aware Congestion Control closes the gap as the NIC tracks the real time status of each path and shifts traffic away from congested ones before queues builds up. This is aimed specifically at incast, as collective operations like all-reduce tend to have many senders for one receiver, causing head-of-line blocking cascades through the fabric. Because decisions are made at the NIC level, with per-path visibility, ramp up is fast enough to handle the bursty nature of AI workloads. Also, tail latency is minimized here since packets are sprayed intelligently across the fabric.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Taken together, those 3 mechanisms solve the same problem Nvidia solves with its ConnectX NIC coupled with Spectrum-X adaptive routing. The main difference here is that AMD is adopting the open UEC standard and a multi-vendor fabric rather than a vertically integrated one.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s AI NIC does not impose the transport model and allows for flexible scale-out networking. It supports switch-based packet-spray, for operators whose fabric already handles load balancing, NIC-based packet-spray, for dumb commodity fabric where the intelligence is offloaded to the NIC, and NIC-based source routing, for operators who want path control from the endpoint. The whole point is that the network behavior adapts to the fabric you already own and the workload you intend to run, not the other way around.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;CDNA5 Microarchitecture&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Designs Converging with NVIDIA&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In the same way that AMD has drawn inspiration from Nvidia&amp;#8217;s boring keynote format, AMD&amp;#8217;s CDNA 5 in many ways draws huge inspiration from Nivida&amp;#8217;s Hopper (SM 90) architecture. First, CDNA 5 reduces the number of threads per wave to 32, matching it with NVIDIA&amp;#8217;s 32 threads per warp. CDNA 5 also replaces CDNA3/CDNA4 Infinity Cache and small L2 cache with a single large 96 MB L2 cache per FCD (Fabric and Cache Die). This design converges closer to NVIDIA&amp;#8217;s &amp;#8220;global memory -&amp;gt; L2 cache -&amp;gt; shared memory&amp;#8221; memory hierarchy. Managing memory latencies across different hierarchies has always been a pain point of AMD kernel writers; we expect simplifying the hierarchy should mitigate this issue.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!6sht!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ffb0c-7d38-416e-a200-b374debe09fc_2084x1368.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="956" src="https://substackcdn.com/image/fetch/$s_!6sht!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ffb0c-7d38-416e-a200-b374debe09fc_2084x1368.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Increased Staging Memory and MMA Shapes&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;CDNA 5 has larger memory staging buffers than its NVIDIA counterparts. It has 320 KB of LDS (roughly SMEM-equivalent) and 32 KB of VGPR (roughly thread register-equivalent), so each thread has access to 1024 registers. In addition, we have only seen CDNA 5 supporting mostly 16x16xK shapes like its predecessor. Combining these facts, we theorize that the larger staging buffer is for adapting to the increase in wave count: Under the same number of parallel threads, smaller wave size would lead to a larger number of waves. Since the MMA shape didn&amp;#8217;t increase, and each thread has access to 4x number of registers, AMD doesn&amp;#8217;t have to resort to increasing MMA scope to warp groups like NVIDIA does.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Tensor Data Mover&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Tensor Data Mover (TDM) is almost identical to NVIDIA&amp;#8217;s Tensor Memory Accelerator (TMA). TDM moves data from HBM to LDS without register staging. It supports 5-dimensional tiling, out-of-bound checking, and even multi-cast into different work group clusters, the equivalent of NVIDIA&amp;#8217;s thread block cluster. One difference is that TDM descriptors are loaded from SGPR, unlike NVIDIA loading from host to shared memory. NVIDIA&amp;#8217;s Rubin has just showcased inline TMA descriptor updates to improve user ergonomics, so we look forward to seeing whether AMD will get the design right.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;GFX1250 Speaks NVFP4 Natively&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!muc7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75feb44-2a1d-4f2a-b0d1-86da804e189c_2156x1050.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="709" src="https://substackcdn.com/image/fetch/$s_!muc7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff75feb44-2a1d-4f2a-b0d1-86da804e189c_2156x1050.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The two FP4 formats now competing for inference share the same E2M1 element: one sign bit, two exponent bits, one mantissa bit. But they differ in how they carry the block scale that makes so narrow a type usable. MXFP4, the OCP standard AMD has built its four-bit path around, pairs each 32-element block with a power-of-two E8M0 scale. NVFP4, the format NVIDIA introduced with Blackwell, uses a finer 16-element block, an FP8 E4M3 scale per block, and an FP32 per-tensor global scale on top, resulting in a costlier but more accurate arrangement that is fast becoming the default for FP4-quantized checkpoints.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The notable thing about AMD&amp;#8217;s gfx1250, the architecture target behind MI455X, is that its matrix engine speaks NVFP4 natively. MLIR-level scale-format enum in ROCm WMMAMatrixScaleFormat, &lt;/span&gt;&lt;a href="https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td"&gt;&lt;span&gt;includes e8, e5m3, and e4m3 members&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;More concretely, AMD has already shipped a &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/blob/ae0bae8954110b12655e3232f68262dd63cd694e/hsa/gfx1250/f4gemm/f4gemm_bf16_nvfp4_ABpreShuffle_256x256_4x4_ps.co"&gt;&lt;span&gt;gfx1250-compiled NVFP4 GEMM code object&lt;/span&gt;&lt;/a&gt;&lt;span&gt; inside AITER and wired it into the runtime dispatch table, where a format discriminator distinguishes NVFP4 from MXFP4 and the &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/blob/ae0bae8954110b12655e3232f68262dd63cd694e/aiter/ops/gemm_op_a4w4.py"&gt;&lt;span&gt;dispatch logic selects the NVFP4 assembly kernel on gfx1250&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This is a gfx1250-specific capability, not a CDNA4 one. MI355X / gfx950 does four-bit only as MXFP4, through scaled-MFMA with an E8M0 scale over 32-element blocks &amp;#8212; no scale-format field, no 16-element blocks, no E4M3 &amp;#8212; which is all AMD&amp;#8217;s public matrix-core documentation describes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We also found that CDNA 5 additionally supports unsigned E5M3 (UE5M3) scaling factor format, in contrast to NVIDIA Rubin supporting E4M3 and E5M2. UE5M3 repurposes the sign bit, increasing the dynamic range and dropping the minimum non-zero representable absolute value from E4M3&amp;#8217;s 2^-9 to 2^-17. UE5M3 is proposed as an alternative to NVFP4&amp;#8217;s additional per-tensor FP32 scaling, and future adoption of those formats will show their efficacy.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!LY6M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34fc99cf-6690-4626-ab34-e5e8b059f57b_1854x830.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="652" src="https://substackcdn.com/image/fetch/$s_!LY6M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34fc99cf-6690-4626-ab34-e5e8b059f57b_1854x830.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: &lt;/span&gt;&lt;a href="https://arxiv.org/pdf/2601.19026"&gt;&lt;span&gt;https://arxiv.org/pdf/2601.19026&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Conservative Microarchitectural Changes&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The microarchitecture evolution from CDNA 4 to 5 shows AMD believes less in scaling than NVIDIA does. NVIDIA has bet on models requiring larger multiplications and scaled MMA shapes aggressively every generation, scaling to MMA shapes that need 2 SMs to execute in Blackwell. Since CDNA 5 barely scales MMA shapes, we doubt we will see an equivalent feature in CDNA 5. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;We also have yet to see innovations on data compression techniques from AMD like Rubin&amp;#8217;s 3-bit lookup table weight compression MMA mode.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Part 2: AMD Software Defeat the Cuda Moat?&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;AMD Software Is Improving Quickly, But the Moat Has Moved&lt;/h2&gt;&lt;p&gt;&lt;span&gt;AMD's software story is not "ROCm is broken" anymore. It is that ROCm is finally moving with real urgency, but the competitive frontier has moved faster. We &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;&lt;span&gt;said in April 2025&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that AMD was "on the right track" after a sharper developer-first push, and later said AMD's software quality had "massively improved" since January 2025.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat"&gt;https://newsletter.semianalysis.com/p/amd-2-0-new-sense-of-urgency-mi450x-chance-to-beat-nvidia-nvidias-new-moat&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;What Has Actually Improved&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;CI Is Maturing, But not fast enough&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We praised AMD for moving stable ROCm support into upstream vLLM releases in January 2026 and adding nightlies shortly afterward. CI has since made concrete but incomplete progress. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/42793"&gt;&lt;span&gt;June change&lt;/span&gt;&lt;/a&gt;&lt;span&gt; added AMD mirrors and gates for eight major test groups: V1 attention, engine, OpenAI API correctness, small-model evaluation, multimodal pooling, and three speculative-decoding paths. A &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/49270"&gt;&lt;span&gt;separate July patch&lt;/span&gt;&lt;/a&gt;&lt;span&gt; cleaned up flaky jobs and prepared existing mirrors to become merge-blocking again. But CUDA parity has not yet been demonstrated: public regression dashboards, AITER accuracy gates, end-to-end disaggregation CI, and automatic performance gating remain roadmap items.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Encouragingly, AMD&amp;#8217;s distributed-inference work has begun moving from one-off recipes into upstream CI. SGLang merged a &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29084"&gt;&lt;span&gt;two-node MI355X 1P1D disaggregation nightly&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in June for DeepSeek-V4 Flash and Pro, in both FP8 and FP4, then added &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29784"&gt;&lt;span&gt;DP-attention, EP8, MTP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/29855"&gt;&lt;span&gt;Kimi K2.6&lt;/span&gt;&lt;/a&gt;&lt;span&gt; coverage in early July. This is the important shift: disaggregated inference is starting to become a continuously tested upstream feature rather than a demo.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Kubernetes powers most inference deployments across the world, and AMD is a founding partner of llm-d, an open-source distributed inference Kubernetes orchestration engine. But it has yet to have sufficient CI automated testing for the first party Pollara NIC. It isn&amp;#8217;t due to engineering not wanting to add it, but they still to this day under-invest in internal CI capacity planning. This results in 0% parity to NVIDIA&amp;#8217;s ConnectX-7 NIC on llm-d Kubernetes inference nightly testing. The planned ETA of advancing AI 2026 reaching parity on this was missed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the vLLM side, gating automated test progress has massively regressed due to AMD cluster infra stability issues this week. AMD&amp;#8217;s hardcore engineers were making good progress on vLLM gating over the past couple of weeks to reach the ETA of advancing AI to reach 90% parity with CUDA on gating, until AMD leadership started pulling clusters away from AMD&amp;#8217;s internal vLLM team.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Gating/blocking tests uphold the important standards, since PRs cannot merge unless the test is passing. While AMD leadership may distract non-technical folks by showing their non-gating pass rate, gating parity &amp;amp; gating pass rate are what truly matter.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We hope that AMD leadership (Anush, Vamsi, Mark Papermaster) can re-prioritize giving their internal vLLM team stable clusters, so that AMD&amp;#8217;s internal hardcore vLLM engineers can do the work of reaching 90%+ parity with CUDA vLLM on gating and have the tools needed to operate at the same velocity as the AMD internal SGLang team.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Single-Node Performance and Reproducibility Are Real Wins&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In March, we highlighted an &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2037333823134855344"&gt;&lt;span&gt;up to 18&amp;#215; improvement&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in Kimi K2.5 1T MXFP4 interactivity in under 30 days from &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/35850"&gt;&lt;span&gt;AITER/vLLM fixes&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that were already upstreamed into vLLM 0.18. AMD&amp;#8217;s own February 2026 technical write-up, &lt;/span&gt;&lt;a href="https://www.amd.com/en/developer/resources/technical-articles/2026/inference-performance-on-amd-gpus.html"&gt;&lt;span&gt;&amp;#8220;Speed is the Moat: Inference Performance on AMD GPUs&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, argues that AITER-driven single-node optimizations deliver a roughly 1.08x&amp;#8211;1.2x throughput uplift over baseline framework configurations. That is the correct direction: the baseline open-source frameworks must get faster on AMD, not just AMD-only demos.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD&amp;#8217;s MiniMax M3 performance has also caught up to B200, with optimizations via their ATOM stack.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!rjUU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df206f9-312f-4c9f-9780-a77af214204d_1038x1322.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1322" src="https://substackcdn.com/image/fetch/$s_!rjUU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df206f9-312f-4c9f-9780-a77af214204d_1038x1322.png" width="1038" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: https://x.com/RyanLeeMiniMax/status/2080142342288445553&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Where the story has improved most is in recipes, documentation, and reproducibility. ROCm now has a much deeper public recipe layer than it did a year ago. The ROCm inference docs expose a full AI-inference section spanning vLLM, SGLang, distributed MoRI, Mooncake, and deployment guides. The vLLM optimization guide covers AITER, attention-backend selection, TP/EP/DP strategies, FP8/FP4 quantization, and single-node to multi-node scaling. The ROCm/MAD repo now publishes blueprints spanning vLLM, SGLang, training stacks, large-EP microbenchmarks, and disaggregated prefill/decode recipes.&lt;/p&gt;&lt;h3&gt;The Posture Is Right&lt;/h3&gt;&lt;p&gt;&lt;span&gt;This is why we are mostly aligned with Anush on the software diagnosis. The developer-first posture, upstream alignment, day-0 model enablement, and faster release cadence are the right playbook. We praised Anush&amp;#8217;s developer-relations push in 2025 and, more recently, credited his team for moving ROCm from a second vLLM fork toward something closer to a first-class upstream experience. The &lt;/span&gt;&lt;a href="https://blog.vllm.ai/2026/02/27/rocm-attention-backend.html"&gt;&lt;span&gt;official vLLM blog&lt;/span&gt;&lt;/a&gt;&lt;span&gt; now says the era of &amp;#8220;just porting&amp;#8221; AMD support is over, documents seven ROCm attention backends, and shows 1.2x&amp;#8211;4.4x throughput gains from the latest AMD/vLLM orchestration work. That is what a credible catch-up path looks like.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;George Hotz put it well back in 2025:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;AMD&amp;#8217;s dysfunction is different. From the beginning they had leadership that can do things (Lisa Su replied to my first e-mail), they just didn&amp;#8217;t see the value in investing in software until recently. They sort of had a point if they were only targeting hyperscalers. but it seems like SemiAnalysis got through to them that hyperscalers aren&amp;#8217;t going to deal with bad software either. It remains to be seen if they can shift culture to actually deliver good software, but there&amp;#8217;s movement in that direction, and if they succeed AMD is so undervalued. Their hardware is good.&lt;/p&gt;&lt;p&gt;-George Hotz&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;InferenceX: AMD Dev Velocity is Getting Better&lt;/h2&gt;&lt;p&gt;&lt;span&gt;In the past, we have seen AMD struggle in efficiently bringing up new models on their hardware in both the aggregated and disaggregated scenarios. We track all iterative performance on &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/"&gt;&lt;span&gt;InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which allows us to estimate this &amp;#8220;velocity&amp;#8221; to some extent.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As mentioned in our previous article, the AMD inference team did a great job at rapidly improving its DeepSeek v4 performance over the first month or so, especially in the single node case. Below is a chart labelling all improvements made in the first 47 days of the DeepSeek v4 release to MI355X SGLang single-node config.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7bJH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366fa51e-82c0-40c6-b1cf-bbbadd3907dc_2392x1454.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="885" src="https://substackcdn.com/image/fetch/$s_!7bJH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366fa51e-82c0-40c6-b1cf-bbbadd3907dc_2392x1454.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;p&gt;More recently, we saw a similar story for MiniMax M3, where the AMD inference team rapidly iterated to achieve competitive performance.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!F2fn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5c4b37c-60b4-4d28-a922-a1f7d5d3de61_2984x1670.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="815" src="https://substackcdn.com/image/fetch/$s_!F2fn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5c4b37c-60b4-4d28-a922-a1f7d5d3de61_2984x1670.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;For the disaggregated case, AMD is also doing quite well. This is a huge improvement from ~6 months ago, where the team struggled to achieve parity with Nvidia on DeepSeek R1 for many months. This is a result of a couple of things. First, AMD has made significant concrete improvements to their software stack with MoRI backend for distributed inference, as well as various improvements to Mooncake. More importantly, the AMD distributed inference team, led by Hai Xiao, has been working with a greater sense of urgency to provide better support for distributed inference.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following video shows that MI355X FP4 disaggregated solution lagged many months behind Nvidia&amp;#8217;s.&lt;/span&gt;&lt;/p&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;p&gt;Note that this was AMD&amp;#8217;s first public disagg recipe, posted on InferenceX in January. Take this in stark contrast with the Day 0 progress on MiniMax M3 FP4 disagg shown below, and you can see AMD is in a much better position now to be competitive in terms of distributed inference solutions.&lt;/p&gt;&lt;div class="native-video-embed"&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DMnp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ca588-bfa0-4d0a-8203-bec7d848bcef_2622x1586.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="881" src="https://substackcdn.com/image/fetch/$s_!DMnp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ca588-bfa0-4d0a-8203-bec7d848bcef_2622x1586.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, going fast isn&amp;#8217;t easy. Especially when the competition has a head start. The missing one piece is now real: AMD&amp;#8217;s distributed stack was missing above the engine came with &lt;/span&gt;&lt;a href="https://rocm.blogs.amd.com/software-tools-optimization/atomesh-inference/README.html"&gt;&lt;span&gt;ATOMesh&lt;/span&gt;&lt;/a&gt;&lt;span&gt; . It is a ROCm-native distributed-inference gateway featuring a Rust routing and orchestration layer that handles the cluster-level work disaggregated serving needs, such as prefill/decode-disaggregated routing, cache-aware load balancing, RDMA KV-cache transfer (via MoRI-IO or Mooncake).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is not a from-scratch build: &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1174/changes"&gt;&lt;span&gt;ATOMesh is derived from SGLang&amp;#8217;s sgl-model-gateway&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and substantially reworked around ATOM and AMD hardware. However, it works, as shown in the MiniMax M3 InferenceX results above. Routing policy stays separate from model execution, and it plugs into vLLM and SGLang as naturally as AMD&amp;#8217;s own ATOM engine.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!c2F-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F135521c3-6089-4865-a050-4a6f0097b45e_978x1286.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1286" src="https://substackcdn.com/image/fetch/$s_!c2F-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F135521c3-6089-4865-a050-4a6f0097b45e_978x1286.png" width="978" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;Chipping Away at the CUDA Moat: Using Agents to Enable Day 0 Support&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The SemiAnalysis team grinded to enable day 0 support for DeepSeek v4 and MiniMax M3, and we will continue to do so for upcoming frontier models such as Kimi K3. This &amp;#8220;day 0&amp;#8221; perf is an important baseline for showcasing performance &lt;/span&gt;&lt;em&gt;&lt;span&gt;over time&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, which is the north star goal of InferenceX.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Obviously, the 100x cracked engineers at AMD, Nvidia, Inferact, RadixArk, etc are responsible for the hardcore inference engineering work to truly enable day 0 support for these models. However, often times there are bugs to fix or low hanging fruit that the SemiAnalysis team adds in order to enable day 0 sweeps (currently, these are more prevalent with AMD configs). This has become increasingly easy with the rise of capable agents. The flow looks something like this: for a given config (I.e., MiniMax M3 vLLM MI355X FP8), start a new Claude Code/Codex agent to pull the day 0 recipe from the internet, create the necessary plumbing in InferenceX, and then kick off the sweeps. The agent has access to both the GitHub Action as well as direct access to the physical runner to continuously monitor the status. In the case of an engine error, the agent can automatically decipher what the root cause is, and either iterate automatically and re-run or consult the human for intervention. We can execute this pipeline in parallel for multiple configs on various SKUs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;When an error is identified, the current models are quite good at identifying the cause in the upstream engine code (vLLM/SGLang/TRT) and few-shot implementing a fix, with some guidance from the team. Additionally, we use agents to identify low-hanging fruit performance improvements. Some examples of upstream contributions by the SemiAnalysis team + agents:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/NVIDIA/TensorRT-LLM/pull/13710"&gt;&lt;span&gt;TRT: [fix] Fix fused MHC for DeepSeek-V4-Pro hidden size#13710:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; a Day 0 DeepSeek v4 fused MHC kernel fix&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45879"&gt;&lt;span&gt;[Bugfix] Fix NixlConnector handshake block_len validation for GQA-replicated KV heads#45879:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; MiniMax M3 disagg Day 0 enablement&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45546"&gt;&lt;span&gt;[Bug Fix] [MiniMax-M3] Implement EAGLE3 support on the AMD MiniMax M3#45546:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; enable speculative decoding for AMD MiniMax M3 Day 0&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/45720"&gt;&lt;span&gt;[Bugfix][ROCm] Fix MiniMax-M3 FP8 KV cache dtype:&lt;/span&gt;&lt;/a&gt;&lt;span&gt; enable FP8 KV cache support for MI300X and MI325X for Day 0 MiniMax M3&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;More...&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Shoutout to vLLM community Roger Wang, Hongxia, Michael Goin and other Inferact engineers for the kind mentorship and help on getting these fixes merged.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hlil!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2c32bd-86b3-4b21-9896-4178ac23822b_1728x1032.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="870" src="https://substackcdn.com/image/fetch/$s_!hlil!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2c32bd-86b3-4b21-9896-4178ac23822b_1728x1032.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: GitHub&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;This kind of rapid iteration would simply not have been possible 3-6 months ago on a team of 2.5 engineers. Current frontier models in a capable harness are legit. They can make meaningful contributions to OSS serving engines and kernels. This may not &lt;/span&gt;&lt;em&gt;&lt;span&gt;necessarily &lt;/span&gt;&lt;/em&gt;&lt;span&gt;be attributed to the &amp;#8220;intelligence&amp;#8221; of the models, rather the pure &amp;#8220;grit&amp;#8221; they have when told to achieve a goal. This combined with the ability to execute many of these tasks in parallel make it clear that testing and writing software is not the moat it was last year. This is broadly positive for AMD. By enabling AI agents to take on work previously performed by human engineers, it diminishes the relevance of the so-called &amp;#8220;CUDA moat&amp;#8221; and helps AMD offset Nvidia&amp;#8217;s advantage in engineering headcount.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD seems to be leaning into this thesis heavily, as at Advancing AI 2026, they announced &lt;/span&gt;&lt;a href="https://www.amd.com/en/products/software/rocm.html?utm_campaign=domain&amp;amp;utm_medium=redirect&amp;amp;utm_source=301&amp;amp;utm_term=rocm.ai"&gt;&lt;span&gt;ROCm.ai&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a suite of skills, harnesses, and framework integrations that aims to further enable developers to iterate quickly on kernels and performance tuning using agents.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fPme!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79587253-5eba-4d58-b45e-0a2fe69bf346_1099x523.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="523" src="https://substackcdn.com/image/fetch/$s_!fPme!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79587253-5eba-4d58-b45e-0a2fe69bf346_1099x523.png" width="1099" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;GEAK, Hyperloom, and Optimizing Against InferenceX&lt;/h4&gt;&lt;p&gt;&lt;span&gt;ROCm.ai is more than just a keynote slide. Most pieces are already sitting in the open on AMD&amp;#8217;s &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI"&gt;&lt;span&gt;AMD-AGI org&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and they map almost one-to-one onto the day-0 loop we described above. At the center is &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/GEAK"&gt;&lt;span&gt;GEAK&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (&amp;#8221;Generating Efficient AI-Centric Kernels&amp;#8221;), a mini-SWE-agent-based agent that writes and tunes Triton/HIP and FlyDSL kernels, wrapped by &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/Hyperloom"&gt;&lt;span&gt;Hyperloom&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the orchestrator that profiles a serving workload, finds the bottleneck kernels, throws GEAK and GEMM-tuning agents at them, and gates every candidate on an end-to-end A/B before it counts. Around that sit the supporting cast: &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/Magpie"&gt;&lt;span&gt;Magpie&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for evaluation, &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/TraceLens"&gt;&lt;span&gt;TraceLens&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for trace analysis, &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/Apex"&gt;&lt;span&gt;Apex&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for exporting agent trajectories into an RL-flavored training pipeline, and &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/AgentKernelArena"&gt;&lt;span&gt;AgentKernelArena&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a head-to-head harness that pits Claude Code, Codex, Cursor, and GEAK against each other on the same kernel tasks under identical scoring.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Hyperloom&amp;#8217;s optimizer pulls its performance target straight from InferenceX. On the current main branch, it scraps InferenceX, and target_analyzer writes a competitor target that the agent then tries to clear. An earlier version of their CI went further &amp;#8212; computing a % gain over InferenceX, counting how many models &amp;#8220;beat&amp;#8221; InferenceX, and posting the scoreboard to a Teams/Slack channel &amp;#8212; before that machinery was trimmed for the open-source release.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We see this as a good thing. Our vision for InferenceX is to accurately track performance of open-source frameworks, and it definitely serves this role if agents use it as a reward signal and continuously try to improve. These efforts will benefit the ML community with better model serving performance.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The more interesting lesson buried in these repos is one we recognize from our own day-0 grind: generating a kernel is the easy part, trusting the number is not. A meaningful chunk of the engineering is anti-cheat. GEAK had to &lt;/span&gt;&lt;a href="https://github.com/AMD-AGI/GEAK/pull/255"&gt;&lt;span&gt;stop silently scoring the unpatched baseline kernel&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of the agent&amp;#8217;s actual patch, and add a GEAK_PROTECT_TEST_FILES mode that strips the agent&amp;#8217;s edits to the test harness so it can&amp;#8217;t fake correctness by rewriting the reference. Apex ships a tamper detector that flags hardcoded print(&amp;#8221;PASS&amp;#8221;) and a banned-library list so an agent can&amp;#8217;t &amp;#8220;optimize&amp;#8221; a Triton kernel by quietly routing to a pre-tuned MIOpen or hipBLASLt call. It&amp;#8217;s the same grit-over-intelligence story: the models will reward-hack a benchmark the instant you let them, and a surprising share of the work is building the guardrails that keep the speedups real.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;And it works. GEAK&amp;#8217;s learned notes already log verified end-to-end wins on shipping silicon. ~+21.8% e2e from an MXFP8 decode-bound dense-linear rewrite on MI355X, with honest caveats where grouped-MoE GEMM stalls out around a 1.1x ceiling. None of this defeats the CUDA moat on its own. But it is the clearest signal yet that AMD is industrializing the exact workflow that, a year ago, required a room full of CUDA engineers.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Introducing AgentX, a new InferenceX Agentic Scenario&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;While the current 8k1k + 1k1k scenarios are a great proxy for evaluating baseline chip performance, they fail to evaluate the entire system (routers, KV cache transfer, KV cache offloading, schedulers, etc) since they are all single-turn, random data requests.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For the past few months, we have been working with industry leaders to develop an agentic benchmark: AgentX. To achieve our goal of making the benchmark as reflective as possible of real world serving, we collected ~3 months of internal SemiAnalysis Claude Code, Codex, etc. traces, which we then replay offline at varying concurrencies using &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/aiperf"&gt;&lt;span&gt;AIPerf.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Some of the statistics of the dataset are shown below. Notably, the median ISL and OSL are 140k and 396, respectively (quite different from 8k1k). With a median cache hit rate of 99.2%! Note, this is assuming an infinite cache so is not, of course, actually attainable in most real-world serving.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The dataset also includes realistic subagent usage as well as dynamic workflows, which further stresses the KV cache by continuously introducing uncached context for the server to process. The tool use time / user think time (captured by inter-turn latency) is also reflected in the dataset, further stressing the KV cache and highlighting the efficacy of KV offloading techniques, which have the possibility of increasing KV cache TTL.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oRJU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f0fb740-3221-4111-ba8e-adc65dbbe50b_2188x1767.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1176" src="https://substackcdn.com/image/fetch/$s_!oRJU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f0fb740-3221-4111-ba8e-adc65dbbe50b_2188x1767.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://huggingface.co/datasets/semianalysisai/cc-traces-weka-061526/blob/main/plots/distributions_log.png"&gt;SemiAnalysis HuggingFace&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;We are very excited about this scenario. We have worked with WEKA, Inferact, RadixArk, LMCache, Mooncake, NVIDIA, AMD, and other industry leaders in ensuring it accurately reflects real traffic that may be experienced by a TaaS provider or frontier lab like OAI/Ant.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Results have been rolling in for the past month and are available on InferenceX. We will write an in-depth article on results and methodology soon.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Single-Node is Out, Disaggregated is In&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;As discussed, the competitive frontier has moved from single node aggregated to multi node disaggregated inference. In our InferenceX v2 article, we discussed the notion of AMD&amp;#8217;s &amp;#8220;software composability problem&amp;#8221; when it came to distributed inference. That is, they had made strides in individual optimizations such as disagg, FP4, WideEP, DP-attention, etc, but combining many of these together broke the stack. While there is still certainly progress to be made, AMD has made significant strides in this area.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/nvidia-the-inference-kingdom-expands"&gt;&lt;span&gt;GTC 2026 recap&lt;/span&gt;&lt;/a&gt;&lt;span&gt; frames Nvidia&amp;#8217;s next moat as disaggregated inference systems, including attention/feed-forward disaggregation (AFD). Since attention is stateful and KV-bound, while FFN is stateless and batch-scalable, these phases can be split and mapped onto the best-suited hardware. Then, inference leadership becomes a distributed-systems problem rather than a single-kernel one. WideEP, disaggregated prefill, KV transport, expert routing, and scheduler/orchestration are all part of that same new moat. AMD can close single-node gaps, but unless those optimizations compose cleanly in vLLM and SGLang, it is still fighting yesterday&amp;#8217;s war.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The timeline below puts the gap in perspective. The open CUDA ecosystem has been shipping disagg+WideEP since early 2024, while AMD&amp;#8217;s first publicly available PD-disagg + WideEP recipes only landed in January 2026 via InferenceX. AFD&amp;#8217;s real payoff requires superpod-class interconnects, which are the kind of rack-scale hardware AMD does not ship until MI455X. And at GTC 2026, Nvidia announced the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/nvidia-the-inference-kingdom-expands"&gt;&lt;span&gt;Groq 3 LPX&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, an SRAM-based LPU integrated into the Nvidia inference rack specifically for disaggregated decode FFN.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-IqQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b896c8a-56aa-4246-bfbf-15bde25cda63_1456x555.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="555" src="https://substackcdn.com/image/fetch/$s_!-IqQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b896c8a-56aa-4246-bfbf-15bde25cda63_1456x555.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;The New Moat: Sparse Models, Disaggregation, and WideEP&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Recent Model Trends: Active Experts Stay Tiny While Total Experts Explode&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The model landscape makes the composability problem more urgent. Active expert counts stay pinned in the 4&amp;#8211;10 range while total experts scale out to 128, 256, 384, and now 512. Many of the newest giant MoEs also collapse the KV cache to the equivalent of one or two heads via MLA-style low-rank designs. That means the frontier is getting sparser, more bandwidth-sensitive, and more dependent on routing, KV movement, WideEP, and distributed scheduling. In that world, one more single-node benchmark win is not the moat. Composable distributed inference is.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Disaggregated Prefill and WideEP&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Disaggregated prefill separates compute-heavy prefill from memory-heavy decode onto different nodes, removing the interference between the two phases and letting operators tune prefill vs. decode node counts independently. The trade-off is KV-cache transfer over RDMA. We estimate roughly 290 MB for an 8,192-token DeepSeek-R1 FP8-KV prefill.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Currently on InferenceX, AMD&amp;#8217;s disaggregated inference configs often perform either worse or only slightly better than their single node counterparts. For DeepSeek-R1, iso-interactivity throughput for MoRI SGL outperforms the aggregated SGL config by 2&amp;#215;&amp;#8211;3&amp;#215;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7tBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5991c01-9f5d-47a8-be39-cdfb3789dde4_2504x1424.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="828" src="https://substackcdn.com/image/fetch/$s_!7tBo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5991c01-9f5d-47a8-be39-cdfb3789dde4_2504x1424.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis InferenceX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;WideEP spreads experts across more GPUs and nodes instead of replicating full expert islands. On DeepSeek-R1 (256 routed experts), moving from EP8 on a single 8-GPU node to EP64 across 64 GPUs cuts experts per GPU from 32 to 4, freeing HBM for KV cache, enabling larger concurrent batches (and thus more tokens per expert per GEMM), and scaling aggregate HBM bandwidth with cluster size. The payoff is not subtle: NVIDIA reports &lt;/span&gt;&lt;a href="https://nvidia.github.io/TensorRT-LLM/blogs/tech_blog/blog15_Optimizing_DeepSeek_V32_on_NVIDIA_Blackwell_GPUs"&gt;&lt;span&gt;up to 2.28&amp;#215; higher per-GPU output throughput from Wide-EP&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (DeepSeek-V3.2, NVFP4, GB200 NVL72, EP16/EP32 vs EP4/EP8). As we emphasized in InferenceX v2, frontier labs and most TaaS providers are already deploying disaggregated serving with WideEP in production.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Put differently, ATOM and AITER are useful only insofar as they improve the mainstream ecosystem. We have argued that ATOM may help single-node performance but still lacks production features such as NVMe or CPU KV-cache offload, tool parsing, and WideEP. The right strategy is not to build an AMD-only island. It is to upstream the kernels, harden CI, publish recipes, and make FP4 + WideEP + disagg + cache offload work together in the default open-source stacks. That is how the CUDA moat gets eroded now.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Disaggregated Inference Accuracy&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Before March 2026, DeepSeekR1 disaggregated configs with DP-attention(DPA) failed accuracy evals with near 0 GSM8K scores, while no-DPA sweeps passed GSM8K at &amp;gt;95%. This was caught with InferenceX eval runs. This shows that no-DPA disaggregated path can preserve correctness, but once DPA is used, the stack breaks, showing AMD&amp;#8217;s composition problem again. This issue has, however, been fixed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One issue that has not been fixed is EP at certain batch sizes in SGLang with the MoRI backend. On DeepSeek-R1, &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/issues/27194"&gt;&lt;span&gt;decode with concurrency 64 drops GSM8K to ~80% against a ~94% baseline&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that holds at every other concurrency. The catastrophic version of this bug, where the same low-concurrency path silently produced fluent-but-wrong output and scored 0 on GSM8K, was traced to an uninitialized reduce buffer in AITER&amp;#8217;s FP4 MoE kernel and patched in June; the residual ~80% cliff at concurrency 64 is still open, with AMD attributing it to numerical corner cases in the quantization kernels that only that batch size exercises and declining to prioritize a fix.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!vcQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9749f416-3ee8-4344-b512-8deade685442_2644x1490.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="821" src="https://substackcdn.com/image/fetch/$s_!vcQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9749f416-3ee8-4344-b512-8deade685442_2644x1490.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference?i_hc=1&amp;amp;i_xmode=interactivity&amp;amp;g_model=DeepSeek-R1-0528&amp;amp;g_rundate=2026-07-08&amp;amp;g_runid=28916523710&amp;amp;i_seq=8k%2F1k&amp;amp;i_prec=fp4%2Cfp8&amp;amp;i_active=mi355x_mori-sglang_mtp"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Composition Works&amp;#8230; Sometimes&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;AMD has now demonstrated that several of these optimizations can compose: SGLang&amp;#8217;s MI355X nightly images cover DeepSeek-V4 disaggregation with DP-attention, EP8, and MTP, while four-node DeepSeek-V4 and Kimi WideEP16 configurations have been validated on hardware. But composition remains model- and topology-specific rather than dependable by default. Kimi&amp;#8217;s DP8/EP8 path was excluded after a GPU memory fault, its WideEP16 int4 decode path currently must disable HIP graph capture, and the WideEP16 CI changes remain under review. The gap is no longer that the individual pieces never work together. It is that AMD cannot yet assume they will work together across models, quantization formats, parallelism strategies, speculative decoding, and network topologies without special cases.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Disaggregated Inference Has to Become Everyone&amp;#8217;s Job&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Disaggregated inference cannot sit in a small specialist corner of AMD. AMD&amp;#8217;s own &lt;/span&gt;&lt;a href="https://rocm.docs.amd.com/en/latest/how-to/rocm-for-ai/inference/index.html"&gt;&lt;span&gt;ROCm tutorial&lt;/span&gt;&lt;/a&gt;&lt;span&gt; says single-node optimization is starting to hit limits, and that distributed inference is becoming more important; ROCm followed that with official &lt;/span&gt;&lt;a href="https://rocm.docs.amd.com/projects/ai-developer-hub/en/latest/notebooks/inference/SGlang_PD_Disagg_On_AMD_GPU.html"&gt;&lt;span&gt;Mooncake PD-disaggregation docs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in December 2025 and &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sgl-learning-materials/blob/main/slides/amd_meetup_aiter_mori.pdf"&gt;&lt;span&gt;MoRI-based distributed inference docs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in January 2026. Once the official stack is publishing xP+yD topologies, RDMA requirements, 1P2D recipes, and KV-transfer frameworks, DI is not a side quest. DI is the product. It must become everyone&amp;#8217;s job across ROCm, SGLang integration, CI, recipes, and performance engineering.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;That is the AMD software story so far. The single-node path is getting fixed. MoRI is promising. The overlap stack is finally showing up. But the market is already on to SBO, PD disaggregation, load balancing, and wider EP configurations that must compose cleanly under real production constraints. AMD no longer needs one more hero optimization. It needs the entire distributed inference stack to start moving as one system.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Where AMD Stands: The Distributed Stack, Piece by Piece&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;MoRI: A Real Win, Built by One Tiger Team &amp;#128047;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;MoRI, to AMD&amp;#8217;s credit, is a real win. MoRI is a modular RDMA framework with two dedicated components: MoRI-EP for expert dispatch/combine and MoRI-IO for KV transfer. ROCm has now published official MoRI-based distributed SGLang documentation for MI355X clusters. It is built from first principles by a China-based engineering team. We support the direction, but it needs much more open CI and testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD's own MoRI roadmap makes the scale problem concrete. The &lt;/span&gt;&lt;a href="https://github.com/ROCm/mori/issues/348"&gt;&lt;span&gt;H2 2026 roadmap&lt;/span&gt;&lt;/a&gt;&lt;span&gt; lays out an ambitious program across three subsystems: a tiered distributed KV cache (HBM&amp;#8594;DRAM&amp;#8594;NVMe via SPDK/GDS) with scheduler co-design, a next-generation SHMEM v2, EP v2 kernels in FlyDSL/C++ with elastic expert-parallelism and fault tolerance, "mega kernel" codesign with FlyDSL, and rack-level Helios enablement. Topped off with SGLang and vLLM upstreaming. The whole list is owned by the same five or six engineers whose handles dominate MoRI's merged pull requests. It is the right roadmap. It is also, as of publication, entirely still ahead of the team &amp;#8212; resting on the same handful of shoulders.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;The Newest Silicon Shows the Gap: Helios (gfx1250)&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;The clearest measure of how far the distributed stack still has to go is AMD&amp;#8217;s newest hardware. Across every layer of the Helios (gfx1250 / MI455X) stack the same shape repeats: single-model arch-enablement and KV-transfer plumbing are landing fast, while WideEP, validation, and the wave32-tuned high-value kernels are not there yet.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Start at the foundation. PyTorch&amp;#8217;s own gfx1250 support merged in mid-July (&lt;/span&gt;&lt;a href="https://github.com/ROCm/pytorch/pull/3421"&gt;&lt;span&gt;ROCm/pytorch #3421&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a cherry-pick of an upstream change that landed, was reverted a day later, and re-landed a week after), but it is pure build-time arch plumbing gated behind an unreleased ROCm 7.14+, so it is dormant on every shipping wheel. It ships with no gfx1250 CI, deferring a test runner to a follow-up that does not exist. It is a skeleton: the highest-value paths (Composable Kernel GEMM and SDPA, FP8 grouped GEMM, int4) are filtered out or hard-error, attention is a &amp;#8220;Tech Preview,&amp;#8221; and wave32 kernels are unwritten. AMD&amp;#8217;s code even brands the part &amp;#8220;CDNA5&amp;#8221; while describing a GFX12.5, wave32, WMMA execution model, the clearest in-tree measure of how far Helios sits from the CDNA wave64 lineage its kernels were written for.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!HPeN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0311e255-3093-439b-8cf3-0b5130f7b462_1324x458.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="458" src="https://substackcdn.com/image/fetch/$s_!HPeN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0311e255-3093-439b-8cf3-0b5130f7b462_1324x458.png" width="1324" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/ROCm/pytorch/pull/3421/changes#diff-9b18bbaca027737173099a4fd1766ad9ce03c982f430852a09cc6c76aa365bb4R191"&gt;https://github.com/ROCm/pytorch/pull/3421/changes#diff-9b18bbaca027737173099a4fd1766ad9ce03c982f430852a09cc6c76aa365bb4R191&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;One layer up, the raw MoE kernels are the fastest-moving piece of the stack. AMD&amp;#8217;s aiter and FlyDSL libraries have absorbed well over a hundred gfx1250 PRs since spring: wave32/WMMA GEMMs, MXFP4/A8W4 quant, MLA-v4 attention, TDM data-movement atoms. Roughly a quarter of them closed without merging. The centerpiece is the AMD-native &amp;#8220;MegaMoE&amp;#8221; path: a fused MoE expert-parallel flow whose dispatch/combine op-layer was &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4260"&gt;&lt;span&gt;vendored into aiter&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and whose gfx1250 grouped-GEMM kernel(global&amp;#8594;local expert remap, fused route/scatter, and a masked grouped GEMM tuned for DeepSeek-V4&amp;#8217;s 384-expert MoE) is &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/4165"&gt;&lt;span&gt;still-open&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, validated for a8w4 (FP8-activation, MXFP4-weight) only. This is the WideEP MoE primitive the stack needs; it just isn&amp;#8217;t finished, and the &lt;/span&gt;&lt;a href="https://github.com/ROCm/FlyDSL/pull/397"&gt;&lt;span&gt;gpt-oss&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, R1, and V4 kernels each land on their own track.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The break is at the integration layer, where those kernels meet the frameworks. SGLang&amp;#8217;s &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/32043"&gt;&lt;span&gt;July 22 gfx1250 nightly&lt;/span&gt;&lt;/a&gt;&lt;span&gt; only builds and publishes the image. No test job, no accuracy gate, built on a generic runner and merely mirrored through an MI300, because no gfx1250 runner exists upstream. That image builds MoRI but pins a June commit predating gfx1250 support, so MoRI-EP WideEP does not run: the kernels carry no matrix-core or wave64-specific ISA, but MoRI&amp;#8217;s build gates only gfx942/gfx950 and the &lt;/span&gt;&lt;a href="https://github.com/ROCm/mori/pull/466"&gt;&lt;span&gt;wave32 support AMD has since added&lt;/span&gt;&lt;/a&gt;&lt;span&gt; lives in a newer expert-parallel path that SGLang&amp;#8217;s integration does not yet call. Once AMD wires that into the path SGLang uses, WideEP should work. MoRI-IO&amp;#8217;s KV-transfer half is architecture-agnostic host-side RDMA and would move KV cache on gfx1250 today, yet the actual gfx1250 recipes for DeepSeek-V4 and R1 are single-node tensor-parallel with neither WideEP nor disaggregation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;vLLM&amp;#8217;s &lt;/span&gt;&lt;a href="https://github.com/vllm-project/vllm/pull/46516"&gt;&lt;span&gt;gfx1250 bring-up&lt;/span&gt;&lt;/a&gt;&lt;span&gt; tells the same story from the other side: four models on the FFM simulator and early silicon with volatile results, dedicated perf work only for gpt-oss, whose &amp;#8220;ATOM-parity&amp;#8221; tuning pass was itself reverted &amp;#8220;until AITER is ready&amp;#8221;. MoRI was also removed from the build outright. It is a credible single-node FP4 bring-up; but it is not the distributed stack&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Qtor!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4779c9ff-eb0a-4192-85bf-6afbf539a20e_1288x614.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="614" src="https://substackcdn.com/image/fetch/$s_!Qtor!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4779c9ff-eb0a-4192-85bf-6afbf539a20e_1288x614.png" width="1288" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Source: &lt;a href="https://github.com/vllm-project/vllm/pull/46516"&gt;https://github.com/vllm-project/vllm/pull/46516&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Even AMD&amp;#8217;s own engine follows the pattern. ATOM&amp;#8217;s Helios work is disaggregation-first and expert-parallel-later: &lt;/span&gt;&lt;a href="https://github.com/ROCm/ATOM/pull/1594"&gt;&lt;span&gt;ATOM adds DeepSeek-V4 MoRI-IO write-push KV transfer&lt;/span&gt;&lt;/a&gt;&lt;span&gt; plus a UALink scale-up fabric backend &amp;#8212; the Helios-generation interconnect &amp;#8212; so the KV-transport half of disaggregation is being built for exactly the model and fabric Helios will run, though its e2e validation ran on eight MI355X nodes and a UALink vPOD rather than MI455x. But it carries no EP dispatch/combine, no MoRI-EP, no WideEP; ATOM&amp;#8217;s shipped DeepSeek-V4 recipe still serves the model at TP=8 on a single node, and every one of its MoRI-EP PRs targets last-generation gfx942/gfx950. Bottom to top:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;PyTorch, kernels, MoRI, frameworks, ATOM, Helios has arch enablement and the first half of disaggregation, and no WideEP anywhere.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;SemiAnalysis Helping AMD upstream into NVIDIA&amp;#8217;s KVCache Transfer Library NIXL&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;At Nvidia&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.nvidia.com/en-us/on-demand/session/gtc25-s72583/"&gt;&lt;span&gt;GTC 2025 NCCL session&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we asked if Nvidia would provide support to the AMD communication library fork due to this big refactor in the upcoming Nvidia&amp;#8217;s communication library. Nvidia explicitly said it would not help AMD&amp;#8217;s communication team adapt to the upcoming NVIDIA library refactor, and that NVIDIA doesn&amp;#8217;t participate in AMD&amp;#8217;s communication development at all&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A year later, at Nvidia&amp;#8217;s GTC 2026 Dynamo session, we asked a question: NIXL had already accepted upstream contributions from Trainium&amp;#8217;s Neuron fork, so would it accept them from AMD&amp;#8217;s RIXL fork too? The maintainers said yes, on the record, in front of a room.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;AMD had been carrying RIXL downstream, burning engineering hours maintaining a parallel copy of infrastructure everyone else gets for free. The only thing standing between AMD and upstream was whether anyone would try. NVIDIA had just removed the excuse.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;So we spent April making sure AMD knew it. We &lt;/span&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7446965325176360960?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7446965325176360960%2C7447006653369032704%29&amp;amp;replyUrn=urn%3Ali%3Acomment%3A%28activity%3A7446965325176360960%2C7447058805529505792%29&amp;amp;dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287447006653369032704%2Curn%3Ali%3Aactivity%3A7446965325176360960%29&amp;amp;dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287447058805529505792%2Curn%3Ali%3Aactivity%3A7446965325176360960%29"&gt;&lt;span&gt;put the question to Stephen Bates publicly on LinkedIn&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href="https://x.com/SemiAnalysis_/status/2041632398446866594?s=20"&gt;&lt;span&gt;offered Anush help to connect AMD directly to the NIXL maintainers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and asked Anush about MoRI/RIXL upstreaming in person during TensorWave&amp;#8217;s beyond summit and we helped AMD form the relationship with NVIDIA so that they can upstream the patches.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On May 15, AMD&amp;#8217;s Andy Luo opened a &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/nixl/pull/1642"&gt;&lt;span&gt;PR&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for ROCm/HIP build support for gfx942 (MI300X, MI325X) and gfx950 (MI350X, MI355X), behind a default-off use_rocm Meson flag. It merged June 4 after several rounds of review with NVIDIA-side maintainers.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Andy&amp;#8217;s PR cleared review by proving zero blast radius on the CUDA path. On the AMD side it validated end-to-end VRAM transfers over NIXL+UCX on MI300X and MI355X. The stacked follow-up, #1647, hit 341 Gb/s cross-node RDMA on two MI355X nodes using AMD&amp;#8217;s own AINIC RoCE NICs and libionic driver, with no Mellanox NIC in the path. Today, RIXL has been fully ported to NIXL. &lt;/span&gt;&lt;a href="https://github.com/ai-dynamo/dynamo/pull/9929"&gt;&lt;span&gt;Dynamo core has since started taking AMD patches too&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!2gLb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33f80999-74ee-4337-ad35-4146cce9bda0_1858x576.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="451" src="https://substackcdn.com/image/fetch/$s_!2gLb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33f80999-74ee-4337-ad35-4146cce9bda0_1858x576.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://github.com/ROCm/RIXL"&gt;https://github.com/ROCm/RIXL&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;NIXL is the transport layer for disaggregated serving, so if AMD wants PD disagg and WideEP to be dependable rather than model-specific, KV transfer has to work on Instinct in the frameworks people actually deploy, not just inside MoRI. Nobody at AMD should have needed us to point that out. The gaps that remain say the same thing: nixlbench HIP support and the ROCm Dockerfile/CI surface landed as separate follow-ups, an AMD GPU CI runner is still an offer rather than a merged workflow, and rocSHMEM is a future plugin.&lt;/p&gt;&lt;h2&gt;The Overlap Stack Is Late, and the Market Has Already Moved On&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Two-batch overlap (TBO) should have been table stakes a long time ago. SGLang &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/issues/4042?timeline_page=1"&gt;&lt;span&gt;put overlapping two batches and expert parallelism on the 2025 H1 roadmap&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and the &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/blob/main/docs/advanced_features/expert_parallelism.md"&gt;&lt;span&gt;public docs&lt;/span&gt;&lt;/a&gt;&lt;span&gt; now expose `--enable-two-batch-overlap` with claims of up to 2&amp;#215; throughput. AMD&amp;#8217;s own November 2025 DeepSeek-on-MI300X writeup still described dual-batch overlap as an essential feature that was &amp;#8220;still being developed,&amp;#8221; with future work centered on dual-batch overlap and expert load balancing. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/17953"&gt;&lt;span&gt;MORI EP support for two-batch overlap only merged into SGLang on February 20, 2026.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; That is late.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The maturity gap showed up immediately. &lt;/span&gt;&lt;a href="https://github.com/sgl-project/sglang/pull/17953#issuecomment-3941391203"&gt;&lt;span&gt;Days after merging, a maintainer flagged the PR for breaking CI and asked for it to be reverted and reopened after fixes.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; That is the broader ROCm inference story in miniature: the ingredients are increasingly there, but too many key optimizations still arrive late, land fragile, and need another turn before they become something customers can trust by default.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Part 3: AMD Competitive on Total Cost of Ownership &amp;amp; up to 105% Discount for OpenAI/Meta&lt;/span&gt;&lt;/h1&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/can-amd-break-the-cuda-moat-amd-advancing"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-24T16:33:23+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference</id>
    <title>Vera Rubin NVL72 vs GB200 NVL72? Inference TCO &amp; Architecture Analysis</title>
    <updated>2026-07-22T16:47:48+00:00</updated>
    <author>
      <name>Alec Ibarra</name>
    </author>
    <content type="html">&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;Vera Rubin NVL72 is the second generation of Nvidia&amp;#8217;s rack-scale Oberon architecture, and its gains on inference come from extreme co-design&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Early results from engineering samples are encouraging. Vera Rubin NVL72 running DeepSeek R1 delivers 5.4x performance per MW and 5x performance per dollar over GB200 NVL72 today, and the gap is even wider against GB200 NVL72 during its early bringup in 2025. Vera Rubin is still in the early bringup stage now, so we expect the gap to continue widen. Rubin's inference performance will keep improving as software matures, the same pattern we demonstrated for Blackwell in our &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;InferenceX benchmarks&lt;/a&gt;&lt;span&gt;, and Rubin still has a long runway ahead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/cuda-toolkit-release-notes/index.html"&gt;&lt;span&gt;Nvidia has also recently made available their first public release of the Rubin (SM_107) software stack with CUDA13.4&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and has upstreamed Rubin PRs to PyTorch, vLLM and OpenAI Triton Compiler. Blackwell was not able to reuse Hopper WGMMA kernels, Rubin is able to reuse Blackwell's kernels, which makes the software bring up process much smoother. For speed of light (SOL) performance, engineers will still need to tune and rewrite kernels but for those that are focused on time to market, Blackwell kernels can be reused. We will also explain Rubin&amp;#8217;s new 3 bit programmable LUT tensor core. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA has also released on GitHub that Feynman is SM_140.  &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Unlike Blackwell to Rubin, Rubin to Feynman will be an much more complex transition on the kernel front.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The early metrics gathered on VR NVL72 come from CoreWeave. We have not independently verified them. Nvidia has committed to submitting verifiable numbers to InferenceX by Q3 CY2026. Google should submit TPUv7 results in the next couple of months, and AMD has committed to MI455X UALoE72. Once those land, the ecosystem gets an objective comparison across systems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article we break down Nvidia's Rubin claims against several baselines, showing where Rubin clearly leads Blackwell and where the lead is thinner. We will also analyze Rubin&amp;#8217;s performance per total cost of ownership using our already existing estimates for Rubin&amp;#8217;s total cost of ownership (TCO). The TCO for Rubin and many other systems is sourced from our &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt; AI TCO model, which tracks the total cost of ownership of different AI chips, factoring in capex, opex and different other expenses.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; We also consider performance per watt using our&lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt; All-in Utility Provisioned Power Estimates from our Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, we will present &lt;/span&gt;&lt;a href="https://semianalysis.com/vr-nvl72-model/"&gt;&lt;span&gt;a component by component build up of the Bill of Materials (BoM) for the VR NVL72. This is available in our upcoming SemiAnalysis Bill of Materials (BoM) Model.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another area where Rubin Oberon NVL72 will fare better than Blackwell Oberon NVL72 is in a much faster production ramp period. This is thanks to Rubin&amp;#8217;s simpler cableless compute tray design and learnings from Nvidia&amp;#8217;s experience with deploying a rack-scale copper backplane, having invested much effort into ironing out issues with Blackwell&amp;#8217;s copper backplane. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Our Accelerator Model tracks quarter by quarter shipments of Rubin at both the package level and the rack level.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xB_f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42660b70-c898-4e6b-a117-7490baf5ae4c_733x1702.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1690.3849336590317" src="https://substackcdn.com/image/fetch/$s_!xB_f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42660b70-c898-4e6b-a117-7490baf5ae4c_733x1702.png" title="" width="727.9977416992188" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;SemiAnalysis VR NVL72 BoM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;A Brief &lt;/span&gt;Breakdown of Rubin &lt;span&gt;Chip-Level Microarchitecture Features &lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Going through a complete breakdown of Rubin microarchitecture will have to wait until we obtain ssh access to Rubin systems, allowing us to run &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/dissecting-nvidia-blackwell-tensor"&gt;&lt;span&gt;benchmarks similar to those we carried out when first analyzing Blackwell.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; However, there are still a few interesting points we can still make.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We expect that Rubin bringup will be much more seamless compared to the transition from Hopper to Blackwell, where engineers expended much effort just to port kernels to Blackwell. This simplicity comes from the fact that Rubin is able to run Blackwell SM100-family kernels across all the important kernel libraries in DeepGEMM, FlashMLA, CUTLASS, among others. Moving from Hopper to Blackwell meant rewriting kernels from scratch. Hopper&amp;#8217;s kernels don&amp;#8217;t run on Blackwell at all.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Reusing Blackwell SM100 kernels means a clear time to market advantage, but for speed of light (SOL) performance, engineers will still need to tune and rewrite kernels specifically for the Rubin architecture, though kernel reuse buys them time to focus much more on this kernel tuning.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Turning to architectural details, Rubin&amp;#8217;s SMEM increased to 328 KiB compared to Blackwell&amp;#8217;s 228 KiB. While the default SMEM capacity is 228 KiB, &lt;/span&gt;&lt;a href="https://github.com/triton-lang/triton/blob/24fcd59d53e42c7fe7b696c235d12ce039af1015/third_party/nvidia/backend/driver.c#L984-L993"&gt;&lt;span&gt;Rubin comes with an oversized shared memory mode&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that allows increase to 328 KiB. Furthermore, TMEM has been increased to 256 KiB up from 288 KiB in Blackwell as the number of columns increased from 512 to 576. The additional columns will allow stashing block scale factors, while keeping the TMEM region for accumulators disjointed from it. &lt;/span&gt;&lt;a href="https://x.com/ReubenConducts/status/2078514481261400109"&gt;&lt;span&gt;This greatly simplifies block-scaled kernel logic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: it saves the kernel writers from carefully pipelining and overlapping MMA matrix and block scaling factor loads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!cmuK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729583a2-4a7d-482b-b86d-bc0f4b46165b_1446x400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="400" src="https://substackcdn.com/image/fetch/$s_!cmuK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729583a2-4a7d-482b-b86d-bc0f4b46165b_1446x400.png" width="1446" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/triton-lang/triton/pull/10936"&gt;Source: OpenAI&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rubin's TMA now supports inline descriptor updates. There are tons of use cases for this. For example, &lt;/span&gt;in an MoE layer, each expert is a separate weight matrix at its own address in HBM, so the TMA descriptor has to point somewhere new on every expert switch. On Blackwell, that meant rewriting the descriptor in memory and synchronizing before the next load. Now, with Rubin, the per-expert offset is passed inline to the TMA instruction so that one descriptor covers all experts, with no in-memory rewrite between them.&lt;span&gt; &lt;/span&gt;This removes overhead during token dispatch and improves decode speed at low batch sizes.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YoQ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d63dbe-3c0a-4ab1-af16-311df88dc55e_2388x852.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="519" src="https://substackcdn.com/image/fetch/$s_!YoQ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d63dbe-3c0a-4ab1-af16-311df88dc55e_2388x852.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Inline TMA descriptor update corresponds to the &lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-overriding-tensor-property-value"&gt;ISA feature &lt;/a&gt;&lt;code&gt;.override&lt;/code&gt;&lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-overriding-tensor-property-value"&gt; qualifiers&lt;/a&gt;. TMA instructions require a &lt;code&gt;tensorMap&lt;/code&gt; object that specifies layout and format metadata. By using the &lt;code&gt;.override&lt;/code&gt; qualifier, bulk asynchronous copy instructions can reuse the &lt;code&gt;tensorMap&lt;/code&gt; object as a template, but replacing certain metadata fields, such as strides. In the case of MoE, expert weights have identical shapes, data types, and properties. By overriding the global address, kernel writers can avoid duplicating or replacing &lt;code&gt;tensorMap&lt;/code&gt; objects when loading different experts.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Rubin doubles BF16/FP16 exponential throughput per clock per SM again, which helps overlap Tensor Core work with softmax during attention. FP32 throughput is unchanged from Blackwell Ultra.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8KrA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374c0103-f8ca-484c-88a3-7669ff9f63cb_1674x1314.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1143" src="https://substackcdn.com/image/fetch/$s_!8KrA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374c0103-f8ca-484c-88a3-7669ff9f63cb_1674x1314.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Compared to Blackwell NVFP4/MXFP4 Tensor Cores which could only accept UE4M3/UE8M0 block scale factor format, On Rubin Tensor cores, it will now be able to accept UE5M3 8 bit block scale factor too. This additional block scale format will allow for more flexibility and less quantization error is certain cases due to its wider range.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eSOM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1122cc-b6a4-4d16-868f-5eb30f436322_1476x602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="594" src="https://substackcdn.com/image/fetch/$s_!eSOM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1122cc-b6a4-4d16-868f-5eb30f436322_1476x602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NVIDIA PTX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is also important to note that latency has improved for SM-driven NVLink communications through the use of counted writes, which reduces the number of back and forth messages required to send data between GPUs over the copper backplane. This is a huge deal because Blackwell NVLink latency is multiple times higher than that of TPU and Trainium.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IGl8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f99ec0-fa42-4e36-8f05-a83b0043cfc6_1926x936.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="708" src="https://substackcdn.com/image/fetch/$s_!IGl8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f99ec0-fa42-4e36-8f05-a83b0043cfc6_1926x936.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rubin&amp;#8217;s Tensor core delivers twice the throughput for FP8 and FP4 as compared to Blackwell. A key change driving this is doubling the k dimension as this means in theory, a GEMM takes half the number of clock cycles to execute. Additionally, the awkward K=96/3xFP4 instructions from Blackwell Ultra are still present, but alongside a new K=128 variant.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MuhX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e28e3-954f-48e2-bad3-b44f85adda32_1830x1070.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="851" src="https://substackcdn.com/image/fetch/$s_!MuhX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e28e3-954f-48e2-bad3-b44f85adda32_1830x1070.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In Blackwell, PDL allowed for overlap at the grid level, where the dependent grid needs to wait for all threadblocks in the previous kernel to complete before starting. This allowed for some overlap and hiding of the ramp-down and ramp-up time between kernels, but didn&amp;#8217;t come close to the extremely fine-grained overlap that trendy megakernel authors look to achieve. In Rubin, finer-grained overlap is enabled, where the dependent kernel can synchronize with the previous kernel at the threadblock level instead.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dgKk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4479f441-71ca-4062-afcb-8afdbb51c1ff_1992x1176.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="860" src="https://substackcdn.com/image/fetch/$s_!dgKk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4479f441-71ca-4062-afcb-8afdbb51c1ff_1992x1176.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Rubin has 2.8x higher global memory bandwidth than Blackwell Ultra through the use of 3D-stacked HBM4 memory. It is unlikely Rubin delivers any improvement versus Blackwell in memory system latency. &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Our Accelerator &amp;amp; HBM Model has an complete breakdown of the memory volumes estimates &amp;amp; vendor used in Rubin.&lt;/a&gt; &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GitC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7b56e2c-d3ba-4a41-944b-cf10be152b97_1726x1258.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1061" src="https://substackcdn.com/image/fetch/$s_!GitC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7b56e2c-d3ba-4a41-944b-cf10be152b97_1726x1258.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rubin adds 2:4 sparsity support for activations. In every group of four values, two are kept and two are zeroed. The pattern is regular, so the Tensor Core knows where the survivors are, skips the rest, and runs the MMA at twice the rate. A small metadata field tracks which slots were kept.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia shipped 2:4 on weights back in Ampere and nobody used it, because it meant pruning the model and retraining. Rubin applies it to activations at runtime, so no retraining is needed. In attention, QK^T runs dense, then the scores get compressed on the way out of Tensor Memory. Softmax processes only the survivors, and the following GEMM against V runs sparse. The output stays dense, so nothing else in the model changes. It works on MLP activations too.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia has published no accuracy data, and throwing out half the attention scores before softmax is not obviously free. CoreWeave&amp;#8217;s DeepSeek R1 results do not appear to use it either, which makes it another Rubin feature with silicon today and no tuned kernels behind it yet.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8jaa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15caa76-8148-4a55-ac11-7e82c0e86db4_1720x1436.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1216" src="https://substackcdn.com/image/fetch/$s_!8jaa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15caa76-8148-4a55-ac11-7e82c0e86db4_1720x1436.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Lookup Table Weight Decompression in Rubin SM107 Tensor Core&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Rubin adds LUT B, a Tensor Core MMA mode that decompresses the weight operand from a lookup table. In this mode, the B operand is a compressed matrix of indices. In a standard inference GEMM, the B operand holds the weights. The weight values live in a lookup table in Tensor Memory. The Tensor Core reads each index and reconstructs the weight value inside the MMA. There is no separate dequantization pass. After lookup, the multiply runs at FP8.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In LUT B, every weight position stores a 3-bit index rather than a complete numerical value. The index selects one of eight E4M3 values in the lookup table shared by that weight&amp;#8217;s 8&amp;#215;64 block. For example, if the stored index is &lt;/span&gt;5&lt;span&gt;, the Tensor Core uses entry 5 from that block&amp;#8217;s lookup table as the weight. The lookup happens inside the MMA, so the kernel never has to construct a separate decompressed weight matrix.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_p36!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa47edc6f-b509-4b65-aa1c-c5f73044ec3d_2192x1282.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!_p36!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa47edc6f-b509-4b65-aa1c-c5f73044ec3d_2192x1282.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/pdf/ptx_isa_9.4.pdf"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The lookup table (LUT) does not have to follow the spacing of a conventional uniform or floating-point grid. A quantization algorithm can therefore place more values around dense clusters of weights, use uneven spacing for long tails, or choose an asymmetric codebook when positive and negative weights have different distributions.&lt;/p&gt;&lt;p&gt;&lt;span&gt;This flexibility creates the possibility of better &lt;/span&gt;accuracy per stored bit&lt;span&gt;. Rubin LUT B has fewer individual codes than FP4, but it can place those codes where a particular weight group needs them rather than accepting the fixed ratios of E2M1. It is not automatically more accurate than MXFP4 or NVFP4, however. One codebook is shared across 512 weights, whereas NVFP4 adapts its scale over much smaller groups of 16. The result will depend on the codebook-fitting algorithm, calibration data, quantization-aware training and whether sensitive layers remain at higher precision.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each index is 3 bits while the lookup table has 8 entries. Each entry is one byte, an E4M3 8-bit float in the reference kernel. This results in 3.125 bits per weight: 3 bits for the index, plus 64 bits of codebook spread across 512 weights. The codebook sits in HBM with the indices, so 3.125 bits per weight is the full stored footprint. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The instruction loads the compressed weights into the collector buffer. The Tensor Core can hold them there and reuse them across a run of activation tiles. This is a weight stationary pattern. The mode also has limits as it does not support transpose of the B matrix.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The block-scaled formats, NVFP4 and MXFP, also decompress inside the MMA. But they apply one uniform scale per block, not a codebook. Software methods like AWQ reach low bit counts by running a separate dequantization step before the matmul, Rubin is the first NVIDIA Tensor Core input format that reconstructs a non-uniform codebook inside the MMA.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eWMD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60b0243-309e-4ed7-a03d-0977dc045cb9_2856x782.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="399" src="https://substackcdn.com/image/fetch/$s_!eWMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60b0243-309e-4ed7-a03d-0977dc045cb9_2856x782.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A lower bit rate cuts the HBM capacity that the weights need. It also cuts the bytes that the GPU reads for each weight. At low batch size, weight bandwidth limits the decode step. Fewer bytes per weight then raise decode throughput. A non-uniform codebook also holds accuracy better than uniform rounding at the same bit count. This feature should also have an impact on power efficiency, as fewer bits will need to move through the memory system for each flop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Using Kimi K3 2.8T as an example, at about 4.5 bits per weight, MXFP4 stores 2.8e12 x 4.25 / 8 = about 1,4875 GB, where GB = 1e9 bytes. At 3.125 bits per weight, the Rubin lookup-table format stores 2.8e12 x 3.125 / 8 = about 1,094 GB (about 1.09 TB). The difference is about 393.5 GB. These figures cover the raw weight payload only, and exclude the KV cache, activations, and any parallelism replication. At 288 GB of HBM4 per Rubin package, the weights alone need about 6 packages in NVFP4 and about 4 packages in the new Rubin format.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;Feynman Architecture Sneak Peak&lt;/h1&gt;&lt;p&gt;From Blackwell (SM100)/Blackwell Ultra to Rubin (SM107), the jump is relatively small in terms of the microarchitecture, so Rubin can be thought of as a Blackwell kicker architecture. In comparison, Feynman (sm_140) is a completely new architecture  family. This will require rewriting lots of kernels from Rubin to Feynman, which is similar to what happened from Hopper WGMMA to Blackwell tcgen05. &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Our Accelerator &amp;amp; HBM Model provides a full breakdown of Feynman quarter by quarter volume estimates. &lt;/a&gt;&lt;/p&gt;&lt;p&gt;Feynman&amp;#8217;s 3D stacking will be similar to what AMD has been doing with 3D stacking since their MI300X with CDNA3.&lt;/p&gt;&lt;p&gt;One of the new features of the Feynman architecture is that it will contain sparsity aware data movement ops. These can be used in sparse GEMMs to improve performance by avoiding pointless loads, stores and FMAs. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SOmE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0880df-bf99-4b05-b28e-a82003b23ea1_1698x782.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="671" src="https://substackcdn.com/image/fetch/$s_!SOmE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0880df-bf99-4b05-b28e-a82003b23ea1_1698x782.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Nuances of CoreWeave VR NVL72 Results&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;Yesterday, CoreWeave published their benchmarked Vera Rubin NVL72 Inference results expressed in units of performance (tokens/sec) per power used (MW). We will break down the nuances of their data and compare their results against Blackwell&amp;#8217;s performance using our own InferenceX July 2026 results as a baseline. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7kUR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36030902-acf3-4508-915b-74430673b5e7_2446x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="821" src="https://substackcdn.com/image/fetch/$s_!7kUR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36030902-acf3-4508-915b-74430673b5e7_2446x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The first notable claim on the CoreWeave-Nvidia chart is that VR NVL72 achieves 10x better token throughput per megawatt than GB200 NVL72 at the iso-interactivity of ~150 tok/s/user. This is about 50% faster than today&amp;#8217;s &amp;#8220;fast mode&amp;#8221; on frontier models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three things about their chart. The benchmark is single-turn, 8k in and 1k out. The y-axis is output token throughput per megawatt, not total throughput. And their power number covers &lt;/span&gt;&lt;strong&gt;&lt;span&gt;both prefill and decode GPUs&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, even though only output tokens are counted. InferenceX measures output throughput against &lt;/span&gt;&lt;strong&gt;&lt;span&gt;decode GPU watts only&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, so we renormalized our data to match theirs for this comparison.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is important to point out that CoreWeave claims to have enabled all of the following inference optimizations on both their baseline GB200 NVL72 and Rubin NVL72 performance results, including but not limited to:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;NVFP4 Precision&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Speculative Decoding (Using MTP)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Disaggregated Serving (Using Dynamo)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Wide Expert Parallelism&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;via TensorRT-LLM&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VxgO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc31e0b77-8ec9-44c8-b992-a90451548afd_2496x958.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="559" src="https://substackcdn.com/image/fetch/$s_!VxgO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc31e0b77-8ec9-44c8-b992-a90451548afd_2496x958.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The above results seem to suggest that Rubin comes to market with a strong performance gain vs Blackwell out of the gate. However, there are a few nuances that are worth unpacking.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, attentive readers will note that CoreWeave is comparing Rubin against a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;GB200 NVL72 2025 baseline&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. In some ways, comparing performance at the early stages of GB200 NVL72&amp;#8217;s lifecycle is fair, since Rubin performance is expected to massively improve from this early stage in its own lifecycle. Our analysis will also use the GB200 NVL72 early performance results from 2025, but we also compare how GB200 NVL72 did by 2026 as well as the most current GPU worth comparing to:&lt;/span&gt;&lt;strong&gt;&lt;span&gt; GB300 NVL72.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; We will directly compare GB300 NVL72 performance from early in 2026 with Rubin&amp;#8217;s comparable early lifecycle performance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!HBPr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e13e65-6627-4160-96e3-a9eecafd0bbc_1844x400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="316" src="https://substackcdn.com/image/fetch/$s_!HBPr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e13e65-6627-4160-96e3-a9eecafd0bbc_1844x400.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second nuance in CoreWeave&amp;#8217;s performance results is that they are using DeepSeek R1 671B, a model that is not widely used anymore. One would perhaps wish that CoreWeave used a more modern model like GLM5.2, Kimi K2.5, Qwen3.5, or DeepSeek V4. Even better would be Kimi K3 or Qwen3.8, both of which are &lt;/span&gt;&lt;a href="https://inferencemax.ai/"&gt;&lt;span&gt;coming soon to InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt;! At least CoreWeave is &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3676"&gt;&lt;span&gt;not using GPTOSS 120B in Summer 2026 like AMD is for MI455X UALoE72&lt;/span&gt;&lt;/a&gt;&lt;span&gt; performance metrics. We expect that the fog of war created by benchmarking old models will be cleared up once Nvidia starts benchmarking Rubin on more modern model architectures with InferenceX in Q3 CY2026.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Oddly enough, CoreWeave&amp;#8217;s choice of using DeepSeek R1 671B is theoretically more favourable towards the Blackwell baseline, and not Rubin. Rubin&amp;#8217;s main advantages lie in a higher HBM capacity, higher CPU DRAM capacity, and greater HBM bandwidth, meaning that Rubin is more optimized for multi-trillion parameter models like Fable 5, Gemini Pro, Kimi K3, and Qwen3.8 2.4T.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The third noteworthy item is that CoreWeave uses only single turn 8k/1k input/output tokens. Theoretically, multi-turn long context workloads like Agentic Coding should do better on Rubin, due to Rubin&amp;#8217;s higher HBM capacity and bandwidth, but this would not be captured on a simple single-turn benchmark. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/datasets/cc-traces-weka-062126"&gt;&lt;span&gt;Our upcoming AgentX benchmark scenario created in collaboration with Weka, LMCache, the vLLM/SGLang community, Nvidia, AMD, and many others in the community will provide a realistic agentic workload to benchmark inference performance.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; We encourage everyone to adopt this inference benchmark!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, we note that CoreWeave&amp;#8217;s testing was done on a pre-production rack without a scale-out fabric. Specifically, CoreWeave used a Dell Engineering Sample (ES) rack. We do believe these results are valuable as they use wide EP and PD disagg, which uses the NVL72 scale-up backplane and proves that it is working well. This backplane faced many reliability challenges during the ramp of GB200 NVL72 Oberon, &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;as we have noted in our Accelerator model.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PZWL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42febd6b-f82f-4f19-b85f-522f109aac87_1098x1552.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1552" src="https://substackcdn.com/image/fetch/$s_!PZWL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42febd6b-f82f-4f19-b85f-522f109aac87_1098x1552.png" width="1098" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://x.com/CoreWeave/status/2061146723200962763/photo/2"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Rubin Versus Blackwell Performance per MegaWatt&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The metric Nvidia chose to lead with was &amp;#8220;output tokens per second per all-in utility megawatt&amp;#8221;, counting every GPU in the system. To compare apples-to-apples, we renormalize our own InferenceX benchmark data onto the same total-GPU basis. Below, we put VR NVL72 up against our official GB200 and GB300 July 2026 benchmarks, as well as CoreWeave&amp;#8217;s 2025 GB200 baseline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The eye-catching multiples in Nvidia&amp;#8217;s charts all come from the 2025 baseline. When comparing benchmark data, we believe we should use figures from the same time period, so the July 2026 GB200 and GB300 benchmarks are the more useful comparison.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In theory, datacenter PUE can be lower for Vera Rubin &lt;/span&gt;&lt;a href="https://blogs.nvidia.com/blog/liquid-cooling-ai-factories/"&gt;&lt;span&gt;since Vera Rubin can operate with 45 degrees Celsius coolant temperatures in custom datacenters without chillers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. However, for our comparisons, since most datacenters are designed to accommodate a wide variety of systems, we use the same PUE across the DLC cooled chips.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following pareto curves plot output throughput per total-GPU megawatt against interactivity. Each line stops where its recipe&amp;#8217;s frontier ends.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FNvZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee917ba-0028-459d-a335-ce66c295df01_2048x1293.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="919" src="https://substackcdn.com/image/fetch/$s_!FNvZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee917ba-0028-459d-a335-ce66c295df01_2048x1293.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Next, we provide the same data in table form. When a cell says "impossible," we mean that the interactivity is past that recipe's frontier, simply not allowing the configuration to serve that workload at that speed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!moMr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a17747e-8857-443b-a4ab-218b517f1fdf_2048x593.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="422" src="https://substackcdn.com/image/fetch/$s_!moMr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a17747e-8857-443b-a4ab-218b517f1fdf_2048x593.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here is the same frontier as bars, across the 100 to 300 tok/s/user band. All four recipes have data through 250 tok/s/user, and only Rubin and GB300 make it to 300 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!46dJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06afa4a-0f30-436d-959f-bcebe37606b4_2048x691.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="491" src="https://substackcdn.com/image/fetch/$s_!46dJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06afa4a-0f30-436d-959f-bcebe37606b4_2048x691.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!F2Sw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07c6e89-f1a9-4b63-9ae2-dc951c74f6bf_1536x52.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="49" src="https://substackcdn.com/image/fetch/$s_!F2Sw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07c6e89-f1a9-4b63-9ae2-dc951c74f6bf_1536x52.png" title="" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s first compare Rubin against the July 2026 GB300 NVL72 baseline. Rubin&amp;#8217;s lead is smallest at low interactivity and continues growing through the middle of the interactivity curve. Rubin sits at near 2x the throughput as Blackwell up through 100 tok/s/user, then widens to roughly 4x around 200 tok/s/user, where the gap peaks. Then, the gap begins to narrow again. The headline 5.4x performance gain over GB300 at 300 tok/s/user isn&amp;#8217;t Rubin pulling further ahead. Rather, it is GB300 running the last, barely viable point on its frontier, which causes the ratio to balloon. GB200 can&amp;#8217;t reach 300 tok/s/user at all. Blackwell&amp;#8217;s per-GPU throughput drops off fast as the batch shrinks at high interactivity, while Rubin is still on a flatter part of its frontier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Comparing Rubin against the 2025 GB200 NVL72 baseline is different, showing the biggest lead in the middle of the curve. The gap starts at under 3x at low speeds, but increasings to about 10x at 150 tok/s/user (the point Nvidia highlights in their chart), before falling back to 6x at around 200 tok/s/user. The data from that line is accurate, but as we have mentioned it use a software stack that is a year-old, not the GB200 you would run today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the very top of the interactivity range, the Blackwell curves drop off. By 350 tok/s/user, neither GB200 nor GB300 can serve the workloads at all, leaving only Rubin with an actual curve, delivering 96,446 tok/s/MW at 300 tok/s/user and 70,703 at 350 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Clearly, Rubin is going to give us a lot more &amp;#8220;fast mode&amp;#8221; than Blackwell.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Rubin Versus Blackwell Performance per TCO&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Per-megawatt performance only counts performance against power. Cost per million output tokens folds in the hardware&amp;#8217;s total cost of ownership (TCO) including IT capital costs as well as electricity and datacenter costs. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;Our TCO model breaks this down comprehensively, providing capital costs and operating costs across server generations.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Here, we divide each SKU's all-in TCO by that same renormalized output throughput, so lower is better. Rubin carries a higher TCO per GPU than Blackwell, $3.57 per GPU-hour against $1.84 for GB200 and $2.36 for GB300 in the operator ownership scenario (not rental prices). The charts and tables below will show how Rubin&amp;#8217;s $ per token lead comes out a little smaller than its per-megawatt lead.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!PgY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534cda1f-3982-4dd4-91bc-80abe38ed429_2048x331.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="235" src="https://substackcdn.com/image/fetch/$s_!PgY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534cda1f-3982-4dd4-91bc-80abe38ed429_2048x331.png" title="" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As with the per-MW analysis, the 2025 GB200 baseline produces the largest gains in performance for Rubin, but the July 2026 GB200 and GB300 numbers are the more relevant baseline for comparison for anyone buying capacity today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following pareto curves plot cost per million output tokens against interactivity. Each line stops where its recipe&amp;#8217;s frontier ends.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!elXn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c45703-725b-4176-aaef-86a34ca5e60d_2048x1293.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="919" src="https://substackcdn.com/image/fetch/$s_!elXn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c45703-725b-4176-aaef-86a34ca5e60d_2048x1293.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Next, we provide the same data in table form, with the ratio showing how many times cheaper Rubin is at each interactivity. Again, a cell marked "impossible" is a speed that the recipe's frontier can't reach.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!a_YU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53bc9b0e-537e-40c6-9c26-f009011fc6af_2048x583.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="414" src="https://substackcdn.com/image/fetch/$s_!a_YU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53bc9b0e-537e-40c6-9c26-f009011fc6af_2048x583.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The chart below plots the frontier as bars across the 100 to 300 tok/s/user band. All four recipes have data through 250 tok/s/user, and only Rubin and GB300 reach 300 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IeUT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a9279d-57af-43bb-a36b-3f850e18f43b_2048x651.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="463" src="https://substackcdn.com/image/fetch/$s_!IeUT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a9279d-57af-43bb-a36b-3f850e18f43b_2048x651.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Te82!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c63d4b-cf07-4f15-a990-e340a68cf9ff_1534x52.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="49" src="https://substackcdn.com/image/fetch/$s_!Te82!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c63d4b-cf07-4f15-a990-e340a68cf9ff_1534x52.png" title="" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Against July 2026 GB200 &amp;amp; GB300, Rubin is cheaper at every interactivity, and the gap widens as you climb. The gap starts at about 1.5x cheaper than GB200 through 100 tok/s/user, and improves to 3x by 200 tok/s/user through to 250 tok/s/user. The 5x edge over GB300 at 300 tok/s/user is the same as the per-MW view, where GB300 can barely serve tokens and GB200 can&amp;#8217;t serve at this interactivity level at all.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The 2025 GB200 NVL72 baseline is once again the more dramatic one, cresting in the middle of the curve. Rubin is a little over 2x cheaper at low speeds, peaks near 8x at 150 tok/s/user, and then moves back to 5x by 200 tok/s/user. Same comment as on the per-MW version: the 2025 GB200 baseline measures a year-old software stack, not the GB200 you would run today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the very top of the range, things are the same. GB200 has no operating point past 250 tok/s/user and GB300 has none past 300 tok/s/user, so by 350 tok/s/user only Rubin can serve at all, delivering a cost of $4.18 per million output tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below the paywall, we will continue breaking down Rubin&amp;#8217;s performance as compared to the best-known publicly available MI355X distributed inferencing performance. We also briefly analyze how the Triton Compiler, PyTorch, vLLM, and Dynamo software will function on Rubin.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"/>
    <summary type="html">&lt;p&gt;&lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;&lt;span&gt;Vera Rubin NVL72 is the second generation of Nvidia&amp;#8217;s rack-scale Oberon architecture, and its gains on inference come from extreme co-design&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Early results from engineering samples are encouraging. Vera Rubin NVL72 running DeepSeek R1 delivers 5.4x performance per MW and 5x performance per dollar over GB200 NVL72 today, and the gap is even wider against GB200 NVL72 during its early bringup in 2025. Vera Rubin is still in the early bringup stage now, so we expect the gap to continue widen. Rubin's inference performance will keep improving as software matures, the same pattern we demonstrated for Blackwell in our &lt;/span&gt;&lt;a href="https://github.com/SemiAnalysisAI/InferenceX"&gt;InferenceX benchmarks&lt;/a&gt;&lt;span&gt;, and Rubin still has a long runway ahead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/cuda-toolkit-release-notes/index.html"&gt;&lt;span&gt;Nvidia has also recently made available their first public release of the Rubin (SM_107) software stack with CUDA13.4&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and has upstreamed Rubin PRs to PyTorch, vLLM and OpenAI Triton Compiler. Blackwell was not able to reuse Hopper WGMMA kernels, Rubin is able to reuse Blackwell's kernels, which makes the software bring up process much smoother. For speed of light (SOL) performance, engineers will still need to tune and rewrite kernels but for those that are focused on time to market, Blackwell kernels can be reused. We will also explain Rubin&amp;#8217;s new 3 bit programmable LUT tensor core. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;NVIDIA has also released on GitHub that Feynman is SM_140.  &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Unlike Blackwell to Rubin, Rubin to Feynman will be an much more complex transition on the kernel front.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The early metrics gathered on VR NVL72 come from CoreWeave. We have not independently verified them. Nvidia has committed to submitting verifiable numbers to InferenceX by Q3 CY2026. Google should submit TPUv7 results in the next couple of months, and AMD has committed to MI455X UALoE72. Once those land, the ecosystem gets an objective comparison across systems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In this article we break down Nvidia's Rubin claims against several baselines, showing where Rubin clearly leads Blackwell and where the lead is thinner. We will also analyze Rubin&amp;#8217;s performance per total cost of ownership using our already existing estimates for Rubin&amp;#8217;s total cost of ownership (TCO). The TCO for Rubin and many other systems is sourced from our &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt; AI TCO model, which tracks the total cost of ownership of different AI chips, factoring in capex, opex and different other expenses.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; We also consider performance per watt using our&lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt; All-in Utility Provisioned Power Estimates from our Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, we will present &lt;/span&gt;&lt;a href="https://semianalysis.com/vr-nvl72-model/"&gt;&lt;span&gt;a component by component build up of the Bill of Materials (BoM) for the VR NVL72. This is available in our upcoming SemiAnalysis Bill of Materials (BoM) Model.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another area where Rubin Oberon NVL72 will fare better than Blackwell Oberon NVL72 is in a much faster production ramp period. This is thanks to Rubin&amp;#8217;s simpler cableless compute tray design and learnings from Nvidia&amp;#8217;s experience with deploying a rack-scale copper backplane, having invested much effort into ironing out issues with Blackwell&amp;#8217;s copper backplane. &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Our Accelerator Model tracks quarter by quarter shipments of Rubin at both the package level and the rack level.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xB_f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42660b70-c898-4e6b-a117-7490baf5ae4c_733x1702.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1690.3849336590317" src="https://substackcdn.com/image/fetch/$s_!xB_f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42660b70-c898-4e6b-a117-7490baf5ae4c_733x1702.png" title="" width="727.9977416992188" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-extreme-co-design-an-evolution"&gt;SemiAnalysis VR NVL72 BoM Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h1&gt;&lt;span&gt;A Brief &lt;/span&gt;Breakdown of Rubin &lt;span&gt;Chip-Level Microarchitecture Features &lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span&gt;Going through a complete breakdown of Rubin microarchitecture will have to wait until we obtain ssh access to Rubin systems, allowing us to run &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/dissecting-nvidia-blackwell-tensor"&gt;&lt;span&gt;benchmarks similar to those we carried out when first analyzing Blackwell.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; However, there are still a few interesting points we can still make.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We expect that Rubin bringup will be much more seamless compared to the transition from Hopper to Blackwell, where engineers expended much effort just to port kernels to Blackwell. This simplicity comes from the fact that Rubin is able to run Blackwell SM100-family kernels across all the important kernel libraries in DeepGEMM, FlashMLA, CUTLASS, among others. Moving from Hopper to Blackwell meant rewriting kernels from scratch. Hopper&amp;#8217;s kernels don&amp;#8217;t run on Blackwell at all.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Reusing Blackwell SM100 kernels means a clear time to market advantage, but for speed of light (SOL) performance, engineers will still need to tune and rewrite kernels specifically for the Rubin architecture, though kernel reuse buys them time to focus much more on this kernel tuning.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Turning to architectural details, Rubin&amp;#8217;s SMEM increased to 328 KiB compared to Blackwell&amp;#8217;s 228 KiB. While the default SMEM capacity is 228 KiB, &lt;/span&gt;&lt;a href="https://github.com/triton-lang/triton/blob/24fcd59d53e42c7fe7b696c235d12ce039af1015/third_party/nvidia/backend/driver.c#L984-L993"&gt;&lt;span&gt;Rubin comes with an oversized shared memory mode&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that allows increase to 328 KiB. Furthermore, TMEM has been increased to 256 KiB up from 288 KiB in Blackwell as the number of columns increased from 512 to 576. The additional columns will allow stashing block scale factors, while keeping the TMEM region for accumulators disjointed from it. &lt;/span&gt;&lt;a href="https://x.com/ReubenConducts/status/2078514481261400109"&gt;&lt;span&gt;This greatly simplifies block-scaled kernel logic&lt;/span&gt;&lt;/a&gt;&lt;span&gt;: it saves the kernel writers from carefully pipelining and overlapping MMA matrix and block scaling factor loads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!cmuK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729583a2-4a7d-482b-b86d-bc0f4b46165b_1446x400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="400" src="https://substackcdn.com/image/fetch/$s_!cmuK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729583a2-4a7d-482b-b86d-bc0f4b46165b_1446x400.png" width="1446" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;a href="https://github.com/triton-lang/triton/pull/10936"&gt;Source: OpenAI&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rubin's TMA now supports inline descriptor updates. There are tons of use cases for this. For example, &lt;/span&gt;in an MoE layer, each expert is a separate weight matrix at its own address in HBM, so the TMA descriptor has to point somewhere new on every expert switch. On Blackwell, that meant rewriting the descriptor in memory and synchronizing before the next load. Now, with Rubin, the per-expert offset is passed inline to the TMA instruction so that one descriptor covers all experts, with no in-memory rewrite between them.&lt;span&gt; &lt;/span&gt;This removes overhead during token dispatch and improves decode speed at low batch sizes.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YoQ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d63dbe-3c0a-4ab1-af16-311df88dc55e_2388x852.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="519" src="https://substackcdn.com/image/fetch/$s_!YoQ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d63dbe-3c0a-4ab1-af16-311df88dc55e_2388x852.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Inline TMA descriptor update corresponds to the &lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-overriding-tensor-property-value"&gt;ISA feature &lt;/a&gt;&lt;code&gt;.override&lt;/code&gt;&lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-overriding-tensor-property-value"&gt; qualifiers&lt;/a&gt;. TMA instructions require a &lt;code&gt;tensorMap&lt;/code&gt; object that specifies layout and format metadata. By using the &lt;code&gt;.override&lt;/code&gt; qualifier, bulk asynchronous copy instructions can reuse the &lt;code&gt;tensorMap&lt;/code&gt; object as a template, but replacing certain metadata fields, such as strides. In the case of MoE, expert weights have identical shapes, data types, and properties. By overriding the global address, kernel writers can avoid duplicating or replacing &lt;code&gt;tensorMap&lt;/code&gt; objects when loading different experts.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Rubin doubles BF16/FP16 exponential throughput per clock per SM again, which helps overlap Tensor Core work with softmax during attention. FP32 throughput is unchanged from Blackwell Ultra.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8KrA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374c0103-f8ca-484c-88a3-7669ff9f63cb_1674x1314.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1143" src="https://substackcdn.com/image/fetch/$s_!8KrA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374c0103-f8ca-484c-88a3-7669ff9f63cb_1674x1314.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Compared to Blackwell NVFP4/MXFP4 Tensor Cores which could only accept UE4M3/UE8M0 block scale factor format, On Rubin Tensor cores, it will now be able to accept UE5M3 8 bit block scale factor too. This additional block scale format will allow for more flexibility and less quantization error is certain cases due to its wider range.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eSOM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1122cc-b6a4-4d16-868f-5eb30f436322_1476x602.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="594" src="https://substackcdn.com/image/fetch/$s_!eSOM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1122cc-b6a4-4d16-868f-5eb30f436322_1476x602.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: NVIDIA PTX&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is also important to note that latency has improved for SM-driven NVLink communications through the use of counted writes, which reduces the number of back and forth messages required to send data between GPUs over the copper backplane. This is a huge deal because Blackwell NVLink latency is multiple times higher than that of TPU and Trainium.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IGl8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f99ec0-fa42-4e36-8f05-a83b0043cfc6_1926x936.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="708" src="https://substackcdn.com/image/fetch/$s_!IGl8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f99ec0-fa42-4e36-8f05-a83b0043cfc6_1926x936.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rubin&amp;#8217;s Tensor core delivers twice the throughput for FP8 and FP4 as compared to Blackwell. A key change driving this is doubling the k dimension as this means in theory, a GEMM takes half the number of clock cycles to execute. Additionally, the awkward K=96/3xFP4 instructions from Blackwell Ultra are still present, but alongside a new K=128 variant.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!MuhX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e28e3-954f-48e2-bad3-b44f85adda32_1830x1070.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="851" src="https://substackcdn.com/image/fetch/$s_!MuhX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e28e3-954f-48e2-bad3-b44f85adda32_1830x1070.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In Blackwell, PDL allowed for overlap at the grid level, where the dependent grid needs to wait for all threadblocks in the previous kernel to complete before starting. This allowed for some overlap and hiding of the ramp-down and ramp-up time between kernels, but didn&amp;#8217;t come close to the extremely fine-grained overlap that trendy megakernel authors look to achieve. In Rubin, finer-grained overlap is enabled, where the dependent kernel can synchronize with the previous kernel at the threadblock level instead.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!dgKk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4479f441-71ca-4062-afcb-8afdbb51c1ff_1992x1176.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="860" src="https://substackcdn.com/image/fetch/$s_!dgKk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4479f441-71ca-4062-afcb-8afdbb51c1ff_1992x1176.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Rubin has 2.8x higher global memory bandwidth than Blackwell Ultra through the use of 3D-stacked HBM4 memory. It is unlikely Rubin delivers any improvement versus Blackwell in memory system latency. &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Our Accelerator &amp;amp; HBM Model has an complete breakdown of the memory volumes estimates &amp;amp; vendor used in Rubin.&lt;/a&gt; &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!GitC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7b56e2c-d3ba-4a41-944b-cf10be152b97_1726x1258.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1061" src="https://substackcdn.com/image/fetch/$s_!GitC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7b56e2c-d3ba-4a41-944b-cf10be152b97_1726x1258.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Rubin adds 2:4 sparsity support for activations. In every group of four values, two are kept and two are zeroed. The pattern is regular, so the Tensor Core knows where the survivors are, skips the rest, and runs the MMA at twice the rate. A small metadata field tracks which slots were kept.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia shipped 2:4 on weights back in Ampere and nobody used it, because it meant pruning the model and retraining. Rubin applies it to activations at runtime, so no retraining is needed. In attention, QK^T runs dense, then the scores get compressed on the way out of Tensor Memory. Softmax processes only the survivors, and the following GEMM against V runs sparse. The output stays dense, so nothing else in the model changes. It works on MLP activations too.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia has published no accuracy data, and throwing out half the attention scores before softmax is not obviously free. CoreWeave&amp;#8217;s DeepSeek R1 results do not appear to use it either, which makes it another Rubin feature with silicon today and no tuned kernels behind it yet.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8jaa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15caa76-8148-4a55-ac11-7e82c0e86db4_1720x1436.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1216" src="https://substackcdn.com/image/fetch/$s_!8jaa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15caa76-8148-4a55-ac11-7e82c0e86db4_1720x1436.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://developer.nvidia.com/blog/inside-nvidia-rubin-gpu-architecture-powering-the-era-of-agentic-ai/"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Lookup Table Weight Decompression in Rubin SM107 Tensor Core&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Rubin adds LUT B, a Tensor Core MMA mode that decompresses the weight operand from a lookup table. In this mode, the B operand is a compressed matrix of indices. In a standard inference GEMM, the B operand holds the weights. The weight values live in a lookup table in Tensor Memory. The Tensor Core reads each index and reconstructs the weight value inside the MMA. There is no separate dequantization pass. After lookup, the multiply runs at FP8.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In LUT B, every weight position stores a 3-bit index rather than a complete numerical value. The index selects one of eight E4M3 values in the lookup table shared by that weight&amp;#8217;s 8&amp;#215;64 block. For example, if the stored index is &lt;/span&gt;5&lt;span&gt;, the Tensor Core uses entry 5 from that block&amp;#8217;s lookup table as the weight. The lookup happens inside the MMA, so the kernel never has to construct a separate decompressed weight matrix.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!_p36!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa47edc6f-b509-4b65-aa1c-c5f73044ec3d_2192x1282.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="852" src="https://substackcdn.com/image/fetch/$s_!_p36!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa47edc6f-b509-4b65-aa1c-c5f73044ec3d_2192x1282.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://docs.nvidia.com/cuda/developer-preview/13.4/pdf/ptx_isa_9.4.pdf"&gt;Nvidia&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The lookup table (LUT) does not have to follow the spacing of a conventional uniform or floating-point grid. A quantization algorithm can therefore place more values around dense clusters of weights, use uneven spacing for long tails, or choose an asymmetric codebook when positive and negative weights have different distributions.&lt;/p&gt;&lt;p&gt;&lt;span&gt;This flexibility creates the possibility of better &lt;/span&gt;accuracy per stored bit&lt;span&gt;. Rubin LUT B has fewer individual codes than FP4, but it can place those codes where a particular weight group needs them rather than accepting the fixed ratios of E2M1. It is not automatically more accurate than MXFP4 or NVFP4, however. One codebook is shared across 512 weights, whereas NVFP4 adapts its scale over much smaller groups of 16. The result will depend on the codebook-fitting algorithm, calibration data, quantization-aware training and whether sensitive layers remain at higher precision.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each index is 3 bits while the lookup table has 8 entries. Each entry is one byte, an E4M3 8-bit float in the reference kernel. This results in 3.125 bits per weight: 3 bits for the index, plus 64 bits of codebook spread across 512 weights. The codebook sits in HBM with the indices, so 3.125 bits per weight is the full stored footprint. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The instruction loads the compressed weights into the collector buffer. The Tensor Core can hold them there and reuse them across a run of activation tiles. This is a weight stationary pattern. The mode also has limits as it does not support transpose of the B matrix.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The block-scaled formats, NVFP4 and MXFP, also decompress inside the MMA. But they apply one uniform scale per block, not a codebook. Software methods like AWQ reach low bit counts by running a separate dequantization step before the matmul, Rubin is the first NVIDIA Tensor Core input format that reconstructs a non-uniform codebook inside the MMA.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eWMD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60b0243-309e-4ed7-a03d-0977dc045cb9_2856x782.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="399" src="https://substackcdn.com/image/fetch/$s_!eWMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60b0243-309e-4ed7-a03d-0977dc045cb9_2856x782.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;A lower bit rate cuts the HBM capacity that the weights need. It also cuts the bytes that the GPU reads for each weight. At low batch size, weight bandwidth limits the decode step. Fewer bytes per weight then raise decode throughput. A non-uniform codebook also holds accuracy better than uniform rounding at the same bit count. This feature should also have an impact on power efficiency, as fewer bits will need to move through the memory system for each flop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Using Kimi K3 2.8T as an example, at about 4.5 bits per weight, MXFP4 stores 2.8e12 x 4.25 / 8 = about 1,4875 GB, where GB = 1e9 bytes. At 3.125 bits per weight, the Rubin lookup-table format stores 2.8e12 x 3.125 / 8 = about 1,094 GB (about 1.09 TB). The difference is about 393.5 GB. These figures cover the raw weight payload only, and exclude the KV cache, activations, and any parallelism replication. At 288 GB of HBM4 per Rubin package, the weights alone need about 6 packages in NVFP4 and about 4 packages in the new Rubin format.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;Feynman Architecture Sneak Peak&lt;/h1&gt;&lt;p&gt;From Blackwell (SM100)/Blackwell Ultra to Rubin (SM107), the jump is relatively small in terms of the microarchitecture, so Rubin can be thought of as a Blackwell kicker architecture. In comparison, Feynman (sm_140) is a completely new architecture  family. This will require rewriting lots of kernels from Rubin to Feynman, which is similar to what happened from Hopper WGMMA to Blackwell tcgen05. &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Our Accelerator &amp;amp; HBM Model provides a full breakdown of Feynman quarter by quarter volume estimates. &lt;/a&gt;&lt;/p&gt;&lt;p&gt;Feynman&amp;#8217;s 3D stacking will be similar to what AMD has been doing with 3D stacking since their MI300X with CDNA3.&lt;/p&gt;&lt;p&gt;One of the new features of the Feynman architecture is that it will contain sparsity aware data movement ops. These can be used in sparse GEMMs to improve performance by avoiding pointless loads, stores and FMAs. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SOmE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0880df-bf99-4b05-b28e-a82003b23ea1_1698x782.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="671" src="https://substackcdn.com/image/fetch/$s_!SOmE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0880df-bf99-4b05-b28e-a82003b23ea1_1698x782.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h1&gt;&lt;span&gt;Nuances of CoreWeave VR NVL72 Results&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;Yesterday, CoreWeave published their benchmarked Vera Rubin NVL72 Inference results expressed in units of performance (tokens/sec) per power used (MW). We will break down the nuances of their data and compare their results against Blackwell&amp;#8217;s performance using our own InferenceX July 2026 results as a baseline. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7kUR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36030902-acf3-4508-915b-74430673b5e7_2446x1380.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="821" src="https://substackcdn.com/image/fetch/$s_!7kUR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36030902-acf3-4508-915b-74430673b5e7_2446x1380.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The first notable claim on the CoreWeave-Nvidia chart is that VR NVL72 achieves 10x better token throughput per megawatt than GB200 NVL72 at the iso-interactivity of ~150 tok/s/user. This is about 50% faster than today&amp;#8217;s &amp;#8220;fast mode&amp;#8221; on frontier models.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Three things about their chart. The benchmark is single-turn, 8k in and 1k out. The y-axis is output token throughput per megawatt, not total throughput. And their power number covers &lt;/span&gt;&lt;strong&gt;&lt;span&gt;both prefill and decode GPUs&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, even though only output tokens are counted. InferenceX measures output throughput against &lt;/span&gt;&lt;strong&gt;&lt;span&gt;decode GPU watts only&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, so we renormalized our data to match theirs for this comparison.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is important to point out that CoreWeave claims to have enabled all of the following inference optimizations on both their baseline GB200 NVL72 and Rubin NVL72 performance results, including but not limited to:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;NVFP4 Precision&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Speculative Decoding (Using MTP)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Disaggregated Serving (Using Dynamo)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Wide Expert Parallelism&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;via TensorRT-LLM&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!VxgO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc31e0b77-8ec9-44c8-b992-a90451548afd_2496x958.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="559" src="https://substackcdn.com/image/fetch/$s_!VxgO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc31e0b77-8ec9-44c8-b992-a90451548afd_2496x958.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The above results seem to suggest that Rubin comes to market with a strong performance gain vs Blackwell out of the gate. However, there are a few nuances that are worth unpacking.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;First, attentive readers will note that CoreWeave is comparing Rubin against a &lt;/span&gt;&lt;strong&gt;&lt;span&gt;GB200 NVL72 2025 baseline&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. In some ways, comparing performance at the early stages of GB200 NVL72&amp;#8217;s lifecycle is fair, since Rubin performance is expected to massively improve from this early stage in its own lifecycle. Our analysis will also use the GB200 NVL72 early performance results from 2025, but we also compare how GB200 NVL72 did by 2026 as well as the most current GPU worth comparing to:&lt;/span&gt;&lt;strong&gt;&lt;span&gt; GB300 NVL72.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; We will directly compare GB300 NVL72 performance from early in 2026 with Rubin&amp;#8217;s comparable early lifecycle performance.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!HBPr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e13e65-6627-4160-96e3-a9eecafd0bbc_1844x400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="316" src="https://substackcdn.com/image/fetch/$s_!HBPr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e13e65-6627-4160-96e3-a9eecafd0bbc_1844x400.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.coreweave.com/blog/nvidia-vera-rubin-nvl72-on-coreweave-10x-more-tokens-per-megawatt-than-blackwell"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second nuance in CoreWeave&amp;#8217;s performance results is that they are using DeepSeek R1 671B, a model that is not widely used anymore. One would perhaps wish that CoreWeave used a more modern model like GLM5.2, Kimi K2.5, Qwen3.5, or DeepSeek V4. Even better would be Kimi K3 or Qwen3.8, both of which are &lt;/span&gt;&lt;a href="https://inferencemax.ai/"&gt;&lt;span&gt;coming soon to InferenceX&lt;/span&gt;&lt;/a&gt;&lt;span&gt;! At least CoreWeave is &lt;/span&gt;&lt;a href="https://github.com/ROCm/aiter/pull/3676"&gt;&lt;span&gt;not using GPTOSS 120B in Summer 2026 like AMD is for MI455X UALoE72&lt;/span&gt;&lt;/a&gt;&lt;span&gt; performance metrics. We expect that the fog of war created by benchmarking old models will be cleared up once Nvidia starts benchmarking Rubin on more modern model architectures with InferenceX in Q3 CY2026.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Oddly enough, CoreWeave&amp;#8217;s choice of using DeepSeek R1 671B is theoretically more favourable towards the Blackwell baseline, and not Rubin. Rubin&amp;#8217;s main advantages lie in a higher HBM capacity, higher CPU DRAM capacity, and greater HBM bandwidth, meaning that Rubin is more optimized for multi-trillion parameter models like Fable 5, Gemini Pro, Kimi K3, and Qwen3.8 2.4T.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The third noteworthy item is that CoreWeave uses only single turn 8k/1k input/output tokens. Theoretically, multi-turn long context workloads like Agentic Coding should do better on Rubin, due to Rubin&amp;#8217;s higher HBM capacity and bandwidth, but this would not be captured on a simple single-turn benchmark. &lt;/span&gt;&lt;a href="https://inferencex.semianalysis.com/datasets/cc-traces-weka-062126"&gt;&lt;span&gt;Our upcoming AgentX benchmark scenario created in collaboration with Weka, LMCache, the vLLM/SGLang community, Nvidia, AMD, and many others in the community will provide a realistic agentic workload to benchmark inference performance.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; We encourage everyone to adopt this inference benchmark!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, we note that CoreWeave&amp;#8217;s testing was done on a pre-production rack without a scale-out fabric. Specifically, CoreWeave used a Dell Engineering Sample (ES) rack. We do believe these results are valuable as they use wide EP and PD disagg, which uses the NVL72 scale-up backplane and proves that it is working well. This backplane faced many reliability challenges during the ramp of GB200 NVL72 Oberon, &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;as we have noted in our Accelerator model.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PZWL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42febd6b-f82f-4f19-b85f-522f109aac87_1098x1552.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1552" src="https://substackcdn.com/image/fetch/$s_!PZWL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42febd6b-f82f-4f19-b85f-522f109aac87_1098x1552.png" width="1098" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://x.com/CoreWeave/status/2061146723200962763/photo/2"&gt;CoreWeave&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Rubin Versus Blackwell Performance per MegaWatt&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The metric Nvidia chose to lead with was &amp;#8220;output tokens per second per all-in utility megawatt&amp;#8221;, counting every GPU in the system. To compare apples-to-apples, we renormalize our own InferenceX benchmark data onto the same total-GPU basis. Below, we put VR NVL72 up against our official GB200 and GB300 July 2026 benchmarks, as well as CoreWeave&amp;#8217;s 2025 GB200 baseline.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The eye-catching multiples in Nvidia&amp;#8217;s charts all come from the 2025 baseline. When comparing benchmark data, we believe we should use figures from the same time period, so the July 2026 GB200 and GB300 benchmarks are the more useful comparison.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In theory, datacenter PUE can be lower for Vera Rubin &lt;/span&gt;&lt;a href="https://blogs.nvidia.com/blog/liquid-cooling-ai-factories/"&gt;&lt;span&gt;since Vera Rubin can operate with 45 degrees Celsius coolant temperatures in custom datacenters without chillers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. However, for our comparisons, since most datacenters are designed to accommodate a wide variety of systems, we use the same PUE across the DLC cooled chips.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following pareto curves plot output throughput per total-GPU megawatt against interactivity. Each line stops where its recipe&amp;#8217;s frontier ends.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!FNvZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee917ba-0028-459d-a335-ce66c295df01_2048x1293.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="919" src="https://substackcdn.com/image/fetch/$s_!FNvZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee917ba-0028-459d-a335-ce66c295df01_2048x1293.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Next, we provide the same data in table form. When a cell says "impossible," we mean that the interactivity is past that recipe's frontier, simply not allowing the configuration to serve that workload at that speed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!moMr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a17747e-8857-443b-a4ab-218b517f1fdf_2048x593.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="422" src="https://substackcdn.com/image/fetch/$s_!moMr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a17747e-8857-443b-a4ab-218b517f1fdf_2048x593.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Here is the same frontier as bars, across the 100 to 300 tok/s/user band. All four recipes have data through 250 tok/s/user, and only Rubin and GB300 make it to 300 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!46dJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06afa4a-0f30-436d-959f-bcebe37606b4_2048x691.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="491" src="https://substackcdn.com/image/fetch/$s_!46dJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa06afa4a-0f30-436d-959f-bcebe37606b4_2048x691.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!F2Sw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07c6e89-f1a9-4b63-9ae2-dc951c74f6bf_1536x52.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="49" src="https://substackcdn.com/image/fetch/$s_!F2Sw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07c6e89-f1a9-4b63-9ae2-dc951c74f6bf_1536x52.png" title="" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s first compare Rubin against the July 2026 GB300 NVL72 baseline. Rubin&amp;#8217;s lead is smallest at low interactivity and continues growing through the middle of the interactivity curve. Rubin sits at near 2x the throughput as Blackwell up through 100 tok/s/user, then widens to roughly 4x around 200 tok/s/user, where the gap peaks. Then, the gap begins to narrow again. The headline 5.4x performance gain over GB300 at 300 tok/s/user isn&amp;#8217;t Rubin pulling further ahead. Rather, it is GB300 running the last, barely viable point on its frontier, which causes the ratio to balloon. GB200 can&amp;#8217;t reach 300 tok/s/user at all. Blackwell&amp;#8217;s per-GPU throughput drops off fast as the batch shrinks at high interactivity, while Rubin is still on a flatter part of its frontier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Comparing Rubin against the 2025 GB200 NVL72 baseline is different, showing the biggest lead in the middle of the curve. The gap starts at under 3x at low speeds, but increasings to about 10x at 150 tok/s/user (the point Nvidia highlights in their chart), before falling back to 6x at around 200 tok/s/user. The data from that line is accurate, but as we have mentioned it use a software stack that is a year-old, not the GB200 you would run today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the very top of the interactivity range, the Blackwell curves drop off. By 350 tok/s/user, neither GB200 nor GB300 can serve the workloads at all, leaving only Rubin with an actual curve, delivering 96,446 tok/s/MW at 300 tok/s/user and 70,703 at 350 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Clearly, Rubin is going to give us a lot more &amp;#8220;fast mode&amp;#8221; than Blackwell.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Rubin Versus Blackwell Performance per TCO&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Per-megawatt performance only counts performance against power. Cost per million output tokens folds in the hardware&amp;#8217;s total cost of ownership (TCO) including IT capital costs as well as electricity and datacenter costs. &lt;/span&gt;&lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;&lt;span&gt;Our TCO model breaks this down comprehensively, providing capital costs and operating costs across server generations.&lt;/span&gt;&lt;/a&gt;&lt;span&gt; Here, we divide each SKU's all-in TCO by that same renormalized output throughput, so lower is better. Rubin carries a higher TCO per GPU than Blackwell, $3.57 per GPU-hour against $1.84 for GB200 and $2.36 for GB300 in the operator ownership scenario (not rental prices). The charts and tables below will show how Rubin&amp;#8217;s $ per token lead comes out a little smaller than its per-megawatt lead.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!PgY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534cda1f-3982-4dd4-91bc-80abe38ed429_2048x331.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="235" src="https://substackcdn.com/image/fetch/$s_!PgY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534cda1f-3982-4dd4-91bc-80abe38ed429_2048x331.png" title="" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As with the per-MW analysis, the 2025 GB200 baseline produces the largest gains in performance for Rubin, but the July 2026 GB200 and GB300 numbers are the more relevant baseline for comparison for anyone buying capacity today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The following pareto curves plot cost per million output tokens against interactivity. Each line stops where its recipe&amp;#8217;s frontier ends.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!elXn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c45703-725b-4176-aaef-86a34ca5e60d_2048x1293.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="919" src="https://substackcdn.com/image/fetch/$s_!elXn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c45703-725b-4176-aaef-86a34ca5e60d_2048x1293.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Next, we provide the same data in table form, with the ratio showing how many times cheaper Rubin is at each interactivity. Again, a cell marked "impossible" is a speed that the recipe's frontier can't reach.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!a_YU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53bc9b0e-537e-40c6-9c26-f009011fc6af_2048x583.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="414" src="https://substackcdn.com/image/fetch/$s_!a_YU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53bc9b0e-537e-40c6-9c26-f009011fc6af_2048x583.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The chart below plots the frontier as bars across the 100 to 300 tok/s/user band. All four recipes have data through 250 tok/s/user, and only Rubin and GB300 reach 300 tok/s/user.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!IeUT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a9279d-57af-43bb-a36b-3f850e18f43b_2048x651.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="463" src="https://substackcdn.com/image/fetch/$s_!IeUT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a9279d-57af-43bb-a36b-3f850e18f43b_2048x651.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!Te82!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c63d4b-cf07-4f15-a990-e340a68cf9ff_1534x52.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="49" src="https://substackcdn.com/image/fetch/$s_!Te82!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c63d4b-cf07-4f15-a990-e340a68cf9ff_1534x52.png" title="" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Against July 2026 GB200 &amp;amp; GB300, Rubin is cheaper at every interactivity, and the gap widens as you climb. The gap starts at about 1.5x cheaper than GB200 through 100 tok/s/user, and improves to 3x by 200 tok/s/user through to 250 tok/s/user. The 5x edge over GB300 at 300 tok/s/user is the same as the per-MW view, where GB300 can barely serve tokens and GB200 can&amp;#8217;t serve at this interactivity level at all.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The 2025 GB200 NVL72 baseline is once again the more dramatic one, cresting in the middle of the curve. Rubin is a little over 2x cheaper at low speeds, peaks near 8x at 150 tok/s/user, and then moves back to 5x by 200 tok/s/user. Same comment as on the per-MW version: the 2025 GB200 baseline measures a year-old software stack, not the GB200 you would run today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the very top of the range, things are the same. GB200 has no operating point past 250 tok/s/user and GB300 has none past 300 tok/s/user, so by 350 tok/s/user only Rubin can serve at all, delivering a cost of $4.18 per million output tokens.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Below the paywall, we will continue breaking down Rubin&amp;#8217;s performance as compared to the best-known publicly available MI355X distributed inferencing performance. We also briefly analyze how the Triton Compiler, PyTorch, vLLM, and Dynamo software will function on Rubin.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/vera-rubin-nvl72-vs-gb200-nvl72-inference"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-22T16:47:48+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a</id>
    <title>Meta’s Infrastructure Team Needs A Culture Reset</title>
    <updated>2026-07-21T18:41:34+00:00</updated>
    <author>
      <name>Wayne Ma</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;In our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence"&gt;&lt;span&gt;recent newsletter piece about Meta Superintelligence&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we expressed reasons to be optimistic on Meta AI. MSL now has many of the right ingredients to catch up with Anthropic and OpenAI to return to the frontier. However, we also briefly alluded to cultural issues plaguing Meta&amp;#8217;s infrastructure teams. This article will dive into how these cultural issues have manifested into expensive missteps, whether it be with acquisitions like Rivos or strange choices on hardware architecture.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We believe that Meta Infrastructure needs a cultural reset to better serve the Meta AI organization, especially the world class researchers who are at MSL. This is even more important as &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;Meta embarks on the path of selling its compute to outside customers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, not just serving captive internal users.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta Infrastructure has become bloated, with middle managers expending resources on over-engineered technology solutions that lose sight of broader organizational needs. The company appears burdened by far too many disparate groups that are over-optimizing for certain metrics as opposed to delivering usable technology for the company as a whole. Middle managers will do everything to justify their proposals to protect their positions within Meta, which has become an extremely political organization.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One big issue is Meta&amp;#8217;s six-month performance review cycle, in which the bottom 10% to 15% are cut every review round. The result is an organization of employees that optimize for short-term wins rather than long-term strategies. Some managers push for highly visible projects that can be delivered quickly, a practice known as &amp;#8220;window washing&amp;#8221; and then promptly pivot or abandon them. Few openly challenge leadership, which leads to bad decisions going uncorrected. The whole system discourages long-term thinking and leads to risk-adverse behavior.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Within Meta Infrastructure, supply chain teams also have little say over engineering teams. The result is technology decisions driven by political motivations rather than thoughtful software/hardware co-design for the broader company.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Frequent pivots are also common. And because Meta has a reputation for throwing money at problems and executing at high speed, these U-turns end up becoming more costly versus other companies that take a more disciplined or conservative approach. Suppliers also lose faith when given design wins are later cancelled. This has lead to less supply chain prioritization on new designs. Some suppliers favor focusing on Amazon or Google designs due to Meta&amp;#8217;s frequent reshuffling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A lot of Meta&amp;#8217;s issues come from a lack of financial discipline, with managers creating new projects and headcount to fill out and justify the massive budgets given for initiatives like AI. It&amp;#8217;s a repeat of what happened to Meta&amp;#8217;s Reality Labs division, where billions of dollars were spent on engineers and R&amp;amp;D until layoffs, partly brought on by the company&amp;#8217;s pivot to AI, slashed the team and their related projects starting in 2022 and continuing through this year.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Rivos Acquisition&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;First, one of Meta&amp;#8217;s most recent missteps has been the more than $2.5 billion it sunk last year into the acquisition of Rivos, a chip startup.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Few inside Meta&amp;#8217;s chip division have a full understanding of why the company bought Rivos in the first place, and those who championed the deal internally have since gone quiet. The prevailing theory is that Meta had the money, the custom silicon space was heating up, and it was already licensing Rivos&amp;#8217; IP for a future chip, so leadership figured it might as well own Rivos&amp;#8217; technology outright than let anyone else have it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With the Rivos acquisition, Meta also gained the ability to bypass partners like Broadcom to manage the manufacturing and testing of their own custom chips, a practice known as customer-owned tooling. However, paying more than $2.5 billion for that privilege doesn&amp;#8217;t make much sense either given that a COT team could be built from scratch for maybe $100 million a year or more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although Meta wanted only Rivos&amp;#8217; accelerator and GPU team, the startup&amp;#8217;s founders insisted on an all-or-nothing deal. Meta bought the entire company and then heavily cut employees in the parts it didn&amp;#8217;t want.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oSNs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0536e95-d3f1-4bcf-82c7-c4763a34f9b8_1376x768.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="768" src="https://substackcdn.com/image/fetch/$s_!oSNs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0536e95-d3f1-4bcf-82c7-c4763a34f9b8_1376x768.jpeg" width="1376" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Rivos&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Some former Meta chip employees say the acquisition was led by Meta&amp;#8217;s silicon chief, Yee Jiun Song, who pushed for the deal against the wishes of some of those under him but has since lost interest. The result is an organization that has rejected the transplant, leaving Rivos staff stuck to fend for themselves. Existing Meta chip managers treated the acquisition as a pool of free headcount, grabbing Rivos engineers to build out their own empires and pulling the original startup apart in different directions until little of it remained intact.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The technology reasons behind the deal have evaporated just as quickly. Part of Meta&amp;#8217;s original interest was that Rivos had SIMT core IP which was closer to a Nvidia-style GPU architecture in terms of programmability, whereas Meta&amp;#8217;s own MTIA is SIMD. Yet after the deal closed, Meta cancelled the chip known as Olympus that was meant to use Rivos&amp;#8217; GPU IP, because the design was too aggressive in terms of system and package architecture as well as the software being far from ready. Instead, Meta is sticking with its existing chip architecture through MTIA 600. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta still wants to develop a chip that incorporates Rivos technology, and it has created a new chip project known as Phoebe that is now scheduled to tape out in 2028. But not everyone inside Meta is optimistic about the project, and some believe it could eventually be cancelled as well. We have been updating our subscribers of the &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; about all the different architectures, floorplans, and volumes of various custom silicon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, incoming Rivos employees have gotten a crash course in Meta&amp;#8217;s internal culture. Unlike more mature hardware organizations like Apple, Meta&amp;#8217;s hardware roadmaps can change just as quickly as its software roadmaps, with constant pivots, meaning that something you are working on now could be pointless in six months. Many within Meta&amp;#8217;s chip division say there is no clear org structure, no clear decision-making, and no clear ownership of which group does what.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A funny example of the disfunction that is approachable to those not in the weeds, Meta doesn&amp;#8217;t give most employees assigned desks; people who have been there over a year still scrounge daily for a workspace, where sometimes the desk has a monitor, sometimes the monitor has the wrong cable, and sometimes there is no monitor at all. Employees have formally applied for an assigned desk and been denied, even though desks sit empty everywhere.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, the Rivos acquisition has created dissatisfaction among the pre-existing Meta silicon team. Many Rivos engineers joined with higher compensation and titles without having the requisite responsibilities to justify such perks, and they were placed under existing Meta silicon employees. This resulted in decreased morale within the pre-existing team and also with incoming Rivos staff, who lack the power to make decisions. Since the beginning of this year, a number of Meta&amp;#8217;s silicon engineers been leaving for startups or other well established companies like Arm and Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we first &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;reported for clients&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, around 30% of the Rivos engineers who joined Meta as part of the acquisition were let go in recent layoffs. Rivos co-founder Mark Hayter has already left. A number of former Rivos people have since departed Meta to join Gerard Williams&amp;#8217;s new chip startup, Nuvacore, after their first tranche of RSUs vested in May. We believe that Rivos CEO and co-founder, Puneet Kumar, is also eyeing up an exit in a year or two when his shares in Meta fully vest. There is speculation he could join Rosaic Labs, a new chip startup co-founded by Amarjit Gill, an investor in Rivos and longtime collaborator with Puneet Kumar at SiByte, P.A. Semi, Apple and Agnilux.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Grand Teton&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Now let&amp;#8217;s talk about Meta&amp;#8217;s AI server designs. Meta&amp;#8217;s hardware decisions are largely driven by a TCO analysis comparing a matrix of workloads such as ranking-recommendation and GenAI against what vendors like Nvidia, AMD and their own custom silicon offering provide. Meta CEO Mark Zuckerberg has issued an edict that the systems being designed have to work for the entire business, meaning they have to support not only Gen AI workloads but core ranking and recommendation systems as well.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, Meta has still opted for several &amp;#8220;optimizations&amp;#8221; for its GPU servers, all of which are strange choices that are often worse than the standard configurations that other hyperscalers purchase. Part of the issue stems from the company&amp;#8217;s server teams being in completely separate organizations than their networking teams, with different goals and opinions. Meta engineers are also motivated by the idea of owning their own network operating system and hardware rather than rely on other companies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To recap, Meta&amp;#8217;s H100 HGX server was called &amp;#8220;Teton Grand&amp;#8221; a design that has been contributed to OCP. The major difference from the standard HGX server is the addition of a switch tray in addition to the standard GPU and CPU head-node configuration. This switch tray houses four Broadcom PCIe switches, 16 SSDs and eight NICs. The function is to provide extra PCIe lanes so that the Grand Teton can add more SSDs per server.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WNPb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b4a816f-4910-42af-b31e-b5c15cd97e33_2326x1314.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="823" src="https://substackcdn.com/image/fetch/$s_!WNPb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b4a816f-4910-42af-b31e-b5c15cd97e33_2326x1314.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Meta&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It was during the Hopper generation that Nvidia effectively designed out the need for standalone PCIe switches, by implementing PCIe switching functionality with its ConnectX-7 NIC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With 80x PCIe lanes available on the Intel Sapphire Rapids host CPU, Meta could have designed a box that connected the 2x 200G front-end NICs with eight lanes each, four lanes for various management and control, and 16 lanes for each of the eight ConnectX-7 NICs. This would leave them 32 lanes to connect to eight E1.S SSDs. So, in the end with Grand Teton Meta was able to squeeze out eight more SSDs per server. This came at the cost of greater server BOM, more power, and more integration complexity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Why did Meta want all this extra direct attached storage? The Infrastructure team provisioned this with the belief that more storage was needed for checkpointing training runs. However, in production, the storage wasn&amp;#8217;t utilized nearly as much as anticipated by the model teams, which is why this design ended up being cancelled. This is one of several examples of lack of hardware and software co-design wasting resources.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta&amp;#8217;s additional justifications were that the design was easier to service and gave it the flexibility to use non-Nvidia NICs. Its engineers wanted to avoid handing over more business to Nvidia, particularly for networking, given that there already was a strong reliance on Nvidia for GPUs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But the Broadcom switches couldn&amp;#8217;t be serviced anyway, and Meta&amp;#8217;s software stack still depended on Nvidia&amp;#8217;s version of RoCE, the networking protocol for GPU traffic, so Meta was never realistically going to switch NIC vendors. Ultimately, Meta paid more, had worse TCO, didn't reduce their reliance on Nvidia networking gear, and increased their reliance on Broadcom.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Ariel&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The Grand Teton wasn&amp;#8217;t a one off mistake on server design. This continued into the Blackwell generation with Meta&amp;#8217;s custom GB200 Catalina rack, also known as &amp;#8220;Ariel.&amp;#8221; Ariel has one Nvidia B200 GPU paired with one Grace CPU, instead of the standard two B200 GPUs with one Grace CPU in the regular GB200 SKU that everyone else purchased. The implementation of this was simple: Ariel used the standard Bianca compute board used for GB200, with each board having one GPU depopulated.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5GC6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d214f0-6592-4441-80fc-0cc81094d3b6_2494x1405.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!5GC6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d214f0-6592-4441-80fc-0cc81094d3b6_2494x1405.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Meta&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meta engineers were concerned about the stability of the single rack GB200 NVL72. NVL72 systems are complex, involving things like a copper backplane that is the central hub where all the chips connect to and miles of dense copper cables and thousands of connections between the chips and the backplane. Meta Infrastructure initially bet that an NVL36x2 configuration would be more stable than running NVL72 entirely through the backplane.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Because Ariel is 36 GPUs in the one rack, to get to the 72-chip world size scale up, it had to be in the 36x2 format. Cross-rack ACCs connected the switch trays between the racks. This meant double the number of switches which while also adding an extra hop of latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!basP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304a5108-33ec-4134-a4f2-186e6442ea49_1176x793.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!basP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304a5108-33ec-4134-a4f2-186e6442ea49_1176x793.png" width="1176" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meta was the only customer of this Ariel SKU, and the reason for this is Meta&amp;#8217;s obsession with a higher CPU-GPU ratio for its recommendation systems (&amp;#8220;or RecSys&amp;#8217;) that suggest personalized ads and feeds.  The rationale is that RecSys use a lot of embedding tables that store representations of users, ads and content &amp;#8212; require a lot of CPU-bound processing and the additional LPDDR memory from each Grace can store the embeddings that have small, scattered reads so bandwidth isn&amp;#8217;t as important as serving LLMs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The flipside is that by increasing the CPU ratio and additional NVLink networking content because of the 36x2 configuration the server capex per GPU increases. The result is much higher $/FLOP and $/HBM capacity and bandwidth than the standard GB200. These are key metrics for LLM/gen AI workloads making Ariel was far worse for LLM training and inference. All in all our calculations show that TCO for the Ariel NVL36x2 server was 14% higher than standard GB200 NVL72. As mentioned this additional expense was for more CPU and DRAM content that isn&amp;#8217;t being utilized for the LLM teams. This decision cost Meta billions of dollars.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is not to mention the additional network complexity and reliability challenges that came with the 2-hop scale up with the cross-rack ACCs. These challenges were why a limited number of 36x2 was shipped for some hyperscalers for GB200 only, with the 36x2 configuration being dropped entirely for GB300. Ironically, Meta Infrastructure initially bet that a NVL36x2 configuration would be more stable than NVL72 entirely through the backplane. While the backplane was an initial source of reliability issues, the backplane is now much more mature and won out over the cross-rack cabling. The company underestimated the cross-rack cabline problems with the 36x2 design and overestimated the difficulty of making the backplane work with NVL72. There was no backplane reliability benefit of 36 GPU in 1 rack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Because we understand that the entirety of Meta&amp;#8217;s GB200 fleet was in this Ariel SKU, this &amp;#8220;optimization&amp;#8221; left Meta&amp;#8217;s LLM teams burdened with an inferior system to the standard SKU that Meta&amp;#8217;s competitors purchased. This is particularly biting as GB200 was the flagship system for gen AI at the time. Unsurprisingly, there is no more Ariel for Meta&amp;#8217;s GB300-type servers and Meta is buying the normal configuration.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Upcoming AMD Disasterous Decision&lt;/h2&gt;&lt;p&gt;&lt;span&gt;However, we see this now popping up again with AMD&amp;#8217;s MI450X. In AMD&amp;#8217;s Q1 2026 earnings call, Lisa Su confirmed that AMD is providing Meta with a custom GPU based on the MI450. We have reported this for many months in the &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This custom Meta MI450 is a cut down version of the full MI450X with&lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/marvells-trainium3-orders-have-appeared-metas-custom-mi400-bytedance-capex-google-marvell-silicon-trainium-rack-order-increases/#meta-custom-mi400-update"&gt;&lt;span&gt; half the compute silicon per package and number of HBM stacks. The HBM4 is also downgraded to 8-Hi HBM vs 12-Hi in&lt;/span&gt;&lt;/a&gt;&lt;span&gt; the standard SKU. Given Meta&amp;#8217;s Helios rack has the same number of switches, we assume that the amount of I/O is the same.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SHIy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304686d5-f3fe-4528-9bfd-f6cf0959f707_1358x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="960" src="https://substackcdn.com/image/fetch/$s_!SHIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304686d5-f3fe-4528-9bfd-f6cf0959f707_1358x960.png" width="1358" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;By halving the compute and memory silicon, the goal is to achieve a higher CPU compute to GPU compute ratio like Ariel. AMD MI450 will be the most advanced GPU in the market in terms of silicon engineering: 2nm, hybrid bonding, 12 stacks of HBM, with the largest CoWoS reticle size on the market. This results in the highest compute and memory density per chip.&lt;/p&gt;&lt;p&gt;Meta choosing to cut this engineering marvel in half blunts the proposition completely. This chip configuration is intended for Recsys workloads and was something that Recsys infrastructure teams decided. However, the decision was made before TBD Lab was formed or could have its say. Given the significant compute and HBM deficiency for the scale up domain versus Rubin, TBD has no interest in this system, nor is it attractive for external customers. &lt;/p&gt;&lt;p&gt;This decision is going to nuke AMD&amp;#8217;s volume at Meta because TBD will vastly prefer Rubin if the half MI450 design is chosen. AMD needs to step in, put on their big boy pants, and work directly with teams at TBD to make sure they get the normal MI450 instead of the gimped Meta custom version which is terrible for GenAI. The normal MI450 will actually be competitive with Nvidia&amp;#8217;s Vera Rubin.&lt;/p&gt;&lt;p&gt;This is a public outcry from us for Meta and AMD to not waste the silicon and have better more efficient and cost effective AI infrastructure. If this change is made we think TBD would actually consider using MI450.&lt;/p&gt;&lt;p&gt;&lt;span&gt;So much for Zuckerberg&amp;#8217;s edict. Next we will go through Meta&amp;#8217;s elaborate and expensive DSF networking architecture and why Meta quickly pivoted away. We will also discuss how this culture can be fixed.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;In our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence"&gt;&lt;span&gt;recent newsletter piece about Meta Superintelligence&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, we expressed reasons to be optimistic on Meta AI. MSL now has many of the right ingredients to catch up with Anthropic and OpenAI to return to the frontier. However, we also briefly alluded to cultural issues plaguing Meta&amp;#8217;s infrastructure teams. This article will dive into how these cultural issues have manifested into expensive missteps, whether it be with acquisitions like Rivos or strange choices on hardware architecture.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We believe that Meta Infrastructure needs a cultural reset to better serve the Meta AI organization, especially the world class researchers who are at MSL. This is even more important as &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;Meta embarks on the path of selling its compute to outside customers&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, not just serving captive internal users.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta Infrastructure has become bloated, with middle managers expending resources on over-engineered technology solutions that lose sight of broader organizational needs. The company appears burdened by far too many disparate groups that are over-optimizing for certain metrics as opposed to delivering usable technology for the company as a whole. Middle managers will do everything to justify their proposals to protect their positions within Meta, which has become an extremely political organization.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;One big issue is Meta&amp;#8217;s six-month performance review cycle, in which the bottom 10% to 15% are cut every review round. The result is an organization of employees that optimize for short-term wins rather than long-term strategies. Some managers push for highly visible projects that can be delivered quickly, a practice known as &amp;#8220;window washing&amp;#8221; and then promptly pivot or abandon them. Few openly challenge leadership, which leads to bad decisions going uncorrected. The whole system discourages long-term thinking and leads to risk-adverse behavior.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Within Meta Infrastructure, supply chain teams also have little say over engineering teams. The result is technology decisions driven by political motivations rather than thoughtful software/hardware co-design for the broader company.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Frequent pivots are also common. And because Meta has a reputation for throwing money at problems and executing at high speed, these U-turns end up becoming more costly versus other companies that take a more disciplined or conservative approach. Suppliers also lose faith when given design wins are later cancelled. This has lead to less supply chain prioritization on new designs. Some suppliers favor focusing on Amazon or Google designs due to Meta&amp;#8217;s frequent reshuffling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A lot of Meta&amp;#8217;s issues come from a lack of financial discipline, with managers creating new projects and headcount to fill out and justify the massive budgets given for initiatives like AI. It&amp;#8217;s a repeat of what happened to Meta&amp;#8217;s Reality Labs division, where billions of dollars were spent on engineers and R&amp;amp;D until layoffs, partly brought on by the company&amp;#8217;s pivot to AI, slashed the team and their related projects starting in 2022 and continuing through this year.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Rivos Acquisition&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;First, one of Meta&amp;#8217;s most recent missteps has been the more than $2.5 billion it sunk last year into the acquisition of Rivos, a chip startup.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Few inside Meta&amp;#8217;s chip division have a full understanding of why the company bought Rivos in the first place, and those who championed the deal internally have since gone quiet. The prevailing theory is that Meta had the money, the custom silicon space was heating up, and it was already licensing Rivos&amp;#8217; IP for a future chip, so leadership figured it might as well own Rivos&amp;#8217; technology outright than let anyone else have it.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With the Rivos acquisition, Meta also gained the ability to bypass partners like Broadcom to manage the manufacturing and testing of their own custom chips, a practice known as customer-owned tooling. However, paying more than $2.5 billion for that privilege doesn&amp;#8217;t make much sense either given that a COT team could be built from scratch for maybe $100 million a year or more.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Although Meta wanted only Rivos&amp;#8217; accelerator and GPU team, the startup&amp;#8217;s founders insisted on an all-or-nothing deal. Meta bought the entire company and then heavily cut employees in the parts it didn&amp;#8217;t want.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!oSNs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0536e95-d3f1-4bcf-82c7-c4763a34f9b8_1376x768.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="768" src="https://substackcdn.com/image/fetch/$s_!oSNs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0536e95-d3f1-4bcf-82c7-c4763a34f9b8_1376x768.jpeg" width="1376" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Rivos&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Some former Meta chip employees say the acquisition was led by Meta&amp;#8217;s silicon chief, Yee Jiun Song, who pushed for the deal against the wishes of some of those under him but has since lost interest. The result is an organization that has rejected the transplant, leaving Rivos staff stuck to fend for themselves. Existing Meta chip managers treated the acquisition as a pool of free headcount, grabbing Rivos engineers to build out their own empires and pulling the original startup apart in different directions until little of it remained intact.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The technology reasons behind the deal have evaporated just as quickly. Part of Meta&amp;#8217;s original interest was that Rivos had SIMT core IP which was closer to a Nvidia-style GPU architecture in terms of programmability, whereas Meta&amp;#8217;s own MTIA is SIMD. Yet after the deal closed, Meta cancelled the chip known as Olympus that was meant to use Rivos&amp;#8217; GPU IP, because the design was too aggressive in terms of system and package architecture as well as the software being far from ready. Instead, Meta is sticking with its existing chip architecture through MTIA 600. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta still wants to develop a chip that incorporates Rivos technology, and it has created a new chip project known as Phoebe that is now scheduled to tape out in 2028. But not everyone inside Meta is optimistic about the project, and some believe it could eventually be cancelled as well. We have been updating our subscribers of the &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; about all the different architectures, floorplans, and volumes of various custom silicon.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, incoming Rivos employees have gotten a crash course in Meta&amp;#8217;s internal culture. Unlike more mature hardware organizations like Apple, Meta&amp;#8217;s hardware roadmaps can change just as quickly as its software roadmaps, with constant pivots, meaning that something you are working on now could be pointless in six months. Many within Meta&amp;#8217;s chip division say there is no clear org structure, no clear decision-making, and no clear ownership of which group does what.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A funny example of the disfunction that is approachable to those not in the weeds, Meta doesn&amp;#8217;t give most employees assigned desks; people who have been there over a year still scrounge daily for a workspace, where sometimes the desk has a monitor, sometimes the monitor has the wrong cable, and sometimes there is no monitor at all. Employees have formally applied for an assigned desk and been denied, even though desks sit empty everywhere.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Finally, the Rivos acquisition has created dissatisfaction among the pre-existing Meta silicon team. Many Rivos engineers joined with higher compensation and titles without having the requisite responsibilities to justify such perks, and they were placed under existing Meta silicon employees. This resulted in decreased morale within the pre-existing team and also with incoming Rivos staff, who lack the power to make decisions. Since the beginning of this year, a number of Meta&amp;#8217;s silicon engineers been leaving for startups or other well established companies like Arm and Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we first &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;reported for clients&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, around 30% of the Rivos engineers who joined Meta as part of the acquisition were let go in recent layoffs. Rivos co-founder Mark Hayter has already left. A number of former Rivos people have since departed Meta to join Gerard Williams&amp;#8217;s new chip startup, Nuvacore, after their first tranche of RSUs vested in May. We believe that Rivos CEO and co-founder, Puneet Kumar, is also eyeing up an exit in a year or two when his shares in Meta fully vest. There is speculation he could join Rosaic Labs, a new chip startup co-founded by Amarjit Gill, an investor in Rivos and longtime collaborator with Puneet Kumar at SiByte, P.A. Semi, Apple and Agnilux.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Grand Teton&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Now let&amp;#8217;s talk about Meta&amp;#8217;s AI server designs. Meta&amp;#8217;s hardware decisions are largely driven by a TCO analysis comparing a matrix of workloads such as ranking-recommendation and GenAI against what vendors like Nvidia, AMD and their own custom silicon offering provide. Meta CEO Mark Zuckerberg has issued an edict that the systems being designed have to work for the entire business, meaning they have to support not only Gen AI workloads but core ranking and recommendation systems as well.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, Meta has still opted for several &amp;#8220;optimizations&amp;#8221; for its GPU servers, all of which are strange choices that are often worse than the standard configurations that other hyperscalers purchase. Part of the issue stems from the company&amp;#8217;s server teams being in completely separate organizations than their networking teams, with different goals and opinions. Meta engineers are also motivated by the idea of owning their own network operating system and hardware rather than rely on other companies.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To recap, Meta&amp;#8217;s H100 HGX server was called &amp;#8220;Teton Grand&amp;#8221; a design that has been contributed to OCP. The major difference from the standard HGX server is the addition of a switch tray in addition to the standard GPU and CPU head-node configuration. This switch tray houses four Broadcom PCIe switches, 16 SSDs and eight NICs. The function is to provide extra PCIe lanes so that the Grand Teton can add more SSDs per server.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!WNPb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b4a816f-4910-42af-b31e-b5c15cd97e33_2326x1314.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="823" src="https://substackcdn.com/image/fetch/$s_!WNPb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b4a816f-4910-42af-b31e-b5c15cd97e33_2326x1314.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Meta&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It was during the Hopper generation that Nvidia effectively designed out the need for standalone PCIe switches, by implementing PCIe switching functionality with its ConnectX-7 NIC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;With 80x PCIe lanes available on the Intel Sapphire Rapids host CPU, Meta could have designed a box that connected the 2x 200G front-end NICs with eight lanes each, four lanes for various management and control, and 16 lanes for each of the eight ConnectX-7 NICs. This would leave them 32 lanes to connect to eight E1.S SSDs. So, in the end with Grand Teton Meta was able to squeeze out eight more SSDs per server. This came at the cost of greater server BOM, more power, and more integration complexity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Why did Meta want all this extra direct attached storage? The Infrastructure team provisioned this with the belief that more storage was needed for checkpointing training runs. However, in production, the storage wasn&amp;#8217;t utilized nearly as much as anticipated by the model teams, which is why this design ended up being cancelled. This is one of several examples of lack of hardware and software co-design wasting resources.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta&amp;#8217;s additional justifications were that the design was easier to service and gave it the flexibility to use non-Nvidia NICs. Its engineers wanted to avoid handing over more business to Nvidia, particularly for networking, given that there already was a strong reliance on Nvidia for GPUs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;But the Broadcom switches couldn&amp;#8217;t be serviced anyway, and Meta&amp;#8217;s software stack still depended on Nvidia&amp;#8217;s version of RoCE, the networking protocol for GPU traffic, so Meta was never realistically going to switch NIC vendors. Ultimately, Meta paid more, had worse TCO, didn't reduce their reliance on Nvidia networking gear, and increased their reliance on Broadcom.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Ariel&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;The Grand Teton wasn&amp;#8217;t a one off mistake on server design. This continued into the Blackwell generation with Meta&amp;#8217;s custom GB200 Catalina rack, also known as &amp;#8220;Ariel.&amp;#8221; Ariel has one Nvidia B200 GPU paired with one Grace CPU, instead of the standard two B200 GPUs with one Grace CPU in the regular GB200 SKU that everyone else purchased. The implementation of this was simple: Ariel used the standard Bianca compute board used for GB200, with each board having one GPU depopulated.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!5GC6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d214f0-6592-4441-80fc-0cc81094d3b6_2494x1405.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="820" src="https://substackcdn.com/image/fetch/$s_!5GC6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d214f0-6592-4441-80fc-0cc81094d3b6_2494x1405.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Meta&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meta engineers were concerned about the stability of the single rack GB200 NVL72. NVL72 systems are complex, involving things like a copper backplane that is the central hub where all the chips connect to and miles of dense copper cables and thousands of connections between the chips and the backplane. Meta Infrastructure initially bet that an NVL36x2 configuration would be more stable than running NVL72 entirely through the backplane.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Because Ariel is 36 GPUs in the one rack, to get to the 72-chip world size scale up, it had to be in the 36x2 format. Cross-rack ACCs connected the switch trays between the racks. This meant double the number of switches which while also adding an extra hop of latency.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!basP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304a5108-33ec-4134-a4f2-186e6442ea49_1176x793.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!basP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304a5108-33ec-4134-a4f2-186e6442ea49_1176x793.png" width="1176" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Meta was the only customer of this Ariel SKU, and the reason for this is Meta&amp;#8217;s obsession with a higher CPU-GPU ratio for its recommendation systems (&amp;#8220;or RecSys&amp;#8217;) that suggest personalized ads and feeds.  The rationale is that RecSys use a lot of embedding tables that store representations of users, ads and content &amp;#8212; require a lot of CPU-bound processing and the additional LPDDR memory from each Grace can store the embeddings that have small, scattered reads so bandwidth isn&amp;#8217;t as important as serving LLMs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The flipside is that by increasing the CPU ratio and additional NVLink networking content because of the 36x2 configuration the server capex per GPU increases. The result is much higher $/FLOP and $/HBM capacity and bandwidth than the standard GB200. These are key metrics for LLM/gen AI workloads making Ariel was far worse for LLM training and inference. All in all our calculations show that TCO for the Ariel NVL36x2 server was 14% higher than standard GB200 NVL72. As mentioned this additional expense was for more CPU and DRAM content that isn&amp;#8217;t being utilized for the LLM teams. This decision cost Meta billions of dollars.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is not to mention the additional network complexity and reliability challenges that came with the 2-hop scale up with the cross-rack ACCs. These challenges were why a limited number of 36x2 was shipped for some hyperscalers for GB200 only, with the 36x2 configuration being dropped entirely for GB300. Ironically, Meta Infrastructure initially bet that a NVL36x2 configuration would be more stable than NVL72 entirely through the backplane. While the backplane was an initial source of reliability issues, the backplane is now much more mature and won out over the cross-rack cabling. The company underestimated the cross-rack cabline problems with the 36x2 design and overestimated the difficulty of making the backplane work with NVL72. There was no backplane reliability benefit of 36 GPU in 1 rack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Because we understand that the entirety of Meta&amp;#8217;s GB200 fleet was in this Ariel SKU, this &amp;#8220;optimization&amp;#8221; left Meta&amp;#8217;s LLM teams burdened with an inferior system to the standard SKU that Meta&amp;#8217;s competitors purchased. This is particularly biting as GB200 was the flagship system for gen AI at the time. Unsurprisingly, there is no more Ariel for Meta&amp;#8217;s GB300-type servers and Meta is buying the normal configuration.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Upcoming AMD Disasterous Decision&lt;/h2&gt;&lt;p&gt;&lt;span&gt;However, we see this now popping up again with AMD&amp;#8217;s MI450X. In AMD&amp;#8217;s Q1 2026 earnings call, Lisa Su confirmed that AMD is providing Meta with a custom GPU based on the MI450. We have reported this for many months in the &lt;/span&gt;&lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;&lt;span&gt;Accelerator Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. This custom Meta MI450 is a cut down version of the full MI450X with&lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/marvells-trainium3-orders-have-appeared-metas-custom-mi400-bytedance-capex-google-marvell-silicon-trainium-rack-order-increases/#meta-custom-mi400-update"&gt;&lt;span&gt; half the compute silicon per package and number of HBM stacks. The HBM4 is also downgraded to 8-Hi HBM vs 12-Hi in&lt;/span&gt;&lt;/a&gt;&lt;span&gt; the standard SKU. Given Meta&amp;#8217;s Helios rack has the same number of switches, we assume that the amount of I/O is the same.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SHIy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304686d5-f3fe-4528-9bfd-f6cf0959f707_1358x960.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="960" src="https://substackcdn.com/image/fetch/$s_!SHIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304686d5-f3fe-4528-9bfd-f6cf0959f707_1358x960.png" width="1358" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: AMD, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;By halving the compute and memory silicon, the goal is to achieve a higher CPU compute to GPU compute ratio like Ariel. AMD MI450 will be the most advanced GPU in the market in terms of silicon engineering: 2nm, hybrid bonding, 12 stacks of HBM, with the largest CoWoS reticle size on the market. This results in the highest compute and memory density per chip.&lt;/p&gt;&lt;p&gt;Meta choosing to cut this engineering marvel in half blunts the proposition completely. This chip configuration is intended for Recsys workloads and was something that Recsys infrastructure teams decided. However, the decision was made before TBD Lab was formed or could have its say. Given the significant compute and HBM deficiency for the scale up domain versus Rubin, TBD has no interest in this system, nor is it attractive for external customers. &lt;/p&gt;&lt;p&gt;This decision is going to nuke AMD&amp;#8217;s volume at Meta because TBD will vastly prefer Rubin if the half MI450 design is chosen. AMD needs to step in, put on their big boy pants, and work directly with teams at TBD to make sure they get the normal MI450 instead of the gimped Meta custom version which is terrible for GenAI. The normal MI450 will actually be competitive with Nvidia&amp;#8217;s Vera Rubin.&lt;/p&gt;&lt;p&gt;This is a public outcry from us for Meta and AMD to not waste the silicon and have better more efficient and cost effective AI infrastructure. If this change is made we think TBD would actually consider using MI450.&lt;/p&gt;&lt;p&gt;&lt;span&gt;So much for Zuckerberg&amp;#8217;s edict. Next we will go through Meta&amp;#8217;s elaborate and expensive DSF networking architecture and why Meta quickly pivoted away. We will also discuss how this culture can be fixed.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/metas-infrastructure-team-needs-a"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-21T18:41:34+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence</id>
    <title>The Future of Meta Superintelligence: A 1 Year Progress Update</title>
    <updated>2026-07-09T11:16:14+00:00</updated>
    <author>
      <name>Max Kan</name>
    </author>
    <content type="html">&lt;p&gt;&lt;span&gt;It&amp;#8217;s been a little over 1 year since the disastrous Llama 4 release spurred Zuck to rebuild his entire AI org. Highlights include the shocking $14.3B Scale AI &amp;#8220;investment&amp;#8221; just to poach Alexandr Wang and the best people from his Safety, Evaluations, and Alignment Labs (SEAL) team, the multi-hundred million dollar (sometimes $1B+) pay packages offered to top AI researchers/engineers, and the expedited compute ramp enabled by their new &amp;#8220;Tent&amp;#8221; datacenter design. For more details, see our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-superintelligence-leadership-compute-talent-and-data"&gt;&lt;span&gt;original post&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on MSL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since then, frontier AI has increasingly felt like a two horse race between OpenAI vs Anthropic. Google had a brief moment in the spotlight with Gemini 3 Pro and Nano Banana, but they&amp;#8217;ve since faded dramatically. Despite their Windsurf acquisition, they&amp;#8217;re far from a compelling agentic coding product, and 3.5 Flash is a benchmaxxed prop that performs far worse than GPT 5.6 and Opus 4.8 in real world scenarios (much less Fable and 5.6). 3.5 Pro is not even Opus level on coding. Microsoft has completely blown their early lead with GitHub copilot and failed to effectively leverage their access to OpenAI IP. SpaceXAI is selling $26B a year worth of GPUs to Anthropic/Google, and the Chinese labs are simply too compute poor to truly reach the frontier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, MSL made their public debut this April with the launch of Muse Spark. You could argue this model represents a relative regression for Meta. Llama 3 70B and 3.1 405B were both SOTA open-source on release, whereas Muse Spark, despite also being closed source, lagged both DeepSeek v4 Pro and Kimi K2.6&amp;#8212;open source models released around the same time&amp;#8212;on most benchmarks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UXXc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10bcda4-e9cf-4484-bf12-579e34805f0f_1489x766.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="749" src="https://substackcdn.com/image/fetch/$s_!UXXc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10bcda4-e9cf-4484-bf12-579e34805f0f_1489x766.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, evaluating Muse Spark in isolation is missing the forest for the trees. What matters for MSL is the slope, not the intercept. Rebuilding your entire team from the ground up obviously comes with some short term setbacks, and it appears Meta has finally finished paying down this debt. Thus, the interesting question is not where MSL is today, but trying to predict where they&amp;#8217;ll be in the next 6 months. We think it's very possible they are better than Google by then due to the team&amp;#8217;s focus.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the simplest level, there are three things you need to build a true frontier model: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;data&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;talent&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;compute&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We believe &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the only hyperscaler/neolab on track to be world class at all three and therefore &lt;/span&gt;&lt;strong&gt;&lt;span&gt;has the best chance at catching up with Anthropic/OpenAI&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We&amp;#8217;ll explain why in full detail below, but as a teaser, here are the AI compute projections from our new &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xoie!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="693" src="https://substackcdn.com/image/fetch/$s_!Xoie!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Lastly, behind the paywall, we&amp;#8217;ll discuss what this all means for Google&amp;#8212;the company most people today still believe rounds out the AI big 3.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Data is the new oil (for real this time)&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ll start with data because it&amp;#8217;s Meta&amp;#8217;s newest advantage and probably the most underappreciated of the three.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In 2024, Ilya famously said that &amp;#8220;data is the fossil fuel of AI.&amp;#8221; While this analogy correctly highlights the importance of data for training AI models, it incorrectly assumes that the amount of good data is finite. In reality, if demand is strong enough, market forces will find a way.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This time, the invisible hand created a new human data/RL environment supply chain. The three incumbements&amp;#8212;Mercor, Surge, and Handshake&amp;#8212;are all at $1B+ ARR, and many new entrants who are barely a year old (e.g. Fleet, Mechanize, and Afterquery) are sitting around $100M ARR.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4Uc2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6326095-4d8c-4157-a5d6-6644b8587b7c_2048x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1024" src="https://substackcdn.com/image/fetch/$s_!4Uc2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6326095-4d8c-4157-a5d6-6644b8587b7c_2048x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Public disclosures, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Reinforcement learning (RL) is the most important scaling law for improving AI capabilities today. The general idea is that instead of just predicting the next token, you teach the model how to complete entire tasks (e.g. fixing a bug in a codebase). Besides the &lt;/span&gt;&lt;em&gt;&lt;span&gt;tasks&lt;/span&gt;&lt;/em&gt;&lt;span&gt; themselves, RL requires you to provide an &lt;/span&gt;&lt;em&gt;&lt;span&gt;environment&lt;/span&gt;&lt;/em&gt;&lt;span&gt; for the model to complete the task in, &lt;/span&gt;&lt;em&gt;&lt;span&gt;tools&lt;/span&gt;&lt;/em&gt;&lt;span&gt; the model can use to interact with the environment, and &lt;/span&gt;&lt;em&gt;&lt;span&gt;verifiers&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to check if the model&amp;#8217;s answer is correct or not. For more background, see our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/scaling-reinforcement-learning-environments-reward-hacking-agents-scaling-data"&gt;&lt;span&gt;previous&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/rl-environments-and-rl-for-science"&gt;&lt;span&gt;posts&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is worth emphasizing that many AI insiders believe more RL environments/tasks are all we need to automate virtually all white-collar work. Here&amp;#8217;s a quote from my roommate Sholto Douglas, a prominent Anthropic researcher, on the &lt;/span&gt;&lt;a href="https://www.dwarkesh.com/p/sholto-trenton-2"&gt;&lt;span&gt;Dwarkesh podcast&lt;/span&gt;&lt;/a&gt;&lt;span&gt; last year:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;Even if algorithmic progress stalls out, and we just never figure out how to keep progress going&amp;#8212;which I don&amp;#8217;t think is the case, that hasn&amp;#8217;t stalled out yet, it seems to be going great&amp;#8212;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;the current suite of algorithms are sufficient to automate white collar work provided you have enough of the right kinds of data.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Compared to the TAM of salaries for all of those kinds of work, it is so trivially worthwhile.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Generally, all of these data companies create new RL tasks by hiring expert contractors from the relevant industries (hence why it&amp;#8217;s called &amp;#8220;human data&amp;#8221;). However, there&amp;#8217;s another thing every data company is desperately searching for today: real recordings of white-collar work.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Screen recordings are extremely valuable for making RL tasks&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Naively, you might think screen recordings are primarily useful for older training paradigms like supervised fine-tuning (SFT) which teach the AI to mimic humans. After all, the whole point of RL is that you let the AI figure out the steps itself and assign rewards based solely on outcomes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In reality, however, screen recordings can still be extremely useful for making RL tasks as long as you&amp;#8217;re willing to do a little extra work.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first benefit is realism. RL data is only good if it&amp;#8217;s 1) representative of real economically valuable work and 2) at the right difficulty level for the AI. Too easy and there&amp;#8217;s nothing for the AI to learn, too hard and it&amp;#8217;ll never achieve any reward.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The only way to calibrate task difficulty is to just have the AI try solving the problem a bunch of times and then iterating accordingly. It&amp;#8217;s actually quite hard to make an RL task that&amp;#8217;s sufficiently difficult for frontier models today, so your expert contractors normally spend their time making tasks more challenging. Mechanize, for example, only &lt;/span&gt;&lt;a href="https://www.mechanize.work/what-working-here-is-like/"&gt;&lt;span&gt;expects&lt;/span&gt;&lt;/a&gt;&lt;span&gt; the software engineers they pay $400k+ per year to make 1 good task per week.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Under these constraints, if you ask the average PE analyst to come up with a new financial modeling task from scratch because you want to RL your model to be better at Excel, you often end up with a contrived task that&amp;#8217;s optimized for difficulty over realism. This is the main problem with benchmarks like OpenAI&amp;#8217;s &lt;/span&gt;&lt;a href="https://openai.com/index/gdpval/"&gt;&lt;span&gt;GDPval&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and Mercor&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.mercor.com/apex/"&gt;&lt;span&gt;Apex&lt;/span&gt;&lt;/a&gt;&lt;span&gt; suite (a good benchmark and a good RL env are roughly equivalent). If you read the tasks, you&amp;#8217;ll see that most are unnaturally over-specified and don&amp;#8217;t sound like something a human would actually ask an AI to do.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For example, here&amp;#8217;s a GDPval task that asks the AI to make an itinerary. In the real world, the difficult part of this task would be fetching all the context from disparate sources (email, text messages, random websites, etc) to build the schedule, but GDPval ignores all of that by just giving the AI super detailed step by step instructions instead. A human would never write this 1k+ word prompt to an AI. It would&amp;#8217;ve been easier to just make the itinerary themselves at that point!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gTTn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe9b0d1-6d7f-45f4-989d-fe1efaebec18_736x632.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="632" src="https://substackcdn.com/image/fetch/$s_!gTTn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe9b0d1-6d7f-45f4-989d-fe1efaebec18_736x632.png" width="736" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the other hand, if you base your task on a screen recording of someone doing their day-to-day job, then it&amp;#8217;s guaranteed to be representative of real knowledge work by definition.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Relatedly, workflow best practices and correctness definitions can change a lot over time, so the only way to ensure your data &lt;/span&gt;&lt;em&gt;&lt;span&gt;stays&lt;/span&gt;&lt;/em&gt;&lt;span&gt; realistic is to have a regular stream of real recordings. For example, a good coding RL task today would involve orchestrating subagents, and this simply didn&amp;#8217;t exist just 7 months ago.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Screen recordings are also extremely useful for making verifiers. These days, most verifiers are &lt;/span&gt;&lt;em&gt;&lt;span&gt;rubrics&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. Since white-collar work is generally subjective&amp;#8212;unlike math and coding where you can just check if the final number is correct or run a suite of integration tests&amp;#8212;your verifier ends up being a set of rules/preferences encoded in a rubric that a human or LLM will then use to grade the AI&amp;#8217;s output. As the tasks themselves become longer and more complex, so do their corresponding rubrics.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If you collect enough traces (typically thousands) of many people doing the ~same task in slightly different contexts, then you&amp;#8217;ll eventually capture the entire action space for said task. This ends up being sufficient information for an LLM to more or less one shot the rubric. Of course, you still need a human to do final review and crucially assign weights to all the different criteria, but this is obviously much more efficient (and typically also higher quality) than asking experts to create the rubrics from scratch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pyHT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf9f6f95-3289-4c7f-b49d-b37952bcac6a_774x877.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="877" src="https://substackcdn.com/image/fetch/$s_!pyHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf9f6f95-3289-4c7f-b49d-b37952bcac6a_774x877.png" width="774" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Example rubric from OpenAI&amp;#8217;s HealthBench. Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Recordings can be super useful for deterministic verifiers as well. Knowing the underlying state of the application after the task is completed is often step 1 of creating a deterministic verifier for knowledge work, because the whole point of the verifier is to check whether the AI successfully reached the desired end state. A sufficiently detailed recording gives you this info for free.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Meta just created a top tier RL environment startup&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;With this context, we can better appreciate the recent news about Meta starting to track their employees&amp;#8217; screens, keyboards, and mouse movements. This is quite literally some of the most valuable data in the world today! Of course, it&amp;#8217;s also poetically apt that the Scale AI man is the one spearheading the transformation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Whereas all the data companies are desperately trying to partner with investment banks, law firms, and advertising agencies to record their workflows, Meta is one of the few companies in the world that has a sufficiently large workforce dedicated to each of these industries in-house.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The fact that Meta is still nimble and aggressive enough to do this despite the PR hit and initial employee backlash is already quite impressive. Yes, they&amp;#8217;ve since walked it back &lt;/span&gt;&lt;a href="https://www.theinformation.com/articles/meta-rolls-back-parts-employee-tracking-tool-staff-backlash"&gt;&lt;span&gt;slightly&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by strengthening privacy protections and giving employees the option to pause the tracker for 30min, but we think these are very minor concessions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, they took their data efforts to &lt;/span&gt;&lt;em&gt;&lt;span&gt;another level&lt;/span&gt;&lt;/em&gt;&lt;span&gt; in late May by announcing a new &amp;#8220;applied AI engineering org&amp;#8221; as part of their most recent round of layoffs/restructuring. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~3000 engineers&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, which includes 70% of their new grads and a significant number of seniors, will now be &lt;/span&gt;&lt;strong&gt;&lt;span&gt;making RL tasks/environments full-time&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We think this is an extremely underappreciated advantage for MSL. Anthropic has been the most aggressive lab by far when it comes to buying coding data from RL environment startups, and it&amp;#8217;s one important reason why their models are so good at coding today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Mercor recently &lt;/span&gt;&lt;a href="https://x.com/EverettRandle/status/2074527860510085498"&gt;&lt;span&gt;disclosed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that they logged 2,517,000 expert hours on their platform in 2Q26, which is equivalent to ~4800 people working 40 hours a week. Meta is already in the same ballpark, and their average quality is likely higher. Additionally, they have another ~70k people to pull from if this experiment ends up being as valuable as we think.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s also worth briefly dispelling the myth that these 3000 Meta engineers will be doing mindless, low-level data labeling. The days of undereducated contractors from third-world countries drawing bounding boxes or classifying text as NSFW are long gone. At this point, the models are sufficiently smart such that creating a good piece of training data is a real intellectual challenge. Deeply understanding failure modes, ensuring your environment is robust to reward hacking, and scaling task creation without quality degradation are all non-trivial engineering problems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Besides purchasing from data companies, Anthropic engineers have also been making coding tasks themselves for over a year. Frontier labs are willing to pay $5000+ for a single decent coding task. Mercor&amp;#8217;s average pay rate recently &lt;/span&gt;&lt;a href="https://x.com/BrendanFoody/status/2057195063126405430?s=20"&gt;&lt;span&gt;surpassed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; $100/hr, and the rate for SWEs is significantly above average. The top expert contractors at all of these data companies are making over 7 figures a year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Not only is making RL data clearly more economically valuable than some big tech jobs, it just might be more intellectually stimulating too.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Instagram ads can fund a lot of compute&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Compared to OpenAI and Anthropic, Meta has a balance sheet befitting a hyperscaler, and compared to Google, Meta doesn&amp;#8217;t have a cloud business that&amp;#8217;s aggressively trying to rent out as much compute as possible. Add in the fact that Zuck is willing to take &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/hyperscaler-fcf-will-be-negative-in-cy27/"&gt;&lt;span&gt;free cash flow negative&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and Meta should be able to bring up more internal AI compute than anyone else in the world.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is exactly what we see happening. Our new Tokenomics Model projects that Meta will have more AI compute than both OpenAI and Anthropic by the end of this year.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xoie!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="693" src="https://substackcdn.com/image/fetch/$s_!Xoie!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is important to note that a meaningful portion of this compute will be used for recommendation systems (RecSys) and generative ads. However, even if we remain conservative and only assign specific, high-profile Meta DC sites to MSL, their training compute is still comparable to OpenAI and Anthropic through 2026 and 2027. See our recent &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;newsletter&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for a more detailed breakdown on Meta&amp;#8217;s compute strategy and our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for concrete numbers.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;An unprecedentedly large compute ramp led by 5 titans&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Much has been &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/xais-colossus-2-first-gigawatt-datacenter"&gt;&lt;span&gt;written&lt;/span&gt;&lt;/a&gt;&lt;span&gt; about Colossus and Elon&amp;#8217;s ability to bring enormous amounts of compute online quickly, but what Meta&amp;#8217;s doing today is arguably even more impressive, as our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model subscribers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; have known for over a year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta is simultaneously building 5 1GW+ &amp;#8220;titan&amp;#8221; clusters. There&amp;#8217;s Prometheus in Ohio, Hyperion in Louisiana, and 3 unnamed campuses in El Paso, Iowa, and Indiana.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Never in the history of humanity have we ever seen a full 1GW campus under construction simultaneously&amp;#8212;the closest was AWS building 800MW in Indiana for Project Rainier&amp;#8212;yet Meta has two of them right now! Hyperion and Iowa.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For Hyperion, Meta is building the world&amp;#8217;s largest single buildings at 400MW each. A total of 1.5GW is under construction today: 3x 400MW monsters plus 3 more standard 100MW buildings.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DJ57!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb128236e-03a9-4348-b7d9-88fae074df7d_2048x1130.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="803" src="https://substackcdn.com/image/fetch/$s_!DJ57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb128236e-03a9-4348-b7d9-88fae074df7d_2048x1130.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In Iowa, Meta signed a 1GW lease with a leading datacenter operator (&lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;as we flagged in June 2025 in our Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). As you can see from the satellite images below, they&amp;#8217;ve gone from nothing to the full GW under construction in just 1 year.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!G8lv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eced11d-e270-4d33-b432-6ee598575ea0_1746x959.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="800" src="https://substackcdn.com/image/fetch/$s_!G8lv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eced11d-e270-4d33-b432-6ee598575ea0_1746x959.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;May 2025 (left) vs May 2026 (right). Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At Prometheus&amp;#8212;which is already partially operational today&amp;#8212;Meta doesn&amp;#8217;t quite have a full GW currently under construction, but they are fully embracing the scrappy tent DC design we called out in our previous MSL article. The Prometheus cluster also keeps expanding&amp;#8212;from an initial ~1GW to now &amp;gt;3GW within two years. To understand how Meta achieves this, check out our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We have building-level tracking of all five Titans, and are the first to call out any expansions with precise monthly timelines. Some of these facilities use behind-the-meter power and we track the exact type of system and flag permitting risk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bNZe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460e5c7-ad47-45a5-b307-59d7a0d9c87b_2048x1006.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="715" src="https://substackcdn.com/image/fetch/$s_!bNZe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460e5c7-ad47-45a5-b307-59d7a0d9c87b_2048x1006.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Connecting the titans: Meta&amp;#8217;s solution to scale-across&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Since Meta primarily builds and runs their own datacenters, they have more flexibility to customize their infrastructure to fit their actual needs. Prometheus is a good example of this. Instead of a single datacenter or campus, Prometheus is a constellation of 27 datacenters spread across 6 campuses. 5 of these are within 6km of each other and the 6th is 75 to 80km away from the rest.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8HRR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f7b2f35-8c41-43a5-a903-607f493e52f8_2048x983.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="699" src="https://substackcdn.com/image/fetch/$s_!8HRR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f7b2f35-8c41-43a5-a903-607f493e52f8_2048x983.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;AI Networking Model&lt;/a&gt;, Meta&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The reason behind this design choice is that scaling to hundreds of megawatts is currently very challenging, especially regarding thermal and power management. Training the next frontier AI models requires a lot of compute&amp;#8212;way beyond 100MW&amp;#8212;which is why spreading the workload across multiple datacenters is the path forward to overcome current limitations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, with this design choice comes a new challenge: networking. The whole point of a larger cluster is to be able to train larger models in a reasonable timeframe. If the accelerators are not able to communicate efficiently, then there is no point in a gigawatt scale campus. This is where scale-across comes into play.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To address this Meta has introduced a solution called AI-Backbone (or AIBB for short). This is an evolution of their &lt;/span&gt;&lt;a href="https://engineering.fb.com/2025/10/16/data-center-engineering/10x-backbone-how-meta-is-scaling-backbone-connectivity-for-ai/"&gt;&lt;span&gt;10X Backbone&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, specifically designed for AI and massive cluster needs. This network architecture consists of multiple L3 Superspines (or Backend Aggregation - BAG for short) that interconnect up to 5 DSF (Disaggregated Scheduled Fabric) or 7 NSF (Non-Scheduled Fabric) scale-out regions (those can be mixed as well). The L3 Superspines are then aggregated on a single L4 Inter-BAG hub which is set to provide around 22 petabits per second of bi-directional bandwidth across the whole Prometheus cluster.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kdv-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dba2e3c-9f84-4083-a574-80f82a68e91d_2048x692.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="492" src="https://substackcdn.com/image/fetch/$s_!kdv-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dba2e3c-9f84-4083-a574-80f82a68e91d_2048x692.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While the DSF and NSF regions fit into a single datacenter room, the L3 and L4 are distributed across all the datacenters. The L3 layer sits in a single campus, while the L4 is primarily used to interconnect the campuses together. The connection between L3 and L4 is a mix of LR optics and Dense Wave Division Multiplexing (DWDM) systems with ZR optics, depending on the length of the fiber to reach the other campus.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QH5y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f98e89-d671-4183-88a6-66b273d1b90a_2048x785.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="558" src="https://substackcdn.com/image/fetch/$s_!QH5y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f98e89-d671-4183-88a6-66b273d1b90a_2048x785.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalyis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While this seems to be the perfect solution, this network architecture and the distance between the datacenters inherently introduce latency. Inside a DSF or a NSF region, the latency usually sits between 1 to 10&amp;#181;s, but the latency to reach a site that is 100km apart cannot be lower than 500&amp;#181;s, just due to light propagation in the fiber, which forces Meta to use asynchronous strategies for training workflows. The pretraining can be in 1 region synchronously, but the RL can be spread globally quite easily.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Overall, while Prometheus offers a solution to current limitations, the other Titans will go even further with scale-across, connecting campuses up to 2,000kms apart.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Assembling the MSL superteam&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Last year, Meta became famous for offering AI researchers compensation packages that would make Patrick Mahomes jealous. After spending $14B to acquire Alexandr Wang and another $1B+ to buy out Nat Friedman and Daniel Gross&amp;#8217; venture fund, it was &lt;/span&gt;&lt;a href="https://www.theinformation.com/newsletters/ai-agenda/zuckerbergs-new-ai-team-good"&gt;&lt;span&gt;reported&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that Meta had poached at least 14 researchers by the end of June 2025. Most of these people were ex-OpenAI, but there were a handful from Anthropic and Google as well. Some big names include Shengjia Zhao, Trapit Bansal, Joel Pobar, and Jack Rae.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since then, MSL has continued their recruiting frenzy. Notable research/engineering hires include&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Andrew Tulloch (ex Thinking Machines cofounder)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Joshua Gross, Mark Jen, Yinghai Lu (Thinking Machines founding team)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Jason Wei, Hyung Won Chung, and Zhiqing Sun (ex OpenAI)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;MSL&amp;#8217;s not just hiring members of technical staff either. This January, they brought on &lt;/span&gt;&lt;a href="https://about.fb.com/news/2026/01/dina-powell-mccormick-joins-meta-as-president-and-vice-chairman/"&gt;&lt;span&gt;Dina Powell McCormick&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8212;a well connected finance bro and former advisor to both Trump and W Bush&amp;#8212;as President and Vice Chairman to help build out their compute fleet. In the same vein, they also poached the 3 musketeers from OpenAI&amp;#8217;s compute team (Pete Hoeschele, Anuj Saharan, Shamez Hemani) in April, though 1 of them has already quit because of Meta&amp;#8217;s culture issues on the infrastructure org.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Much like when a sports team suddenly starts lavishingly spending on superstars, only time will tell if this newly assembled Meta superteam can actually win a championship. However, Zuck has made his intentions clear and is pooling together all available resources to take a true shot at the frontier. As of today, you can&amp;#8217;t say the same about any other hyperscaler. This could be good or bad for Meta&amp;#8217;s business depending on your priors, but we believe they have the best shot at catching up to Anthropic/OpenAI.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;But just to be clear, success is far from guaranteed&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;We&amp;#8217;re overall bullish on the future of MSL, but it&amp;#8217;s worth emphasizing that they are still basically at step 1. &lt;strong&gt;We commend them for marshaling the resources and balls necessary to take a true shot at building RSI, but now they have to do the actual work.&lt;/strong&gt; Catching up to Anthropic is easier said than done, and at the end of the day, Meta is still a big tech company with lots of competing opinions and priorities.&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we explained in our recent piece on &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;Meta compute&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, there are many ways Meta can temporarily monetize compute in the short term while still giving themselves the optionality to full send MSL if their research org can hit the right milestones. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;However, if they do anything that demonstrates a true weakening of resolve, like signing a long term deal to sell compute with no clawback, disbanding their new RL task creation org, or letting their top researchers walk away, then we would be materially less bullish. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;You could even argue that any one of these would be tantamount to a death sentence for MSL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We briefly tested Muse Spark 1.1 before the official release and believe it&amp;#8217;s roughly on par with Opus 4.6 or GLM 5.2 for general agentic use cases.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The fact that Meta chose to price the model just under GLM 5.2 feels intentional. Some of our engineers noticed it has a bad habit of ignoring warnings instead of fixing them and doesn&amp;#8217;t properly use the edit tool.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;None of our internal token volume will be moving to Muse Spark 1.1, but that&amp;#8217;s still to be expected at this stage. Even in the bull case, we don&amp;#8217;t expect them to be on par with Anthropic or OpenAI until the end of this year.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;What this means for Google&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence"/>
    <summary type="html">&lt;p&gt;&lt;span&gt;It&amp;#8217;s been a little over 1 year since the disastrous Llama 4 release spurred Zuck to rebuild his entire AI org. Highlights include the shocking $14.3B Scale AI &amp;#8220;investment&amp;#8221; just to poach Alexandr Wang and the best people from his Safety, Evaluations, and Alignment Labs (SEAL) team, the multi-hundred million dollar (sometimes $1B+) pay packages offered to top AI researchers/engineers, and the expedited compute ramp enabled by their new &amp;#8220;Tent&amp;#8221; datacenter design. For more details, see our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-superintelligence-leadership-compute-talent-and-data"&gt;&lt;span&gt;original post&lt;/span&gt;&lt;/a&gt;&lt;span&gt; on MSL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since then, frontier AI has increasingly felt like a two horse race between OpenAI vs Anthropic. Google had a brief moment in the spotlight with Gemini 3 Pro and Nano Banana, but they&amp;#8217;ve since faded dramatically. Despite their Windsurf acquisition, they&amp;#8217;re far from a compelling agentic coding product, and 3.5 Flash is a benchmaxxed prop that performs far worse than GPT 5.6 and Opus 4.8 in real world scenarios (much less Fable and 5.6). 3.5 Pro is not even Opus level on coding. Microsoft has completely blown their early lead with GitHub copilot and failed to effectively leverage their access to OpenAI IP. SpaceXAI is selling $26B a year worth of GPUs to Anthropic/Google, and the Chinese labs are simply too compute poor to truly reach the frontier.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meanwhile, MSL made their public debut this April with the launch of Muse Spark. You could argue this model represents a relative regression for Meta. Llama 3 70B and 3.1 405B were both SOTA open-source on release, whereas Muse Spark, despite also being closed source, lagged both DeepSeek v4 Pro and Kimi K2.6&amp;#8212;open source models released around the same time&amp;#8212;on most benchmarks.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UXXc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10bcda4-e9cf-4484-bf12-579e34805f0f_1489x766.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="749" src="https://substackcdn.com/image/fetch/$s_!UXXc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10bcda4-e9cf-4484-bf12-579e34805f0f_1489x766.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;However, evaluating Muse Spark in isolation is missing the forest for the trees. What matters for MSL is the slope, not the intercept. Rebuilding your entire team from the ground up obviously comes with some short term setbacks, and it appears Meta has finally finished paying down this debt. Thus, the interesting question is not where MSL is today, but trying to predict where they&amp;#8217;ll be in the next 6 months. We think it's very possible they are better than Google by then due to the team&amp;#8217;s focus.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;At the simplest level, there are three things you need to build a true frontier model: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;data&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, &lt;/span&gt;&lt;strong&gt;&lt;span&gt;talent&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, and &lt;/span&gt;&lt;strong&gt;&lt;span&gt;compute&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We believe &lt;/span&gt;&lt;strong&gt;&lt;span&gt;Meta&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is the only hyperscaler/neolab on track to be world class at all three and therefore &lt;/span&gt;&lt;strong&gt;&lt;span&gt;has the best chance at catching up with Anthropic/OpenAI&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. We&amp;#8217;ll explain why in full detail below, but as a teaser, here are the AI compute projections from our new &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xoie!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="693" src="https://substackcdn.com/image/fetch/$s_!Xoie!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Lastly, behind the paywall, we&amp;#8217;ll discuss what this all means for Google&amp;#8212;the company most people today still believe rounds out the AI big 3.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Data is the new oil (for real this time)&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;We&amp;#8217;ll start with data because it&amp;#8217;s Meta&amp;#8217;s newest advantage and probably the most underappreciated of the three.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In 2024, Ilya famously said that &amp;#8220;data is the fossil fuel of AI.&amp;#8221; While this analogy correctly highlights the importance of data for training AI models, it incorrectly assumes that the amount of good data is finite. In reality, if demand is strong enough, market forces will find a way.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This time, the invisible hand created a new human data/RL environment supply chain. The three incumbements&amp;#8212;Mercor, Surge, and Handshake&amp;#8212;are all at $1B+ ARR, and many new entrants who are barely a year old (e.g. Fleet, Mechanize, and Afterquery) are sitting around $100M ARR.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!4Uc2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6326095-4d8c-4157-a5d6-6644b8587b7c_2048x1440.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1024" src="https://substackcdn.com/image/fetch/$s_!4Uc2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6326095-4d8c-4157-a5d6-6644b8587b7c_2048x1440.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: Public disclosures, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Reinforcement learning (RL) is the most important scaling law for improving AI capabilities today. The general idea is that instead of just predicting the next token, you teach the model how to complete entire tasks (e.g. fixing a bug in a codebase). Besides the &lt;/span&gt;&lt;em&gt;&lt;span&gt;tasks&lt;/span&gt;&lt;/em&gt;&lt;span&gt; themselves, RL requires you to provide an &lt;/span&gt;&lt;em&gt;&lt;span&gt;environment&lt;/span&gt;&lt;/em&gt;&lt;span&gt; for the model to complete the task in, &lt;/span&gt;&lt;em&gt;&lt;span&gt;tools&lt;/span&gt;&lt;/em&gt;&lt;span&gt; the model can use to interact with the environment, and &lt;/span&gt;&lt;em&gt;&lt;span&gt;verifiers&lt;/span&gt;&lt;/em&gt;&lt;span&gt; to check if the model&amp;#8217;s answer is correct or not. For more background, see our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/scaling-reinforcement-learning-environments-reward-hacking-agents-scaling-data"&gt;&lt;span&gt;previous&lt;/span&gt;&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/rl-environments-and-rl-for-science"&gt;&lt;span&gt;posts&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It is worth emphasizing that many AI insiders believe more RL environments/tasks are all we need to automate virtually all white-collar work. Here&amp;#8217;s a quote from my roommate Sholto Douglas, a prominent Anthropic researcher, on the &lt;/span&gt;&lt;a href="https://www.dwarkesh.com/p/sholto-trenton-2"&gt;&lt;span&gt;Dwarkesh podcast&lt;/span&gt;&lt;/a&gt;&lt;span&gt; last year:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;Even if algorithmic progress stalls out, and we just never figure out how to keep progress going&amp;#8212;which I don&amp;#8217;t think is the case, that hasn&amp;#8217;t stalled out yet, it seems to be going great&amp;#8212;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;the current suite of algorithms are sufficient to automate white collar work provided you have enough of the right kinds of data.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Compared to the TAM of salaries for all of those kinds of work, it is so trivially worthwhile.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;Generally, all of these data companies create new RL tasks by hiring expert contractors from the relevant industries (hence why it&amp;#8217;s called &amp;#8220;human data&amp;#8221;). However, there&amp;#8217;s another thing every data company is desperately searching for today: real recordings of white-collar work.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Screen recordings are extremely valuable for making RL tasks&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Naively, you might think screen recordings are primarily useful for older training paradigms like supervised fine-tuning (SFT) which teach the AI to mimic humans. After all, the whole point of RL is that you let the AI figure out the steps itself and assign rewards based solely on outcomes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In reality, however, screen recordings can still be extremely useful for making RL tasks as long as you&amp;#8217;re willing to do a little extra work.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first benefit is realism. RL data is only good if it&amp;#8217;s 1) representative of real economically valuable work and 2) at the right difficulty level for the AI. Too easy and there&amp;#8217;s nothing for the AI to learn, too hard and it&amp;#8217;ll never achieve any reward.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The only way to calibrate task difficulty is to just have the AI try solving the problem a bunch of times and then iterating accordingly. It&amp;#8217;s actually quite hard to make an RL task that&amp;#8217;s sufficiently difficult for frontier models today, so your expert contractors normally spend their time making tasks more challenging. Mechanize, for example, only &lt;/span&gt;&lt;a href="https://www.mechanize.work/what-working-here-is-like/"&gt;&lt;span&gt;expects&lt;/span&gt;&lt;/a&gt;&lt;span&gt; the software engineers they pay $400k+ per year to make 1 good task per week.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Under these constraints, if you ask the average PE analyst to come up with a new financial modeling task from scratch because you want to RL your model to be better at Excel, you often end up with a contrived task that&amp;#8217;s optimized for difficulty over realism. This is the main problem with benchmarks like OpenAI&amp;#8217;s &lt;/span&gt;&lt;a href="https://openai.com/index/gdpval/"&gt;&lt;span&gt;GDPval&lt;/span&gt;&lt;/a&gt;&lt;span&gt; and Mercor&amp;#8217;s &lt;/span&gt;&lt;a href="https://www.mercor.com/apex/"&gt;&lt;span&gt;Apex&lt;/span&gt;&lt;/a&gt;&lt;span&gt; suite (a good benchmark and a good RL env are roughly equivalent). If you read the tasks, you&amp;#8217;ll see that most are unnaturally over-specified and don&amp;#8217;t sound like something a human would actually ask an AI to do.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For example, here&amp;#8217;s a GDPval task that asks the AI to make an itinerary. In the real world, the difficult part of this task would be fetching all the context from disparate sources (email, text messages, random websites, etc) to build the schedule, but GDPval ignores all of that by just giving the AI super detailed step by step instructions instead. A human would never write this 1k+ word prompt to an AI. It would&amp;#8217;ve been easier to just make the itinerary themselves at that point!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!gTTn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe9b0d1-6d7f-45f4-989d-fe1efaebec18_736x632.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="632" src="https://substackcdn.com/image/fetch/$s_!gTTn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe9b0d1-6d7f-45f4-989d-fe1efaebec18_736x632.png" width="736" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On the other hand, if you base your task on a screen recording of someone doing their day-to-day job, then it&amp;#8217;s guaranteed to be representative of real knowledge work by definition.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Relatedly, workflow best practices and correctness definitions can change a lot over time, so the only way to ensure your data &lt;/span&gt;&lt;em&gt;&lt;span&gt;stays&lt;/span&gt;&lt;/em&gt;&lt;span&gt; realistic is to have a regular stream of real recordings. For example, a good coding RL task today would involve orchestrating subagents, and this simply didn&amp;#8217;t exist just 7 months ago.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Screen recordings are also extremely useful for making verifiers. These days, most verifiers are &lt;/span&gt;&lt;em&gt;&lt;span&gt;rubrics&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. Since white-collar work is generally subjective&amp;#8212;unlike math and coding where you can just check if the final number is correct or run a suite of integration tests&amp;#8212;your verifier ends up being a set of rules/preferences encoded in a rubric that a human or LLM will then use to grade the AI&amp;#8217;s output. As the tasks themselves become longer and more complex, so do their corresponding rubrics.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;If you collect enough traces (typically thousands) of many people doing the ~same task in slightly different contexts, then you&amp;#8217;ll eventually capture the entire action space for said task. This ends up being sufficient information for an LLM to more or less one shot the rubric. Of course, you still need a human to do final review and crucially assign weights to all the different criteria, but this is obviously much more efficient (and typically also higher quality) than asking experts to create the rubrics from scratch.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pyHT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf9f6f95-3289-4c7f-b49d-b37952bcac6a_774x877.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="877" src="https://substackcdn.com/image/fetch/$s_!pyHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf9f6f95-3289-4c7f-b49d-b37952bcac6a_774x877.png" width="774" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Example rubric from OpenAI&amp;#8217;s HealthBench. Source: OpenAI, SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Recordings can be super useful for deterministic verifiers as well. Knowing the underlying state of the application after the task is completed is often step 1 of creating a deterministic verifier for knowledge work, because the whole point of the verifier is to check whether the AI successfully reached the desired end state. A sufficiently detailed recording gives you this info for free.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Meta just created a top tier RL environment startup&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;With this context, we can better appreciate the recent news about Meta starting to track their employees&amp;#8217; screens, keyboards, and mouse movements. This is quite literally some of the most valuable data in the world today! Of course, it&amp;#8217;s also poetically apt that the Scale AI man is the one spearheading the transformation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Whereas all the data companies are desperately trying to partner with investment banks, law firms, and advertising agencies to record their workflows, Meta is one of the few companies in the world that has a sufficiently large workforce dedicated to each of these industries in-house.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The fact that Meta is still nimble and aggressive enough to do this despite the PR hit and initial employee backlash is already quite impressive. Yes, they&amp;#8217;ve since walked it back &lt;/span&gt;&lt;a href="https://www.theinformation.com/articles/meta-rolls-back-parts-employee-tracking-tool-staff-backlash"&gt;&lt;span&gt;slightly&lt;/span&gt;&lt;/a&gt;&lt;span&gt; by strengthening privacy protections and giving employees the option to pause the tracker for 30min, but we think these are very minor concessions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Furthermore, they took their data efforts to &lt;/span&gt;&lt;em&gt;&lt;span&gt;another level&lt;/span&gt;&lt;/em&gt;&lt;span&gt; in late May by announcing a new &amp;#8220;applied AI engineering org&amp;#8221; as part of their most recent round of layoffs/restructuring. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~3000 engineers&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, which includes 70% of their new grads and a significant number of seniors, will now be &lt;/span&gt;&lt;strong&gt;&lt;span&gt;making RL tasks/environments full-time&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We think this is an extremely underappreciated advantage for MSL. Anthropic has been the most aggressive lab by far when it comes to buying coding data from RL environment startups, and it&amp;#8217;s one important reason why their models are so good at coding today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Mercor recently &lt;/span&gt;&lt;a href="https://x.com/EverettRandle/status/2074527860510085498"&gt;&lt;span&gt;disclosed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that they logged 2,517,000 expert hours on their platform in 2Q26, which is equivalent to ~4800 people working 40 hours a week. Meta is already in the same ballpark, and their average quality is likely higher. Additionally, they have another ~70k people to pull from if this experiment ends up being as valuable as we think.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;It&amp;#8217;s also worth briefly dispelling the myth that these 3000 Meta engineers will be doing mindless, low-level data labeling. The days of undereducated contractors from third-world countries drawing bounding boxes or classifying text as NSFW are long gone. At this point, the models are sufficiently smart such that creating a good piece of training data is a real intellectual challenge. Deeply understanding failure modes, ensuring your environment is robust to reward hacking, and scaling task creation without quality degradation are all non-trivial engineering problems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Besides purchasing from data companies, Anthropic engineers have also been making coding tasks themselves for over a year. Frontier labs are willing to pay $5000+ for a single decent coding task. Mercor&amp;#8217;s average pay rate recently &lt;/span&gt;&lt;a href="https://x.com/BrendanFoody/status/2057195063126405430?s=20"&gt;&lt;span&gt;surpassed&lt;/span&gt;&lt;/a&gt;&lt;span&gt; $100/hr, and the rate for SWEs is significantly above average. The top expert contractors at all of these data companies are making over 7 figures a year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Not only is making RL data clearly more economically valuable than some big tech jobs, it just might be more intellectually stimulating too.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Instagram ads can fund a lot of compute&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Compared to OpenAI and Anthropic, Meta has a balance sheet befitting a hyperscaler, and compared to Google, Meta doesn&amp;#8217;t have a cloud business that&amp;#8217;s aggressively trying to rent out as much compute as possible. Add in the fact that Zuck is willing to take &lt;/span&gt;&lt;a href="https://semianalysis.com/institutional/hyperscaler-fcf-will-be-negative-in-cy27/"&gt;&lt;span&gt;free cash flow negative&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and Meta should be able to bring up more internal AI compute than anyone else in the world.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This is exactly what we see happening. Our new Tokenomics Model projects that Meta will have more AI compute than both OpenAI and Anthropic by the end of this year.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Xoie!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="693" src="https://substackcdn.com/image/fetch/$s_!Xoie!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73fcd4ee-3868-4209-972d-eb77c21c6f15_2148x1022.png" title="" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is important to note that a meaningful portion of this compute will be used for recommendation systems (RecSys) and generative ads. However, even if we remain conservative and only assign specific, high-profile Meta DC sites to MSL, their training compute is still comparable to OpenAI and Anthropic through 2026 and 2027. See our recent &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;newsletter&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for a more detailed breakdown on Meta&amp;#8217;s compute strategy and our &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt; for concrete numbers.&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;An unprecedentedly large compute ramp led by 5 titans&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Much has been &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/xais-colossus-2-first-gigawatt-datacenter"&gt;&lt;span&gt;written&lt;/span&gt;&lt;/a&gt;&lt;span&gt; about Colossus and Elon&amp;#8217;s ability to bring enormous amounts of compute online quickly, but what Meta&amp;#8217;s doing today is arguably even more impressive, as our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Industry Model subscribers&lt;/span&gt;&lt;/a&gt;&lt;span&gt; have known for over a year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Meta is simultaneously building 5 1GW+ &amp;#8220;titan&amp;#8221; clusters. There&amp;#8217;s Prometheus in Ohio, Hyperion in Louisiana, and 3 unnamed campuses in El Paso, Iowa, and Indiana.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Never in the history of humanity have we ever seen a full 1GW campus under construction simultaneously&amp;#8212;the closest was AWS building 800MW in Indiana for Project Rainier&amp;#8212;yet Meta has two of them right now! Hyperion and Iowa.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For Hyperion, Meta is building the world&amp;#8217;s largest single buildings at 400MW each. A total of 1.5GW is under construction today: 3x 400MW monsters plus 3 more standard 100MW buildings.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!DJ57!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb128236e-03a9-4348-b7d9-88fae074df7d_2048x1130.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="803" src="https://substackcdn.com/image/fetch/$s_!DJ57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb128236e-03a9-4348-b7d9-88fae074df7d_2048x1130.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In Iowa, Meta signed a 1GW lease with a leading datacenter operator (&lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;as we flagged in June 2025 in our Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). As you can see from the satellite images below, they&amp;#8217;ve gone from nothing to the full GW under construction in just 1 year.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!G8lv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eced11d-e270-4d33-b432-6ee598575ea0_1746x959.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="800" src="https://substackcdn.com/image/fetch/$s_!G8lv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eced11d-e270-4d33-b432-6ee598575ea0_1746x959.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;May 2025 (left) vs May 2026 (right). Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At Prometheus&amp;#8212;which is already partially operational today&amp;#8212;Meta doesn&amp;#8217;t quite have a full GW currently under construction, but they are fully embracing the scrappy tent DC design we called out in our previous MSL article. The Prometheus cluster also keeps expanding&amp;#8212;from an initial ~1GW to now &amp;gt;3GW within two years. To understand how Meta achieves this, check out our &lt;/span&gt;&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;&lt;span&gt;Datacenter Model&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. We have building-level tracking of all five Titans, and are the first to call out any expansions with precise monthly timelines. Some of these facilities use behind-the-meter power and we track the exact type of system and flag permitting risk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!bNZe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460e5c7-ad47-45a5-b307-59d7a0d9c87b_2048x1006.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="715" src="https://substackcdn.com/image/fetch/$s_!bNZe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460e5c7-ad47-45a5-b307-59d7a0d9c87b_2048x1006.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Connecting the titans: Meta&amp;#8217;s solution to scale-across&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;&lt;span&gt;Since Meta primarily builds and runs their own datacenters, they have more flexibility to customize their infrastructure to fit their actual needs. Prometheus is a good example of this. Instead of a single datacenter or campus, Prometheus is a constellation of 27 datacenters spread across 6 campuses. 5 of these are within 6km of each other and the 6th is 75 to 80km away from the rest.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8HRR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f7b2f35-8c41-43a5-a903-607f493e52f8_2048x983.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="699" src="https://substackcdn.com/image/fetch/$s_!8HRR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f7b2f35-8c41-43a5-a903-607f493e52f8_2048x983.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;AI Networking Model&lt;/a&gt;, Meta&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The reason behind this design choice is that scaling to hundreds of megawatts is currently very challenging, especially regarding thermal and power management. Training the next frontier AI models requires a lot of compute&amp;#8212;way beyond 100MW&amp;#8212;which is why spreading the workload across multiple datacenters is the path forward to overcome current limitations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, with this design choice comes a new challenge: networking. The whole point of a larger cluster is to be able to train larger models in a reasonable timeframe. If the accelerators are not able to communicate efficiently, then there is no point in a gigawatt scale campus. This is where scale-across comes into play.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To address this Meta has introduced a solution called AI-Backbone (or AIBB for short). This is an evolution of their &lt;/span&gt;&lt;a href="https://engineering.fb.com/2025/10/16/data-center-engineering/10x-backbone-how-meta-is-scaling-backbone-connectivity-for-ai/"&gt;&lt;span&gt;10X Backbone&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, specifically designed for AI and massive cluster needs. This network architecture consists of multiple L3 Superspines (or Backend Aggregation - BAG for short) that interconnect up to 5 DSF (Disaggregated Scheduled Fabric) or 7 NSF (Non-Scheduled Fabric) scale-out regions (those can be mixed as well). The L3 Superspines are then aggregated on a single L4 Inter-BAG hub which is set to provide around 22 petabits per second of bi-directional bandwidth across the whole Prometheus cluster.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!kdv-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dba2e3c-9f84-4083-a574-80f82a68e91d_2048x692.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="492" src="https://substackcdn.com/image/fetch/$s_!kdv-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dba2e3c-9f84-4083-a574-80f82a68e91d_2048x692.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While the DSF and NSF regions fit into a single datacenter room, the L3 and L4 are distributed across all the datacenters. The L3 layer sits in a single campus, while the L4 is primarily used to interconnect the campuses together. The connection between L3 and L4 is a mix of LR optics and Dense Wave Division Multiplexing (DWDM) systems with ZR optics, depending on the length of the fiber to reach the other campus.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!QH5y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f98e89-d671-4183-88a6-66b273d1b90a_2048x785.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="558" src="https://substackcdn.com/image/fetch/$s_!QH5y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f98e89-d671-4183-88a6-66b273d1b90a_2048x785.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-networking-model/"&gt;SemiAnalyis AI Networking Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While this seems to be the perfect solution, this network architecture and the distance between the datacenters inherently introduce latency. Inside a DSF or a NSF region, the latency usually sits between 1 to 10&amp;#181;s, but the latency to reach a site that is 100km apart cannot be lower than 500&amp;#181;s, just due to light propagation in the fiber, which forces Meta to use asynchronous strategies for training workflows. The pretraining can be in 1 region synchronously, but the RL can be spread globally quite easily.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Overall, while Prometheus offers a solution to current limitations, the other Titans will go even further with scale-across, connecting campuses up to 2,000kms apart.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Assembling the MSL superteam&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Last year, Meta became famous for offering AI researchers compensation packages that would make Patrick Mahomes jealous. After spending $14B to acquire Alexandr Wang and another $1B+ to buy out Nat Friedman and Daniel Gross&amp;#8217; venture fund, it was &lt;/span&gt;&lt;a href="https://www.theinformation.com/newsletters/ai-agenda/zuckerbergs-new-ai-team-good"&gt;&lt;span&gt;reported&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that Meta had poached at least 14 researchers by the end of June 2025. Most of these people were ex-OpenAI, but there were a handful from Anthropic and Google as well. Some big names include Shengjia Zhao, Trapit Bansal, Joel Pobar, and Jack Rae.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Since then, MSL has continued their recruiting frenzy. Notable research/engineering hires include&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Andrew Tulloch (ex Thinking Machines cofounder)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Joshua Gross, Mark Jen, Yinghai Lu (Thinking Machines founding team)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;Jason Wei, Hyung Won Chung, and Zhiqing Sun (ex OpenAI)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;MSL&amp;#8217;s not just hiring members of technical staff either. This January, they brought on &lt;/span&gt;&lt;a href="https://about.fb.com/news/2026/01/dina-powell-mccormick-joins-meta-as-president-and-vice-chairman/"&gt;&lt;span&gt;Dina Powell McCormick&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;#8212;a well connected finance bro and former advisor to both Trump and W Bush&amp;#8212;as President and Vice Chairman to help build out their compute fleet. In the same vein, they also poached the 3 musketeers from OpenAI&amp;#8217;s compute team (Pete Hoeschele, Anuj Saharan, Shamez Hemani) in April, though 1 of them has already quit because of Meta&amp;#8217;s culture issues on the infrastructure org.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Much like when a sports team suddenly starts lavishingly spending on superstars, only time will tell if this newly assembled Meta superteam can actually win a championship. However, Zuck has made his intentions clear and is pooling together all available resources to take a true shot at the frontier. As of today, you can&amp;#8217;t say the same about any other hyperscaler. This could be good or bad for Meta&amp;#8217;s business depending on your priors, but we believe they have the best shot at catching up to Anthropic/OpenAI.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;But just to be clear, success is far from guaranteed&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;We&amp;#8217;re overall bullish on the future of MSL, but it&amp;#8217;s worth emphasizing that they are still basically at step 1. &lt;strong&gt;We commend them for marshaling the resources and balls necessary to take a true shot at building RSI, but now they have to do the actual work.&lt;/strong&gt; Catching up to Anthropic is easier said than done, and at the end of the day, Meta is still a big tech company with lots of competing opinions and priorities.&lt;/p&gt;&lt;p&gt;&lt;span&gt;As we explained in our recent piece on &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;&lt;span&gt;Meta compute&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, there are many ways Meta can temporarily monetize compute in the short term while still giving themselves the optionality to full send MSL if their research org can hit the right milestones. &lt;/span&gt;&lt;strong&gt;&lt;span&gt;However, if they do anything that demonstrates a true weakening of resolve, like signing a long term deal to sell compute with no clawback, disbanding their new RL task creation org, or letting their top researchers walk away, then we would be materially less bullish. &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;You could even argue that any one of these would be tantamount to a death sentence for MSL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;We briefly tested Muse Spark 1.1 before the official release and believe it&amp;#8217;s roughly on par with Opus 4.6 or GLM 5.2 for general agentic use cases.&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; The fact that Meta chose to price the model just under GLM 5.2 feels intentional. Some of our engineers noticed it has a bad habit of ignoring warnings instead of fixing them and doesn&amp;#8217;t properly use the edit tool.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;None of our internal token volume will be moving to Muse Spark 1.1, but that&amp;#8217;s still to be expected at this stage. Even in the bull case, we don&amp;#8217;t expect them to be on par with Anthropic or OpenAI until the end of this year.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;&lt;span&gt;What this means for Google&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/the-future-of-meta-superintelligence"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-09T11:16:14+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/anthropic-3q26-profit-over-1b-the</id>
    <title>Anthropic 3Q26 Profit Over $1B: The Anthropic IPO Financials Sneak Peak</title>
    <updated>2026-07-07T22:04:28+00:00</updated>
    <author>
      <name>Joey Brookhart</name>
    </author>
    <content type="html">&lt;h1&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;When Dario Amodei left OpenAI to start Anthropic in early 2021, the viral release of ChatGPT was over 18 months away and the commercialization of LLMs was practically zero. Just a few short years later, Anthropic and OpenAI combine for ~$100B of ARR and a clear winner emerged in the profitable monetization of AI models in 2026 as Claude Code took the software development world by storm.&lt;/p&gt;&lt;p&gt;Anthropic confidentially filed for IPO on June 1&lt;sup&gt;st&lt;/sup&gt;. Over 1 month later, equity raises from hyperscalers loom, and a reported OpenAI push out of their own IPO until 2027 has led some to question the ability of the labs to raise. However, Anthropic is the clear clubhouse leader in capturing the B2B market today and is doing so in a profitable manner against an unfocused and money-burning competitor.&lt;/p&gt;&lt;p&gt;With this lead, we expect Anthropic to take advantage of their superior business model and margins to invest in further in new models that help extend their lead and monetization over closed and open source competitors. Anthropic has the ability to truly make OpenAI dance and we see Anthropic as the first $6T company as a base-case possibility if they continue to execute. Pricing power, gross margins, business model, and profitability are all reasons for Anthropic to IPO first and put the impetus on OpenAI to open their financials and raise the necessary capital to compete and fund the massive AI buildout still to come. &lt;/p&gt;&lt;p&gt;We&amp;#8217;ve already seen 2 AI Labs IPO this year (Zhipu and Minimax from China), but Anthropic would be the first AI lab of this scale to do so.&lt;span&gt; &lt;/span&gt;A confidential filing means there are no public numbers disclosed. Fortunately, the Tokenomics team at SemiAnalysis works to build the financials from the bottom-up by SKU, tier, and customer type. Recently, a WSJ article on Anthropic&amp;#8217;s financials confirmed the accuracy of the work our Tokenomics team does across labs and hyperscalers to help investors, corporates, and other stakeholders understand the economics and financials of the AI Ecosystem. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Gu_j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe65915eb-3674-47ab-9cc2-414da2d89492_1308x874.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!Gu_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe65915eb-3674-47ab-9cc2-414da2d89492_1308x874.png" width="1308" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: WSJ, &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;SemiAnalysis Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In this article, we&amp;#8217;ll dive deep into the work our team has done in the &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; and walk you through the financial details of Anthropic, how that compares to OpenAI, where we see the market moving, and implications for the value chain and broader AI market. While other SemiAnalysis work focuses on the technical aspects of AI Labs, this piece will focus solely on the current and future financials, margin economics, and long-term outlook for Anthropic. &lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/anthropic-3q26-profit-over-1b-the"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/anthropic-3q26-profit-over-1b-the"/>
    <summary type="html">&lt;h1&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h1&gt;&lt;p&gt;When Dario Amodei left OpenAI to start Anthropic in early 2021, the viral release of ChatGPT was over 18 months away and the commercialization of LLMs was practically zero. Just a few short years later, Anthropic and OpenAI combine for ~$100B of ARR and a clear winner emerged in the profitable monetization of AI models in 2026 as Claude Code took the software development world by storm.&lt;/p&gt;&lt;p&gt;Anthropic confidentially filed for IPO on June 1&lt;sup&gt;st&lt;/sup&gt;. Over 1 month later, equity raises from hyperscalers loom, and a reported OpenAI push out of their own IPO until 2027 has led some to question the ability of the labs to raise. However, Anthropic is the clear clubhouse leader in capturing the B2B market today and is doing so in a profitable manner against an unfocused and money-burning competitor.&lt;/p&gt;&lt;p&gt;With this lead, we expect Anthropic to take advantage of their superior business model and margins to invest in further in new models that help extend their lead and monetization over closed and open source competitors. Anthropic has the ability to truly make OpenAI dance and we see Anthropic as the first $6T company as a base-case possibility if they continue to execute. Pricing power, gross margins, business model, and profitability are all reasons for Anthropic to IPO first and put the impetus on OpenAI to open their financials and raise the necessary capital to compete and fund the massive AI buildout still to come. &lt;/p&gt;&lt;p&gt;We&amp;#8217;ve already seen 2 AI Labs IPO this year (Zhipu and Minimax from China), but Anthropic would be the first AI lab of this scale to do so.&lt;span&gt; &lt;/span&gt;A confidential filing means there are no public numbers disclosed. Fortunately, the Tokenomics team at SemiAnalysis works to build the financials from the bottom-up by SKU, tier, and customer type. Recently, a WSJ article on Anthropic&amp;#8217;s financials confirmed the accuracy of the work our Tokenomics team does across labs and hyperscalers to help investors, corporates, and other stakeholders understand the economics and financials of the AI Ecosystem. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Gu_j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe65915eb-3674-47ab-9cc2-414da2d89492_1308x874.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="874" src="https://substackcdn.com/image/fetch/$s_!Gu_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe65915eb-3674-47ab-9cc2-414da2d89492_1308x874.png" width="1308" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Source: WSJ, &lt;/span&gt;&lt;a href="https://semianalysis.com/tokenomics-model/"&gt;&lt;span&gt;SemiAnalysis Tokenomics Model&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;In this article, we&amp;#8217;ll dive deep into the work our team has done in the &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; and walk you through the financial details of Anthropic, how that compares to OpenAI, where we see the market moving, and implications for the value chain and broader AI market. While other SemiAnalysis work focuses on the technical aspects of AI Labs, this piece will focus solely on the current and future financials, margin economics, and long-term outlook for Anthropic. &lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/anthropic-3q26-profit-over-1b-the"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-07T22:04:28+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/nvidia-gpu-debt-backstop-unleashes</id>
    <title>Nvidia GPU Debt Backstop Unleashes the AI Project Trinity: Capital, Offtake and Datacenters</title>
    <updated>2026-07-06T13:53:44+00:00</updated>
    <author>
      <name>Daniel Nishball</name>
    </author>
    <content type="html">&lt;p&gt;Up until now the majority of AI buildouts have been primarily cashflow funded by the hyperscalers such as Google, Amazon, Meta, Microsoft, Oracle. Over the last year, that's started to turn with Oracle then Meta, and now even Google turning to debt. Nvidia revenue is skyrocketing, and even 3 years into the build out, the general market is still materially lower on shipment volumes and revenue estimates for Nvidia in the 2nd half of this year versus our through supply chain tracking in the &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Accelerator Model&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-VjA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2916f00c-b65e-412b-8f45-bf1ae5ba3259_1330x816.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!-VjA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2916f00c-b65e-412b-8f45-bf1ae5ba3259_1330x816.jpeg" width="1330" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AI Debt Financing will become a multi-trillion-dollar credit market, with over $7T of debt outstanding by 2029 driven both by AI IT Capex and AI Datacenter Capex needs. This will make it the second largest asset backed debt market after the US mortgage-backed financing market at just over $13T.&lt;/p&gt;&lt;p&gt;Annual AI Capex &amp;#8211; including GPUs, networking, storage and attached CPU compute as well as for the Datacenters to house AI compute &amp;#8211; will be well north of $2T in 2028. Cumulative AI Capex from 2024 to 2029 will reach ~$11.1T, and credit markets will be the main funding source for this buildout. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hwZ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a4f32d-aa08-4d9e-80f5-06a0377b14fc_1912x1042.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!hwZ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a4f32d-aa08-4d9e-80f5-06a0377b14fc_1912x1042.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The surge in borrowing requirements to date has driven by briskly growing demand from AI labs and hyperscalers, and the construction of AI clusters to service this demand was made financeable by long-term take-or-pay compute contracts backed by hyperscalers, with the most common offtake period being 5 years. Though this article will mainly focus on financing AI IT Capex - that is, GPUs and related capex like storage, networking and CPUs attached - there is much that also needs to be done to support the growth of datacenter capex financing. &lt;/span&gt;A much more detailed breakdown of both AI IT Capex and AI Datacenter Capex can be found in our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI TCO Model&lt;/a&gt; and &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;AI Datacenter Model&lt;/a&gt; respectively. &lt;/p&gt;&lt;p&gt;Executing on any AI Compute buildout requires assembling all three legs of what we call the &lt;strong&gt;AI Project Trinity &amp;#8211; &lt;span&gt;Capital, &lt;/span&gt;Offtake, Datacenter&lt;/strong&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Capital:&lt;/strong&gt; As of today, lenders require an offtake contract or a backstop from an investment grade hyperscaler before they will provide debt financing.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Offtake:&lt;/strong&gt; To secure an offtake, you first need equity capital to demonstrate you can place deposits for the required IT equipment, but to raise equity &amp;#8211; one needs to demonstrate that they have an offtaker and lenders in place!&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Datacenter:&lt;/strong&gt; Lastly, an aspiring Neocloud must either have a solid offtaker and lending lined up in order to convince datacenter operators to rent colocation to them, or the Neocloud must build a datacenter themselves.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Yet this is far from an impossible trinity, and many Neoclouds have been executing on cluster build-outs. Deals have been happening, but they come together thanks to clever structuring of one or more legs of the Trinity, close sponsorship of or matchmaking by capital providers like private equity firms that have been serial providers of capital to Neoclouds and Datacenters, and of course, some good old-fashioned risk taking on the part of everyone involved.&lt;/p&gt;&lt;p&gt;Our forecasts for GPU shipments and datacenter capex for the next few years imply that the total outstanding AI debt financing needs will quickly surpass the size of all other US asset backed markets.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ez9K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85fee2a7-2c70-4b1f-9daa-7febc68465ff_1713x1008.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="857" src="https://substackcdn.com/image/fetch/$s_!ez9K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85fee2a7-2c70-4b1f-9daa-7febc68465ff_1713x1008.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;, NY Fed, FRED&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;But growing this debt market from hundreds of billions in 2024 and 2025 to ~$7.1T by 2029 is no mean feat &amp;#8211; there are a number of significant obstacles that must be overcome for the debt market to reach this size and for the compute market to serve more than just hyperscalers and large AI labs:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hyperscaler backstops are not infinite:&lt;/strong&gt; Hyperscaler balance sheets will not be able to backstop trillions of dollars&amp;#8217; worth of compute, yet outside of the four corners of a 5-year hyperscale backstopped compute deal, the appetite to lend drops off almost entirely. If the lending market does not evolve beyond this template, once hyperscalers exhaust their capacity to backstop deals, there will be no further projects to lend to.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lenders are still on the learning curve:&lt;/strong&gt; Private credit and private equity have led the charge on lending to the first batch of large Neoclouds, but as spreads compress over time, and as capital needs increase, a broader set of lenders will need to be tapped, yet most banks still have a nascent understanding of AI Cluster total cost of ownership, the AI compute market as well as tokenomics and end demand and still hide behind the shield of an investment grade offtake or backstop.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Capital providers lack tools for pricing and &lt;span&gt;managing&lt;/span&gt; risk&lt;span&gt;:&lt;/span&gt; &lt;/strong&gt;There are very few well-constructed price indices for GPU rental outside of our own &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;SemiAnalysis GPU Rental Pricing Index&lt;/a&gt;. GPU rental transactions are all on a bilateral basis and not generally publicly available, and there is no active derivatives market to provide a pricing signal or a good reference for GPU residual value.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The current Neocloud market structure has a few other issues. The most pressing problem to solve is broad-based access to compute for renters other than hyperscalers and large AI labs, as well as the limited supply of shorter-term rentals given that most lending is for the 5y backstop template.&lt;/p&gt;&lt;p&gt;For example, VC-backed AI startups and inference providers may be cash rich, but they want large clusters on short term contracts so they can quickly get to their next round of funding and reload on compute. With most Neoclouds thus far preferring to stick with doing large 5y offtakes, these startups are forced to take on larger prepayment or longer contracts than they want, rent fewer GPUs than they need, end up using different GPUs than they would prefer, and often have to settle for start dates far into the future.&lt;/p&gt;&lt;p&gt;Inference providers in particular are very contracted time sensitive compared to training focused AI Labs. While AI Labs are able to commit for longer periods like 3 years and beyond, inference providers are completely unwilling to sign for longer than 1y and would rather forego access to compute than take the risk of committing for any extended period of time. &lt;/p&gt;&lt;p&gt;When it comes to shorter-dated rentals for everyone else, it is still a seller&amp;#8217;s market. At this point, we are only aware of a few Neoclouds that are still offering 1y rentals, and they are setting aggressive terms for rental &amp;#8211; sometimes requiring prepays of up to 100% of the total contract value. Neoclouds have so much demand for their GPUs that they are able to solve for a prepay amount that can entirely fund the cluster capex, meaning a theoretically infinite IRR as they can stand up a cluster with no cash out the door on their part!&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Enter: The Nvidia Backstop&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;In 2025, we wrote extensively about how datacenter capacity was the bottleneck for AI compute growth. By early 2026, the datacenter supply situation improved considerably, but it became clear that chip production was now the limiting constraint. Now &amp;#8211; mid-way through the year &amp;#8211; it is clear that financing will now be one of the most significant obstacles to ramping large scale compute broadly available to everyone.&lt;/p&gt;&lt;p&gt;This is why &lt;a href="https://blogs.nvidia.com/blog/nvidia-unlocks-ai-compute-at-scale-capital-partners-to-power-ai-infrastructure-buildout/"&gt;Nvidia has stepped in and has started backstopping GPU rental offtakes themselves&lt;/a&gt;. &lt;span&gt;In the backstop program, Nvidia provides a take-or-pay commitment to Neoclouds &amp;#8211; a minimum revenue guarantee on the underlying GPU capacity. In exchange for this backstop, Nvidia also shares in a portion of the Neocloud&amp;#8217;s revenue earned above the backstop level.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The Neocloud is of course free to rent to any other customer they would like for any term length they deem commercially reasonable and indeed the intent is for the Neocloud to never actually have to invoke the backstop.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Nvidia&amp;#8217;s backstop program has a few key objectives:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;To broaden compute availability:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; This objective has two dimensions, to open up the compute market well beyond just a few large hyperscalers and AI labs and to ensure rental contracts of varying contract terms (tenor) are available and not just 5y terms &amp;#8211; particularly short terms of less than 1 year,&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Support evolution of the GPU financing market:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; To ease lenders into funding Neoclouds with a varied book of clients and rental contract tenors by buying time for lenders to get up the learning curve and adopt tools to price and manage risk,&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grow Neoclouds:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Provide early support so Neoclouds can grow rapidly and establish a track record and demonstrate the viability of their business model and client books so that they can become platforms that can be banked on attractive terms as well as take up datacenter obligations with greater ease. This broadens the base of buyers beyond just a few hyperscalers that will pit their own custom silicon solutions against Nvidia&amp;#8217;s systems.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;With this backstop in hand &amp;#8211; the Neocloud can much more easily assemble the &lt;strong&gt;AI Project Trinity:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Capital:&lt;/strong&gt; Lenders look to Nvidia&amp;#8217;s backstop and its AA/Aa2 investment grade credit rating and are satisfied to lend matching the length of the backstop. With a viable go to market plan and an Nvidia backstop, equity can be raised to fund deposits to secure equipment and the various payments needed to start developing the cluster.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Offtake:&lt;/strong&gt; Having the backstop in hand and with funding for the cluster, Neoclouds can then tap previously unaddressed offtake demand outside of just the typical 5-year AI lab or hyperscale offtake.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Datacenter:&lt;/strong&gt; However, even with the backstop in place, securing the final leg of the Trinity and obtaining datacenter capacity remains challenging absent a creative datacenter rental structure or resorting to a self-built datacenter. Here, Nvidia is diving even deeper, as it has started backstopping datacenter leases.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The incremental revenue from the backstop program will be significant, but Nvidia stands to gain far more from these backstops than this additional revenue. They aim to do nothing less than entirely reshape the structure of the GPU market itself. We have already discussed how the TAM they can sell into will become bottlenecked very soon if a 5y hyperscaler backstopped offtake is the only viable deal structure.&lt;/p&gt;&lt;p&gt;In January 2026 for institutional subscribers, we first discussed how Nvidia was becoming the &lt;a href="https://semianalysis.com/institutional/nvidia-as-the-central-bank-of-ai/"&gt;Central Bank of AI&lt;/a&gt;. A central bank exists to supply liquidity when others in the banking system are unwilling to step in, supporting economic activity until others are ready to take over. &lt;/p&gt;&lt;p&gt;Most in the neocloud ecosystem are unable to raise enough debt for large GPU buildouts unless they lease to the big hyperscalers directly. Nvidia doesn't want the market to be the same handful of concentrated buyers. The small buyers want GPUs, can pay for them, but they can't offer credit ratings to creditors funding the build out. In mid-2026, Nvidia is clearly showing it stands ready to offer this support as the central bank.&lt;/p&gt;&lt;h2&gt;&lt;span&gt;How Nvidia&amp;#8217;s Backstops are Structured&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Nvidia&amp;#8217;s backstop program is typically six years in length, and during these six years, Nvidia stands ready to purchase compute at pre-agreed price levels that vary over the time period. Each Neocloud is expected to negotiate the backstop terms individually, and we can expect that different Neoclouds may end up with different revenue share and backstop schedules. The below table is an illustrative example to explain the basic terms of the program &amp;#8211; we present a backstop pricing curve that we believe to be on the lower end of the backstop range &amp;#8211; in this case at an average of $2.36 over the six-year period, but we expect that most Neoclouds will negotiate higher backstops.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!T-9d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e1d5d2-07c6-45eb-b412-beb9f02d0ec7_1374x840.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="840" src="https://substackcdn.com/image/fetch/$s_!T-9d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e1d5d2-07c6-45eb-b412-beb9f02d0ec7_1374x840.png" width="1374" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s start by exploring Neocloud economics under the backstop program by considering a few different scenarios. In the first scenario, the Neocloud focuses on a customer base that rents at a 1-year or lower tenor, so we model the 1-year rental price for a GB300 starting at $6.75/hr for the first year before decaying over time as the overall market cost of compute declines. As with any business that is operating a &amp;#8220;curve trade&amp;#8221; &amp;#8211; that is investing long and renting out on shorter tenors &amp;#8211; we should expect that in theory the average realized rental price over the project lifetime should be slightly higher than the current 6y fixed price of ~$4.00. This is to compensate the Neocloud for taking on future price risk.&lt;/p&gt;&lt;p&gt;&lt;span&gt;In any given year, the Neocloud will earn 100% of the rental price up to the backstop amount, but in respect of the amount which the rental price exceeds the backstop, the Neocloud will share a portion of this revenue with Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the table below, we show workings for this scenario. Let&amp;#8217;s walk through an example of how to calculate the Neocloud&amp;#8217;s revenue share. In the case where Nvidia earns 40% revenue share, we see that in year 1, the Neocloud will charge its customers $6.75/hr on average. Of this, the Neocloud earns the full amount up to Nvidia&amp;#8217;s year 1 backstop of $3.68/hr, but for the difference between $6.75/hr charged to customers and the $3.68/hr backstop amounting to $3.07/hr, Nvidia will earn $1.23/hr and the Neocloud will earn $1.84/hr. In total, the Neocloud will realize $5.52/hr for the first year, which of course is lower than the $6.75/hr that they would have earned without the backstop. Over the six years of this scenario, the Nvidia take rate works out to be about 18% on average, but without the backstop, there would be no cluster!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mYyC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd291829-e0fc-4010-88f1-0289b41540da_2093x985.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="685" src="https://substackcdn.com/image/fetch/$s_!mYyC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd291829-e0fc-4010-88f1-0289b41540da_2093x985.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our second scenario analysis illustrates how the backstop math would work with a 6-year fixed price offtake. This scenario is admittedly an oxymoron &amp;#8211; if you can get a 6-year fixed price offtake, then you of course do not need an Nvidia backstop and would thus would certainly not want to pay the revenue share out to Nvidia. Turning around and renting out compute on a 6-year contract would also be against the spirit of Nvidia&amp;#8217;s backstop program as this deal would do nothing to further the objective of supplying compute for shorter tenors to a variety of different buyers, especially emerging workloads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XzuP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c47e665-684c-418a-ae77-decbf7c97c5d_2081x979.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="685" src="https://substackcdn.com/image/fetch/$s_!XzuP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c47e665-684c-418a-ae77-decbf7c97c5d_2081x979.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is important to highlight that while Nvidia does have meaningful internal compute needs, neither Nvidia or the Neoclouds have any intention of using the backstop, and thus it is not surprising that the backstop levels would result in a typical Neocloud earning a zero or slightly negative project IRR.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the table below, we illustrate the economics of renting to Nvidia under the backstop. This scenario would only materialize if the Neocloud is unable to find sufficient third-party customers at market-clearing rental and must activate the backstop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;That said, this scenario is exactly why the structure is financeable. Though the IRRs earned under this scenario will turn out to be near zero or even slightly negative, the Neocloud will at least still be able to cover debt payments, making lenders comfortable with this structure. Loan underwriting for clusters with an Nvidia backstop will evaluate debt service coverage ratios in the scenario in which the backstop is triggered to determine how much funding can be provided.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ukrj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410dca1e-6116-48ae-971b-98bdba1a494d_2067x984.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="693" src="https://substackcdn.com/image/fetch/$s_!Ukrj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410dca1e-6116-48ae-971b-98bdba1a494d_2067x984.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The table below summarizes the return profiles under the various scenarios discussed above as well as displaying the economics of a Neocloud renting at the same prices but without any backstop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We see that the short-term 1y rental book scenario clearly offers the best IRR among the backstopped scenarios at 25.4%, and these IRRs could realize even higher if the rental market turns out to be strong enough such that 1y and shorter rental rates decay by less than we modeled in the curve below. As expected, the IRRs are higher without a backstop &amp;#8211; reaching as high as 40.7% when renting for 1y tenors with no backstop. But if Neoclouds activate the backstop and rent to Nvidia at those prices, they can expect to earn zero or negative IRRs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!hNrA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9635616-f668-4bf4-aa3e-7d62a25b24fa_1842x436.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="345" src="https://substackcdn.com/image/fetch/$s_!hNrA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9635616-f668-4bf4-aa3e-7d62a25b24fa_1842x436.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;How to Price a GPU Loan&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Many lenders are already being sounded out on the Nvidia backstop structure. They use the typical hyperscale backstopped compute deals as a starting point for their credit assessment but instead substitute Nvidia&amp;#8217;s credit rating.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s briefly review how the GPU financing market works before we explain how this market is evolving to cater to the Nvidia backstop. Pricing for Neocloud financing with a long-term offtake is heavily driven by credit spreads for the hyperscaler or other company that is providing the offtake as opposed to following the Neocloud&amp;#8217;s credit spreads. Instead &amp;#8211; the Neocloud&amp;#8217;s execution risk is what drives the spread above the underlying hyperscaler&amp;#8217;s credit spread.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8uTk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F325a2b10-90c0-498e-962d-4cee9c67ecc2_1372x1027.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1027" src="https://substackcdn.com/image/fetch/$s_!8uTk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F325a2b10-90c0-498e-962d-4cee9c67ecc2_1372x1027.png" width="1372" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Readers may notice the huge gap between CoreWeave 5y unsecured bonds at ~10% and the 5.9% that CoreWeave paid for the fixed-rate tranche of their DDTL 4.0 $8.5B delayed-draw term loan, which was backstopped by Meta. This 5.9% yield works out to about 90 basis points wider than Meta&amp;#8217;s 5y bond yield of ~5.0%. This can be interpreted as the market pricing CoreWeave&amp;#8217;s execution risk with respect to that particular project at 90bps.&lt;/p&gt;&lt;p&gt;We breakdown the main type of financing we see today in the table below from lowest credit risk to highest credit risk.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3txi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08fcf97d-9745-4358-a1ee-9f47c1aa8498_1259x1059.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1059" src="https://substackcdn.com/image/fetch/$s_!3txi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08fcf97d-9745-4358-a1ee-9f47c1aa8498_1259x1059.png" width="1259" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A natural question to ask is why has financing not evolved outside the four walls of 5-year IG offtake take-or-pay contracts? Neocloud financing has been challenging because it involves financing a complicated and novel stack of infrastructure and IT equipment where end demand for tokens is still new, not well understood by lenders, and lacks a long history from which to draw insights on risk management from. For lenders, it is much easier to focus on the hyperscaler offtake or backstop as there is no need to dive deep into tokenomics or rapidly evolving AI models and delve into the minutia of which scale-up network topologies perform best on the all to all collective &amp;#8211; at the end of the day, it is hyperscaler risk.&lt;/p&gt;&lt;p&gt;Neoclouds have also had a strong incentive to stick with this recipe. To fund a cluster that they intend to rent on shorter terms with a broad book of customers, a Neocloud would have to fall back on unsecured funding. For a top Neocloud, this would mean paying an additional 4% interest, which would significantly impact the economics of the deal given the 70-80% loan to value ratios used to finance GPUs. In our modelling, we show that increasing funding from an all-in cost of 5.62% to an all-in cost of 10% drops PBT margins from 14.8% down to only 5.4%. Unsecured lending to a top Neocloud would probably be around 10%, but expect even more expensive unsecured financing for smaller Neoclouds with a shorter track record.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BOVT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8da114fb-460b-4e95-8e0f-14dca491cf28_2097x1051.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="730" src="https://substackcdn.com/image/fetch/$s_!BOVT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8da114fb-460b-4e95-8e0f-14dca491cf28_2097x1051.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Lastly, let&amp;#8217;s discuss how banks will size lending to Neoclouds.&lt;/p&gt;&lt;p&gt;The most important debt ratio that lenders look at is the debt service coverage ratio (DSCR). DSCR is calculated as the ratio of the project&amp;#8217;s cash generation divided by total debt interest and principal payments in each period, and it is a measure of how well covered the debt payments are by the cash flow of the business.&lt;/p&gt;&lt;p&gt;When it comes to the Nvidia backstop, banks look at the DSCR ratios assuming revenue earned under the scenario where the backstop is activated. They are looking for a DSCR of at least 1.3x, particularly for the first few years of GPU financing agreement and size their loans to ensure that this bar is met. This typically corresponds to a 70-80% loan to value (LTV) ratio.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!bjgL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7e7aa7d-03f6-4dab-82be-cb51c1726a26_1811x410.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="330" src="https://substackcdn.com/image/fetch/$s_!bjgL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7e7aa7d-03f6-4dab-82be-cb51c1726a26_1811x410.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Great Expectations &amp;#8211; How the GPU Financing Market will Come of Age&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;GPU financing will have to rapidly evolve if it is to meet the staggering capital needs we outlined earlier in this article, and financing Nvidia backstopped clusters is the vanguard of this huge shift. Lenders in the past were not comfortable financing projects with price risk and have wanted a long-term offtake from a strong credit, a residual value cushion, a parent guarantee, a vendor backstop or some other floor under the asset. However, lenders are now starting to look deeper into Neoclouds&amp;#8217; business models, with our assistance and due diligence consulting services. Even though they have the Nvidia backstop in their back pocket, the highest quality lenders are now utilizing SemiAnalysis to scrutinize Neoclouds&amp;#8217; operational quality, go to market plan, customer book and pricing strategy.&lt;/p&gt;&lt;p&gt;This is a healthy development &amp;#8211; and the Nvidia backstop provides the support that lenders need to get up the curve and prepare for the era when they will finance Neoclouds as a standalone platform basis without any external backstops or guarantee, just like they would understand any other business they lend to that invest in the long term yet are exposed to shorter-term price risk &amp;#8211; be it petrochemical companies, memory chip manufacturers and the like.&lt;/p&gt;&lt;p&gt;We think that initial lending will be at a wider spread than the current 5y backstopped hyperscale deals which come in at around SOFR + 225bps (roughly equivalent to a Z-spread of 195bps, or about 5.9% total yield) but at a tighter spread than CoreWeave&amp;#8217;s 5-year unsecured corporate bond which has a yield of ~10% (roughly equivalent to Z-spread of 600bps).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Y6oJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bbcb086-bb5e-48f9-bfef-d14978dbc7c6_1381x962.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="962" src="https://substackcdn.com/image/fetch/$s_!Y6oJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bbcb086-bb5e-48f9-bfef-d14978dbc7c6_1381x962.png" width="1381" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Tools that GPU Lenders Will Need&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Lenders will also need tools to price and manage risk in the new GPU lending world order. They will need a good GPU rental price index, a way to forecast GPU rental prices into the future and a model for estimating and tracking GPU residual value over time. They will need some way to differentiate among operator quality and a framework for understanding the differences in operator capability. They will also need to be able to model end demand, and how token demand maps into GPU demand.&lt;/p&gt;&lt;p&gt;Luckily &amp;#8211; at SemiAnalysis, we have already launched products that address many of these needs!&lt;/p&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;GPU Rental Pricing Index&lt;/a&gt; tracks bilateral contract prices across the entire term structure, from on-demand to 5-year deals, across all major GPU SKUs, giving lenders and investors a transparent, transaction-validated benchmark where none previously existed. The H100 1y index is freely available for public use!&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xIkW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e59f431-0861-4381-98df-4791369f3e72_903x452.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="The image displays a graph depicting the hourly cost of GPUs based on different contract terms, with a descending price trend over time.

AI-generated content may be incorrect." class="sizing-normal" height="452" src="https://substackcdn.com/image/fetch/$s_!xIkW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e59f431-0861-4381-98df-4791369f3e72_903x452.png" title="The image displays a graph depicting the hourly cost of GPUs based on different contract terms, with a descending price trend over time.

AI-generated content may be incorrect." width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;SemiAnalysis GPU Rental Price Dashboard&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Meanwhile, our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI TCO Model&lt;/a&gt; has been forecasting GPU rental prices since 2023 and provides a complete three statement financial model complete with return metrics like IRR, return on invested capital, debt service coverage ratio and more. In our consulting practice, where we have provided technical and consulting due diligence to clients that have provided tens of billions in capital to Neoclouds, we have used the AI TCO model as a tool to validate many of their commercial assumptions and help underwrite the investment cases. The AI TCO Model also includes a framework for calculating GPU residual values and much more.&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.clustermax.ai/"&gt;ClusterMAX&lt;/a&gt; is the only Neocloud rating system in the industry. Our ClusterMAX rating system evaluates GPU cloud providers across 10 criteria including reliability, networking, and pricing, giving capital providers a standardized quality framework to assess counterparty and collateral risk. We do significant custom diligence as ClusterMAX cannot be used for commercial purposes without our authorization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!09_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56830a5-f887-46fb-843d-d431d95f9337_903x454.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="ClusterMAX 2.1 Rankings" class="sizing-normal" height="454" src="https://substackcdn.com/image/fetch/$s_!09_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56830a5-f887-46fb-843d-d431d95f9337_903x454.jpeg" title="ClusterMAX 2.1 Rankings" width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.clustermax.ai/v2.1"&gt;ClusterMAX 2.1 Rankings&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;tokenomics practice&lt;/a&gt; tracks end token demand and consumption closely across hyperscalers and AI labs with a focus on SKU and model level ARRs for all key labs, model performance, token pricing, and more.&lt;/p&gt;&lt;p&gt;Lastly, our &lt;a href="https://inferencex.semianalysis.com/"&gt;InferenceX&lt;/a&gt; benchmarking product continually measures and tracks real-world GPU inference throughput and token efficiency across inference systems, models and software configurations, enabling lenders and operators to quantify the productive output, and therefore the revenue-generating capacity, of a cluster they are financing. It is an important resource for mapping token demand into GPU demand.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UonN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d7dc78-7a55-457c-a1d7-8092b60758d6_903x556.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="The image is a line chart comparing token throughput per GPU for various models like MI355X, B200, and B300, showing different configurations and their performance in terms of tokens processed per second per GPU.

AI-generated content may be incorrect." class="sizing-normal" height="556" src="https://substackcdn.com/image/fetch/$s_!UonN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d7dc78-7a55-457c-a1d7-8092b60758d6_903x556.png" title="The image is a line chart comparing token throughput per GPU for various models like MI355X, B200, and B300, showing different configurations and their performance in terms of tokens processed per second per GPU.

AI-generated content may be incorrect." width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Current and Future Backstop Activity&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Nvidia&amp;#8217;s backstop program is only getting started, and we see announcements coming faster every quarter. Many Neoclouds are already deep in negotiations with Nvidia, and there are still others that are considering engaging with the backstop program. Let&amp;#8217;s briefly discuss the deals that have been announced to date &amp;#8211; all of which are in the Asia Pacific region so far.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first is SharonAI&amp;#8217;s 72MW AI factory in Australia. Announced in June 2026, the deal has SharonAI scaling up to as many as 40,000 GB300s under a six-year backstop. Sharon disclosed a total backstop value of $4.88B, which works out to an implied floor of about $2.33/hr/GPU on average over the six year period. Sharon AI&amp;#8217;s footprint is now set to grow to 132MW with 102MW contracted, and the company guides to reaching more than 55,000 Nvidia GPUs in total (inclusive of the 40,000 GB300s backstopped) by mid-2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Firmus&amp;#8217;s 360MW AI Cluster in Batam, Indonesia is the next major project announced with an Nvidia backstop. It will likely be housed in a DayOne facility in Kabil Industrial Tech Park (KITP). Announced just recently on June 29&lt;/span&gt;&lt;sup&gt;&lt;span&gt;th&lt;/span&gt;&lt;/sup&gt;&lt;span&gt;, 2026, this project shows the scale at which Nvidia is rolling out the backstop program. Firmus&amp;#8217; first clusters were based in Singapore and focused on H100s deployed using immersion cooling. The next key cluster launched was the 18,000 GB300 cluster in Melbourne, Australia housed in a 42MW self-built datacenter. This project was financed using a $10B USD facility led by Blackstone (Tactical Opportunities, Credit and Insurance) and supported by Coatue.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lvx-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbef626-a495-4d25-a923-31eb3d2ddbb1_1699x1179.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1010" src="https://substackcdn.com/image/fetch/$s_!lvx-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbef626-a495-4d25-a923-31eb3d2ddbb1_1699x1179.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Google Maps&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Nvidia backstop allows Firmus to grow their business by an order of magnitude. As per Nvidia&amp;#8217;s key objectives that we outlined above, the focus of this cluster will be to open up compute to a variety of AI Natives, Enterprises and Inference Providers, with many different rental tenors to be offered. Firmus announced that they expect $25B to $30B of customer revenue over the six years. We expect a portion of the revenue above the backstop level will be shared with Nvidia as per the structure we outlined earlier today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond this &amp;#8211; Firmus also announced a 600MW firm-energy deal with Gunvor that will also underwrite 1.2GW of new renewables development and 1.5GWh of storage in South Australia by 2032. Firmus will still need to identify a datacenter provider or build their own datacenters before they can deploy GPUs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We have seen many other neoclouds having backstops, but many are not public yet.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia is not the only merchant GPU vendor to utilize backstops. AMD has already been providing backstops starting last year. We wrote in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-advancing-ai-mi350x-and-mi400-ualoe72-mi500-ual256"&gt;&lt;span&gt;AMD article from June 2025&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that AMD offered AWS, OCI, Digital Ocean, Vultr, Tensorwave, Crusoe and other Neoclouds a backstop deal, whereby in exchange for customers&amp;#8217; willingness to buy more AMD GPUs, AMD will stand ready to rent back a significant chunk of this capacity in the form of long-term contracts for internal AMD software development purposes if the Neocloud isn&amp;#8217;t able to full sell their capacity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There are many more deals in the works and we believe that many of the clusters announced to be built in partnership with Nvidia will later be confirmed to be built atop an Nvidia backstop. In the next section, we will explore how this revenue backstop will affect Nvidia&amp;#8217;s balance sheet and income statement.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;What this Means for Nvidia&amp;#8217;s Financials&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/nvidia-gpu-debt-backstop-unleashes"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/nvidia-gpu-debt-backstop-unleashes"/>
    <summary type="html">&lt;p&gt;Up until now the majority of AI buildouts have been primarily cashflow funded by the hyperscalers such as Google, Amazon, Meta, Microsoft, Oracle. Over the last year, that's started to turn with Oracle then Meta, and now even Google turning to debt. Nvidia revenue is skyrocketing, and even 3 years into the build out, the general market is still materially lower on shipment volumes and revenue estimates for Nvidia in the 2nd half of this year versus our through supply chain tracking in the &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Accelerator Model&lt;/a&gt;.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-VjA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2916f00c-b65e-412b-8f45-bf1ae5ba3259_1330x816.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="816" src="https://substackcdn.com/image/fetch/$s_!-VjA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2916f00c-b65e-412b-8f45-bf1ae5ba3259_1330x816.jpeg" width="1330" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/accelerator-hbm-model/"&gt;Accelerator Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;AI Debt Financing will become a multi-trillion-dollar credit market, with over $7T of debt outstanding by 2029 driven both by AI IT Capex and AI Datacenter Capex needs. This will make it the second largest asset backed debt market after the US mortgage-backed financing market at just over $13T.&lt;/p&gt;&lt;p&gt;Annual AI Capex &amp;#8211; including GPUs, networking, storage and attached CPU compute as well as for the Datacenters to house AI compute &amp;#8211; will be well north of $2T in 2028. Cumulative AI Capex from 2024 to 2029 will reach ~$11.1T, and credit markets will be the main funding source for this buildout. &lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!hwZ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a4f32d-aa08-4d9e-80f5-06a0377b14fc_1912x1042.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="793" src="https://substackcdn.com/image/fetch/$s_!hwZ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a4f32d-aa08-4d9e-80f5-06a0377b14fc_1912x1042.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The surge in borrowing requirements to date has driven by briskly growing demand from AI labs and hyperscalers, and the construction of AI clusters to service this demand was made financeable by long-term take-or-pay compute contracts backed by hyperscalers, with the most common offtake period being 5 years. Though this article will mainly focus on financing AI IT Capex - that is, GPUs and related capex like storage, networking and CPUs attached - there is much that also needs to be done to support the growth of datacenter capex financing. &lt;/span&gt;A much more detailed breakdown of both AI IT Capex and AI Datacenter Capex can be found in our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI TCO Model&lt;/a&gt; and &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;AI Datacenter Model&lt;/a&gt; respectively. &lt;/p&gt;&lt;p&gt;Executing on any AI Compute buildout requires assembling all three legs of what we call the &lt;strong&gt;AI Project Trinity &amp;#8211; &lt;span&gt;Capital, &lt;/span&gt;Offtake, Datacenter&lt;/strong&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Capital:&lt;/strong&gt; As of today, lenders require an offtake contract or a backstop from an investment grade hyperscaler before they will provide debt financing.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Offtake:&lt;/strong&gt; To secure an offtake, you first need equity capital to demonstrate you can place deposits for the required IT equipment, but to raise equity &amp;#8211; one needs to demonstrate that they have an offtaker and lenders in place!&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Datacenter:&lt;/strong&gt; Lastly, an aspiring Neocloud must either have a solid offtaker and lending lined up in order to convince datacenter operators to rent colocation to them, or the Neocloud must build a datacenter themselves.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Yet this is far from an impossible trinity, and many Neoclouds have been executing on cluster build-outs. Deals have been happening, but they come together thanks to clever structuring of one or more legs of the Trinity, close sponsorship of or matchmaking by capital providers like private equity firms that have been serial providers of capital to Neoclouds and Datacenters, and of course, some good old-fashioned risk taking on the part of everyone involved.&lt;/p&gt;&lt;p&gt;Our forecasts for GPU shipments and datacenter capex for the next few years imply that the total outstanding AI debt financing needs will quickly surpass the size of all other US asset backed markets.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ez9K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85fee2a7-2c70-4b1f-9daa-7febc68465ff_1713x1008.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="857" src="https://substackcdn.com/image/fetch/$s_!ez9K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85fee2a7-2c70-4b1f-9daa-7febc68465ff_1713x1008.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;, NY Fed, FRED&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;But growing this debt market from hundreds of billions in 2024 and 2025 to ~$7.1T by 2029 is no mean feat &amp;#8211; there are a number of significant obstacles that must be overcome for the debt market to reach this size and for the compute market to serve more than just hyperscalers and large AI labs:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hyperscaler backstops are not infinite:&lt;/strong&gt; Hyperscaler balance sheets will not be able to backstop trillions of dollars&amp;#8217; worth of compute, yet outside of the four corners of a 5-year hyperscale backstopped compute deal, the appetite to lend drops off almost entirely. If the lending market does not evolve beyond this template, once hyperscalers exhaust their capacity to backstop deals, there will be no further projects to lend to.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lenders are still on the learning curve:&lt;/strong&gt; Private credit and private equity have led the charge on lending to the first batch of large Neoclouds, but as spreads compress over time, and as capital needs increase, a broader set of lenders will need to be tapped, yet most banks still have a nascent understanding of AI Cluster total cost of ownership, the AI compute market as well as tokenomics and end demand and still hide behind the shield of an investment grade offtake or backstop.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Capital providers lack tools for pricing and &lt;span&gt;managing&lt;/span&gt; risk&lt;span&gt;:&lt;/span&gt; &lt;/strong&gt;There are very few well-constructed price indices for GPU rental outside of our own &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;SemiAnalysis GPU Rental Pricing Index&lt;/a&gt;. GPU rental transactions are all on a bilateral basis and not generally publicly available, and there is no active derivatives market to provide a pricing signal or a good reference for GPU residual value.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The current Neocloud market structure has a few other issues. The most pressing problem to solve is broad-based access to compute for renters other than hyperscalers and large AI labs, as well as the limited supply of shorter-term rentals given that most lending is for the 5y backstop template.&lt;/p&gt;&lt;p&gt;For example, VC-backed AI startups and inference providers may be cash rich, but they want large clusters on short term contracts so they can quickly get to their next round of funding and reload on compute. With most Neoclouds thus far preferring to stick with doing large 5y offtakes, these startups are forced to take on larger prepayment or longer contracts than they want, rent fewer GPUs than they need, end up using different GPUs than they would prefer, and often have to settle for start dates far into the future.&lt;/p&gt;&lt;p&gt;Inference providers in particular are very contracted time sensitive compared to training focused AI Labs. While AI Labs are able to commit for longer periods like 3 years and beyond, inference providers are completely unwilling to sign for longer than 1y and would rather forego access to compute than take the risk of committing for any extended period of time. &lt;/p&gt;&lt;p&gt;When it comes to shorter-dated rentals for everyone else, it is still a seller&amp;#8217;s market. At this point, we are only aware of a few Neoclouds that are still offering 1y rentals, and they are setting aggressive terms for rental &amp;#8211; sometimes requiring prepays of up to 100% of the total contract value. Neoclouds have so much demand for their GPUs that they are able to solve for a prepay amount that can entirely fund the cluster capex, meaning a theoretically infinite IRR as they can stand up a cluster with no cash out the door on their part!&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Enter: The Nvidia Backstop&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;In 2025, we wrote extensively about how datacenter capacity was the bottleneck for AI compute growth. By early 2026, the datacenter supply situation improved considerably, but it became clear that chip production was now the limiting constraint. Now &amp;#8211; mid-way through the year &amp;#8211; it is clear that financing will now be one of the most significant obstacles to ramping large scale compute broadly available to everyone.&lt;/p&gt;&lt;p&gt;This is why &lt;a href="https://blogs.nvidia.com/blog/nvidia-unlocks-ai-compute-at-scale-capital-partners-to-power-ai-infrastructure-buildout/"&gt;Nvidia has stepped in and has started backstopping GPU rental offtakes themselves&lt;/a&gt;. &lt;span&gt;In the backstop program, Nvidia provides a take-or-pay commitment to Neoclouds &amp;#8211; a minimum revenue guarantee on the underlying GPU capacity. In exchange for this backstop, Nvidia also shares in a portion of the Neocloud&amp;#8217;s revenue earned above the backstop level.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The Neocloud is of course free to rent to any other customer they would like for any term length they deem commercially reasonable and indeed the intent is for the Neocloud to never actually have to invoke the backstop.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Nvidia&amp;#8217;s backstop program has a few key objectives:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;To broaden compute availability:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; This objective has two dimensions, to open up the compute market well beyond just a few large hyperscalers and AI labs and to ensure rental contracts of varying contract terms (tenor) are available and not just 5y terms &amp;#8211; particularly short terms of less than 1 year,&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Support evolution of the GPU financing market:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; To ease lenders into funding Neoclouds with a varied book of clients and rental contract tenors by buying time for lenders to get up the learning curve and adopt tools to price and manage risk,&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Grow Neoclouds:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; Provide early support so Neoclouds can grow rapidly and establish a track record and demonstrate the viability of their business model and client books so that they can become platforms that can be banked on attractive terms as well as take up datacenter obligations with greater ease. This broadens the base of buyers beyond just a few hyperscalers that will pit their own custom silicon solutions against Nvidia&amp;#8217;s systems.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;With this backstop in hand &amp;#8211; the Neocloud can much more easily assemble the &lt;strong&gt;AI Project Trinity:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Capital:&lt;/strong&gt; Lenders look to Nvidia&amp;#8217;s backstop and its AA/Aa2 investment grade credit rating and are satisfied to lend matching the length of the backstop. With a viable go to market plan and an Nvidia backstop, equity can be raised to fund deposits to secure equipment and the various payments needed to start developing the cluster.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Offtake:&lt;/strong&gt; Having the backstop in hand and with funding for the cluster, Neoclouds can then tap previously unaddressed offtake demand outside of just the typical 5-year AI lab or hyperscale offtake.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Datacenter:&lt;/strong&gt; However, even with the backstop in place, securing the final leg of the Trinity and obtaining datacenter capacity remains challenging absent a creative datacenter rental structure or resorting to a self-built datacenter. Here, Nvidia is diving even deeper, as it has started backstopping datacenter leases.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The incremental revenue from the backstop program will be significant, but Nvidia stands to gain far more from these backstops than this additional revenue. They aim to do nothing less than entirely reshape the structure of the GPU market itself. We have already discussed how the TAM they can sell into will become bottlenecked very soon if a 5y hyperscaler backstopped offtake is the only viable deal structure.&lt;/p&gt;&lt;p&gt;In January 2026 for institutional subscribers, we first discussed how Nvidia was becoming the &lt;a href="https://semianalysis.com/institutional/nvidia-as-the-central-bank-of-ai/"&gt;Central Bank of AI&lt;/a&gt;. A central bank exists to supply liquidity when others in the banking system are unwilling to step in, supporting economic activity until others are ready to take over. &lt;/p&gt;&lt;p&gt;Most in the neocloud ecosystem are unable to raise enough debt for large GPU buildouts unless they lease to the big hyperscalers directly. Nvidia doesn't want the market to be the same handful of concentrated buyers. The small buyers want GPUs, can pay for them, but they can't offer credit ratings to creditors funding the build out. In mid-2026, Nvidia is clearly showing it stands ready to offer this support as the central bank.&lt;/p&gt;&lt;h2&gt;&lt;span&gt;How Nvidia&amp;#8217;s Backstops are Structured&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Nvidia&amp;#8217;s backstop program is typically six years in length, and during these six years, Nvidia stands ready to purchase compute at pre-agreed price levels that vary over the time period. Each Neocloud is expected to negotiate the backstop terms individually, and we can expect that different Neoclouds may end up with different revenue share and backstop schedules. The below table is an illustrative example to explain the basic terms of the program &amp;#8211; we present a backstop pricing curve that we believe to be on the lower end of the backstop range &amp;#8211; in this case at an average of $2.36 over the six-year period, but we expect that most Neoclouds will negotiate higher backstops.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!T-9d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e1d5d2-07c6-45eb-b412-beb9f02d0ec7_1374x840.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="840" src="https://substackcdn.com/image/fetch/$s_!T-9d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69e1d5d2-07c6-45eb-b412-beb9f02d0ec7_1374x840.png" width="1374" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s start by exploring Neocloud economics under the backstop program by considering a few different scenarios. In the first scenario, the Neocloud focuses on a customer base that rents at a 1-year or lower tenor, so we model the 1-year rental price for a GB300 starting at $6.75/hr for the first year before decaying over time as the overall market cost of compute declines. As with any business that is operating a &amp;#8220;curve trade&amp;#8221; &amp;#8211; that is investing long and renting out on shorter tenors &amp;#8211; we should expect that in theory the average realized rental price over the project lifetime should be slightly higher than the current 6y fixed price of ~$4.00. This is to compensate the Neocloud for taking on future price risk.&lt;/p&gt;&lt;p&gt;&lt;span&gt;In any given year, the Neocloud will earn 100% of the rental price up to the backstop amount, but in respect of the amount which the rental price exceeds the backstop, the Neocloud will share a portion of this revenue with Nvidia.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the table below, we show workings for this scenario. Let&amp;#8217;s walk through an example of how to calculate the Neocloud&amp;#8217;s revenue share. In the case where Nvidia earns 40% revenue share, we see that in year 1, the Neocloud will charge its customers $6.75/hr on average. Of this, the Neocloud earns the full amount up to Nvidia&amp;#8217;s year 1 backstop of $3.68/hr, but for the difference between $6.75/hr charged to customers and the $3.68/hr backstop amounting to $3.07/hr, Nvidia will earn $1.23/hr and the Neocloud will earn $1.84/hr. In total, the Neocloud will realize $5.52/hr for the first year, which of course is lower than the $6.75/hr that they would have earned without the backstop. Over the six years of this scenario, the Nvidia take rate works out to be about 18% on average, but without the backstop, there would be no cluster!&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!mYyC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd291829-e0fc-4010-88f1-0289b41540da_2093x985.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="685" src="https://substackcdn.com/image/fetch/$s_!mYyC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd291829-e0fc-4010-88f1-0289b41540da_2093x985.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Our second scenario analysis illustrates how the backstop math would work with a 6-year fixed price offtake. This scenario is admittedly an oxymoron &amp;#8211; if you can get a 6-year fixed price offtake, then you of course do not need an Nvidia backstop and would thus would certainly not want to pay the revenue share out to Nvidia. Turning around and renting out compute on a 6-year contract would also be against the spirit of Nvidia&amp;#8217;s backstop program as this deal would do nothing to further the objective of supplying compute for shorter tenors to a variety of different buyers, especially emerging workloads.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XzuP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c47e665-684c-418a-ae77-decbf7c97c5d_2081x979.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="685" src="https://substackcdn.com/image/fetch/$s_!XzuP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c47e665-684c-418a-ae77-decbf7c97c5d_2081x979.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;It is important to highlight that while Nvidia does have meaningful internal compute needs, neither Nvidia or the Neoclouds have any intention of using the backstop, and thus it is not surprising that the backstop levels would result in a typical Neocloud earning a zero or slightly negative project IRR.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;In the table below, we illustrate the economics of renting to Nvidia under the backstop. This scenario would only materialize if the Neocloud is unable to find sufficient third-party customers at market-clearing rental and must activate the backstop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;That said, this scenario is exactly why the structure is financeable. Though the IRRs earned under this scenario will turn out to be near zero or even slightly negative, the Neocloud will at least still be able to cover debt payments, making lenders comfortable with this structure. Loan underwriting for clusters with an Nvidia backstop will evaluate debt service coverage ratios in the scenario in which the backstop is triggered to determine how much funding can be provided.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Ukrj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410dca1e-6116-48ae-971b-98bdba1a494d_2067x984.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="693" src="https://substackcdn.com/image/fetch/$s_!Ukrj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410dca1e-6116-48ae-971b-98bdba1a494d_2067x984.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The table below summarizes the return profiles under the various scenarios discussed above as well as displaying the economics of a Neocloud renting at the same prices but without any backstop.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We see that the short-term 1y rental book scenario clearly offers the best IRR among the backstopped scenarios at 25.4%, and these IRRs could realize even higher if the rental market turns out to be strong enough such that 1y and shorter rental rates decay by less than we modeled in the curve below. As expected, the IRRs are higher without a backstop &amp;#8211; reaching as high as 40.7% when renting for 1y tenors with no backstop. But if Neoclouds activate the backstop and rent to Nvidia at those prices, they can expect to earn zero or negative IRRs.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!hNrA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9635616-f668-4bf4-aa3e-7d62a25b24fa_1842x436.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="345" src="https://substackcdn.com/image/fetch/$s_!hNrA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9635616-f668-4bf4-aa3e-7d62a25b24fa_1842x436.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;How to Price a GPU Loan&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Many lenders are already being sounded out on the Nvidia backstop structure. They use the typical hyperscale backstopped compute deals as a starting point for their credit assessment but instead substitute Nvidia&amp;#8217;s credit rating.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Let&amp;#8217;s briefly review how the GPU financing market works before we explain how this market is evolving to cater to the Nvidia backstop. Pricing for Neocloud financing with a long-term offtake is heavily driven by credit spreads for the hyperscaler or other company that is providing the offtake as opposed to following the Neocloud&amp;#8217;s credit spreads. Instead &amp;#8211; the Neocloud&amp;#8217;s execution risk is what drives the spread above the underlying hyperscaler&amp;#8217;s credit spread.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!8uTk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F325a2b10-90c0-498e-962d-4cee9c67ecc2_1372x1027.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1027" src="https://substackcdn.com/image/fetch/$s_!8uTk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F325a2b10-90c0-498e-962d-4cee9c67ecc2_1372x1027.png" width="1372" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Readers may notice the huge gap between CoreWeave 5y unsecured bonds at ~10% and the 5.9% that CoreWeave paid for the fixed-rate tranche of their DDTL 4.0 $8.5B delayed-draw term loan, which was backstopped by Meta. This 5.9% yield works out to about 90 basis points wider than Meta&amp;#8217;s 5y bond yield of ~5.0%. This can be interpreted as the market pricing CoreWeave&amp;#8217;s execution risk with respect to that particular project at 90bps.&lt;/p&gt;&lt;p&gt;We breakdown the main type of financing we see today in the table below from lowest credit risk to highest credit risk.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3txi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08fcf97d-9745-4358-a1ee-9f47c1aa8498_1259x1059.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1059" src="https://substackcdn.com/image/fetch/$s_!3txi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08fcf97d-9745-4358-a1ee-9f47c1aa8498_1259x1059.png" width="1259" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A natural question to ask is why has financing not evolved outside the four walls of 5-year IG offtake take-or-pay contracts? Neocloud financing has been challenging because it involves financing a complicated and novel stack of infrastructure and IT equipment where end demand for tokens is still new, not well understood by lenders, and lacks a long history from which to draw insights on risk management from. For lenders, it is much easier to focus on the hyperscaler offtake or backstop as there is no need to dive deep into tokenomics or rapidly evolving AI models and delve into the minutia of which scale-up network topologies perform best on the all to all collective &amp;#8211; at the end of the day, it is hyperscaler risk.&lt;/p&gt;&lt;p&gt;Neoclouds have also had a strong incentive to stick with this recipe. To fund a cluster that they intend to rent on shorter terms with a broad book of customers, a Neocloud would have to fall back on unsecured funding. For a top Neocloud, this would mean paying an additional 4% interest, which would significantly impact the economics of the deal given the 70-80% loan to value ratios used to finance GPUs. In our modelling, we show that increasing funding from an all-in cost of 5.62% to an all-in cost of 10% drops PBT margins from 14.8% down to only 5.4%. Unsecured lending to a top Neocloud would probably be around 10%, but expect even more expensive unsecured financing for smaller Neoclouds with a shorter track record.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BOVT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8da114fb-460b-4e95-8e0f-14dca491cf28_2097x1051.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="730" src="https://substackcdn.com/image/fetch/$s_!BOVT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8da114fb-460b-4e95-8e0f-14dca491cf28_2097x1051.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Lastly, let&amp;#8217;s discuss how banks will size lending to Neoclouds.&lt;/p&gt;&lt;p&gt;The most important debt ratio that lenders look at is the debt service coverage ratio (DSCR). DSCR is calculated as the ratio of the project&amp;#8217;s cash generation divided by total debt interest and principal payments in each period, and it is a measure of how well covered the debt payments are by the cash flow of the business.&lt;/p&gt;&lt;p&gt;When it comes to the Nvidia backstop, banks look at the DSCR ratios assuming revenue earned under the scenario where the backstop is activated. They are looking for a DSCR of at least 1.3x, particularly for the first few years of GPU financing agreement and size their loans to ensure that this bar is met. This typically corresponds to a 70-80% loan to value (LTV) ratio.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!bjgL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7e7aa7d-03f6-4dab-82be-cb51c1726a26_1811x410.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="330" src="https://substackcdn.com/image/fetch/$s_!bjgL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7e7aa7d-03f6-4dab-82be-cb51c1726a26_1811x410.png" width="1456" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Great Expectations &amp;#8211; How the GPU Financing Market will Come of Age&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;GPU financing will have to rapidly evolve if it is to meet the staggering capital needs we outlined earlier in this article, and financing Nvidia backstopped clusters is the vanguard of this huge shift. Lenders in the past were not comfortable financing projects with price risk and have wanted a long-term offtake from a strong credit, a residual value cushion, a parent guarantee, a vendor backstop or some other floor under the asset. However, lenders are now starting to look deeper into Neoclouds&amp;#8217; business models, with our assistance and due diligence consulting services. Even though they have the Nvidia backstop in their back pocket, the highest quality lenders are now utilizing SemiAnalysis to scrutinize Neoclouds&amp;#8217; operational quality, go to market plan, customer book and pricing strategy.&lt;/p&gt;&lt;p&gt;This is a healthy development &amp;#8211; and the Nvidia backstop provides the support that lenders need to get up the curve and prepare for the era when they will finance Neoclouds as a standalone platform basis without any external backstops or guarantee, just like they would understand any other business they lend to that invest in the long term yet are exposed to shorter-term price risk &amp;#8211; be it petrochemical companies, memory chip manufacturers and the like.&lt;/p&gt;&lt;p&gt;We think that initial lending will be at a wider spread than the current 5y backstopped hyperscale deals which come in at around SOFR + 225bps (roughly equivalent to a Z-spread of 195bps, or about 5.9% total yield) but at a tighter spread than CoreWeave&amp;#8217;s 5-year unsecured corporate bond which has a yield of ~10% (roughly equivalent to Z-spread of 600bps).&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Y6oJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bbcb086-bb5e-48f9-bfef-d14978dbc7c6_1381x962.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="962" src="https://substackcdn.com/image/fetch/$s_!Y6oJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bbcb086-bb5e-48f9-bfef-d14978dbc7c6_1381x962.png" width="1381" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;SemiAnalysis AI TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Tools that GPU Lenders Will Need&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Lenders will also need tools to price and manage risk in the new GPU lending world order. They will need a good GPU rental price index, a way to forecast GPU rental prices into the future and a model for estimating and tracking GPU residual value over time. They will need some way to differentiate among operator quality and a framework for understanding the differences in operator capability. They will also need to be able to model end demand, and how token demand maps into GPU demand.&lt;/p&gt;&lt;p&gt;Luckily &amp;#8211; at SemiAnalysis, we have already launched products that address many of these needs!&lt;/p&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;GPU Rental Pricing Index&lt;/a&gt; tracks bilateral contract prices across the entire term structure, from on-demand to 5-year deals, across all major GPU SKUs, giving lenders and investors a transparent, transaction-validated benchmark where none previously existed. The H100 1y index is freely available for public use!&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!xIkW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e59f431-0861-4381-98df-4791369f3e72_903x452.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="The image displays a graph depicting the hourly cost of GPUs based on different contract terms, with a descending price trend over time.

AI-generated content may be incorrect." class="sizing-normal" height="452" src="https://substackcdn.com/image/fetch/$s_!xIkW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e59f431-0861-4381-98df-4791369f3e72_903x452.png" title="The image displays a graph depicting the hourly cost of GPUs based on different contract terms, with a descending price trend over time.

AI-generated content may be incorrect." width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;SemiAnalysis GPU Rental Price Dashboard&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Meanwhile, our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI TCO Model&lt;/a&gt; has been forecasting GPU rental prices since 2023 and provides a complete three statement financial model complete with return metrics like IRR, return on invested capital, debt service coverage ratio and more. In our consulting practice, where we have provided technical and consulting due diligence to clients that have provided tens of billions in capital to Neoclouds, we have used the AI TCO model as a tool to validate many of their commercial assumptions and help underwrite the investment cases. The AI TCO Model also includes a framework for calculating GPU residual values and much more.&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.clustermax.ai/"&gt;ClusterMAX&lt;/a&gt; is the only Neocloud rating system in the industry. Our ClusterMAX rating system evaluates GPU cloud providers across 10 criteria including reliability, networking, and pricing, giving capital providers a standardized quality framework to assess counterparty and collateral risk. We do significant custom diligence as ClusterMAX cannot be used for commercial purposes without our authorization.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!09_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56830a5-f887-46fb-843d-d431d95f9337_903x454.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="ClusterMAX 2.1 Rankings" class="sizing-normal" height="454" src="https://substackcdn.com/image/fetch/$s_!09_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56830a5-f887-46fb-843d-d431d95f9337_903x454.jpeg" title="ClusterMAX 2.1 Rankings" width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://www.clustermax.ai/v2.1"&gt;ClusterMAX 2.1 Rankings&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;tokenomics practice&lt;/a&gt; tracks end token demand and consumption closely across hyperscalers and AI labs with a focus on SKU and model level ARRs for all key labs, model performance, token pricing, and more.&lt;/p&gt;&lt;p&gt;Lastly, our &lt;a href="https://inferencex.semianalysis.com/"&gt;InferenceX&lt;/a&gt; benchmarking product continually measures and tracks real-world GPU inference throughput and token efficiency across inference systems, models and software configurations, enabling lenders and operators to quantify the productive output, and therefore the revenue-generating capacity, of a cluster they are financing. It is an important resource for mapping token demand into GPU demand.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!UonN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d7dc78-7a55-457c-a1d7-8092b60758d6_903x556.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="The image is a line chart comparing token throughput per GPU for various models like MI355X, B200, and B300, showing different configurations and their performance in terms of tokens processed per second per GPU.

AI-generated content may be incorrect." class="sizing-normal" height="556" src="https://substackcdn.com/image/fetch/$s_!UonN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d7dc78-7a55-457c-a1d7-8092b60758d6_903x556.png" title="The image is a line chart comparing token throughput per GPU for various models like MI355X, B200, and B300, showing different configurations and their performance in terms of tokens processed per second per GPU.

AI-generated content may be incorrect." width="903" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://inferencex.semianalysis.com/inference"&gt;SemiAnalysis InferenceX&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Current and Future Backstop Activity&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Nvidia&amp;#8217;s backstop program is only getting started, and we see announcements coming faster every quarter. Many Neoclouds are already deep in negotiations with Nvidia, and there are still others that are considering engaging with the backstop program. Let&amp;#8217;s briefly discuss the deals that have been announced to date &amp;#8211; all of which are in the Asia Pacific region so far.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first is SharonAI&amp;#8217;s 72MW AI factory in Australia. Announced in June 2026, the deal has SharonAI scaling up to as many as 40,000 GB300s under a six-year backstop. Sharon disclosed a total backstop value of $4.88B, which works out to an implied floor of about $2.33/hr/GPU on average over the six year period. Sharon AI&amp;#8217;s footprint is now set to grow to 132MW with 102MW contracted, and the company guides to reaching more than 55,000 Nvidia GPUs in total (inclusive of the 40,000 GB300s backstopped) by mid-2027.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Firmus&amp;#8217;s 360MW AI Cluster in Batam, Indonesia is the next major project announced with an Nvidia backstop. It will likely be housed in a DayOne facility in Kabil Industrial Tech Park (KITP). Announced just recently on June 29&lt;/span&gt;&lt;sup&gt;&lt;span&gt;th&lt;/span&gt;&lt;/sup&gt;&lt;span&gt;, 2026, this project shows the scale at which Nvidia is rolling out the backstop program. Firmus&amp;#8217; first clusters were based in Singapore and focused on H100s deployed using immersion cooling. The next key cluster launched was the 18,000 GB300 cluster in Melbourne, Australia housed in a 42MW self-built datacenter. This project was financed using a $10B USD facility led by Blackstone (Tactical Opportunities, Credit and Insurance) and supported by Coatue.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!lvx-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbef626-a495-4d25-a923-31eb3d2ddbb1_1699x1179.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1010" src="https://substackcdn.com/image/fetch/$s_!lvx-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbef626-a495-4d25-a923-31eb3d2ddbb1_1699x1179.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, Google Maps&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The Nvidia backstop allows Firmus to grow their business by an order of magnitude. As per Nvidia&amp;#8217;s key objectives that we outlined above, the focus of this cluster will be to open up compute to a variety of AI Natives, Enterprises and Inference Providers, with many different rental tenors to be offered. Firmus announced that they expect $25B to $30B of customer revenue over the six years. We expect a portion of the revenue above the backstop level will be shared with Nvidia as per the structure we outlined earlier today.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Beyond this &amp;#8211; Firmus also announced a 600MW firm-energy deal with Gunvor that will also underwrite 1.2GW of new renewables development and 1.5GWh of storage in South Australia by 2032. Firmus will still need to identify a datacenter provider or build their own datacenters before they can deploy GPUs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;We have seen many other neoclouds having backstops, but many are not public yet.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Nvidia is not the only merchant GPU vendor to utilize backstops. AMD has already been providing backstops starting last year. We wrote in our &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/p/amd-advancing-ai-mi350x-and-mi400-ualoe72-mi500-ual256"&gt;&lt;span&gt;AMD article from June 2025&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that AMD offered AWS, OCI, Digital Ocean, Vultr, Tensorwave, Crusoe and other Neoclouds a backstop deal, whereby in exchange for customers&amp;#8217; willingness to buy more AMD GPUs, AMD will stand ready to rent back a significant chunk of this capacity in the form of long-term contracts for internal AMD software development purposes if the Neocloud isn&amp;#8217;t able to full sell their capacity.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;There are many more deals in the works and we believe that many of the clusters announced to be built in partnership with Nvidia will later be confirmed to be built atop an Nvidia backstop. In the next section, we will explore how this revenue backstop will affect Nvidia&amp;#8217;s balance sheet and income statement.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;&lt;span style="color: rgb(231, 230, 233);"&gt;What this Means for Nvidia&amp;#8217;s Financials&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/nvidia-gpu-debt-backstop-unleashes"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-06T13:53:44+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be</id>
    <title>Meta Compute: Everyone Wants To Be A Cloud</title>
    <updated>2026-07-02T14:18:08+00:00</updated>
    <author>
      <name>Jeremie Eliahou Ontiveros</name>
    </author>
    <content type="html">&lt;p&gt;With Bloomberg headlines suggesting Meta could become a Neocloud, the market&amp;#8217;s reaction was immediate: aggressive sell-off of Neoclouds like Coreweave &amp;amp; Nebius, and debates of &amp;#8220;overcapacity&amp;#8221; coming back. Let&amp;#8217;s set the record straight &amp;#8211; we believe that &lt;strong&gt;both takes are erroneous&lt;/strong&gt; and that Meta&amp;#8217;s datacenter &amp;amp; compute procurement will &lt;em&gt;&lt;strong&gt;accelerate&lt;/strong&gt;&lt;/em&gt;, not slow down. Capex in 2027 will be shockingly high. In just the first six months of the year, &lt;strong&gt;Meta has contracted over 5GW of capacity across Cloud &amp;amp; Colo&lt;/strong&gt;, and that doesn&amp;#8217;t even include all their accelerating self-build activity. Everything is computer and everything is a neocloud.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Oc8Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3518a9-ee28-403f-9df5-6ab7c03ac2e9_1227x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!Oc8Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3518a9-ee28-403f-9df5-6ab7c03ac2e9_1227x668.png" width="1227" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Meta&amp;#8217;s capacity under construction just keeps accelerating. We show below Meta&amp;#8217;s two largest campuses &amp;#8211; these two pictures represent 2.5GW of capacity under construction! By the way, if you believed the laughable headlines that &amp;#8220;half of US datacenters and delayed and only 5GW are under construction&amp;#8221;, we show you here that just two datacenters are half of this. Read our piece &amp;#8220;&lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;Stop Saying Half of US Datacenters Are Delayed&lt;/a&gt;&amp;#8221; for more on why these headlines are completely off.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7uxv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec4417c-7506-447b-92a9-e81f9137c155_1872x1456.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1132" src="https://substackcdn.com/image/fetch/$s_!7uxv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec4417c-7506-447b-92a9-e81f9137c155_1872x1456.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: S&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;emiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, this naturally raises the questions of what Meta will do with this compute, and whether they&amp;#8217;re going to flood the market with all of this supply if they turn into a Neocloud. Broadly speaking we see four major high-value use-cases, which are all differentied and very different relative to what traditional Neoclouds do:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Frontier AI Models: Meta has NOT given up on training frontier models. The bulk of incremental capacity still goes to Meta Superintelligence Labs, and we think the team is currently excited about their progress. A follow-up report will dive into MSL, their unique data strategy, and discuss their chances of catching up with Anthropic and OpenAI. Of course, our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers already know our takes and have access to all of this real-time.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;RecSys: We believe Meta thinks they can scale up Ads recommendation systems by &amp;gt;10x in complexity to accelerate revenue growth. That requires both inference &amp;amp; training compute for their RecSys models. They can also do more generative targeted ads.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;(&lt;em&gt;&lt;strong&gt;SemiAnalysis Exclusive&lt;/strong&gt;&lt;/em&gt;) We believe that &lt;strong&gt;Meta is in final talks with Anthropic to get access to private instances of Claude&lt;/strong&gt;. This would be akin to Bedrock, Foundry, Vertex from other hyperscalers (&lt;a href="https://newsletter.semianalysis.com/p/anthropic-growth-and-bedrock-mix"&gt;read our deep dive here&lt;/a&gt;). There are multiple use-cases for Meta, ranging from internal usage, to building the premier Sales &amp;amp; Marketing SaaS powered by Frontier AI Agents. We expect Meta to launch a token-as-a-service endpoint and increasingly move up the stack, leveraging its network and distribution. Initially it will be their own models externally and Anthropic internaly, but over time we believe they will serve Anthropic and OpenAI models externally&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;We expect Meta to strike a few &amp;#8220;SpaceX-type&amp;#8221; deals. Elon is a sales genius, and he created a &lt;strong&gt;brand new market segment: large-scale on-demand compute at a huge pricing premium&lt;/strong&gt;. We think Meta wants in, but selectively. After all, just a couple hundred MWs can already drive &amp;gt;$10B of yearly revenue! We expect a ten billion dollar Anthropic deal to kick off the flywheel.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;This high optionality, with four high-value-add options, makes it easy for Meta to keep aggressively contracting compute. Meta Superintelligence remains the core engine, but if it doesn&amp;#8217;t work out, there are many high-margin alternatives to sell compute. It is essentially a CFO&amp;#8217;s dream and makes it very easy to go all-in on compute &amp;#8211; we bet Susan did a 180&amp;#176; flip when she saw the pricing of SpaceX compute deals! Meta won&amp;#8217;t be a normal bare-metal IaaS vendor with ~30% gross margins &amp;#8211; all its options are high value, and enable to easily afford paying a margin to other Neoclouds in order to accelerate their fleet buildout - even if MSL doesn&amp;#8217;t work out.&lt;/p&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; breaks down quarter by quarter their capacity additions across selfbuild, datacenter leasing, and cloud renting. After nearly 10GW of deals signed since early 2024, the bulk of their capacity additions are now through 3&lt;sup&gt;rd&lt;/sup&gt; parties. We expect this to continue and believe that Meta will be a huge source of RPO growth for the likes of Coreweave, Nebius and others.&lt;/p&gt;&lt;p&gt;Our model also breaks down, quarter by quarter, Meta&amp;#8217;s capacity into MSL, other AI, and non-AI. While MSL&amp;#8217;s huge growth is understandable (they need to keep up with Anthropic &amp;amp; OpenAI!), the surge of Other AI in 2026 suggests plenty of optionality to monetize compute across RecSys, &amp;#8220;SpaceX equivalent&amp;#8221;, and Bedrock-type token as a service. If RecSys scales a bit less than expected, they have other options. Of course, if MSL fails, Cloud capacity will skyrocket.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TJED!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cecc46f-29d5-47fa-aa53-da039e3ff5e1_1229x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!TJED!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cecc46f-29d5-47fa-aa53-da039e3ff5e1_1229x668.png" width="1229" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;, &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s now dig into these four options. We start with the SpaceX-like deal, and the Bedrock-type ambition. Then, behind paywall, we discuss the outlook for MSL and for RecSys.&lt;/p&gt;&lt;h1&gt;SpaceX dreams &amp;#8211; Elon&amp;#8217;s genius deals&lt;/h1&gt;&lt;p&gt;Elon Musk shocked the AI infrastructure world when he announced the first Anthropic deal. He double-shocked the world when he came up with the Google deal. The reason is simple: the revenue per MW of these deals are respectively triple and quadruple what peers are charging, as shown below. The profit per MW gap is, of course, even larger given the cost structure is roughly the same.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!P9ds!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5cf278-7508-4a2b-9ec9-54bea038868e_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!P9ds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5cf278-7508-4a2b-9ec9-54bea038868e_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;SpaceX&amp;#8217;s pricing on the Google deal is even higher than what we observe on the on-demand or short-term rental market. Elon essentially invented a new market segment. Our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO model team&lt;/a&gt; tracks hundreds of GPU cloud deals every year, including all contract terms like SLA, pricing, contract length etc. That&amp;#8217;s why we have, by far, the world&amp;#8217;s best information on GPU pricing by contract length &amp;#8211; &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;see a preview in our free dashboard here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;We have never ever seen a deal that large, and that short: the deal is three years, but with option to cancel from both parties within 90 days &amp;#8211; so it&amp;#8217;s effectively a 3-month deal with automatic renewal.&lt;/p&gt;&lt;p&gt;The reason this has never happened is because very few companies can do it. The financing burden excludes all the Neoclouds from participating in that market &amp;#8211; for large clusters, they need to secure an offtaker over multiple years. The top 3 hyperscalers could&amp;#8217;ve done it&amp;#8230; but they all see higher-value long-term options, such as Microsoft getting OpenAI&amp;#8217;s IP in exchange for equity investments &amp;amp; compute, Amazon focused on increasing the adoption of Bedrock and Trainium, Google similarly with TPUs and Vertex (now Gemini Enterprise Platform).&lt;/p&gt;&lt;p&gt;This effectively leaves only two companies that can truly capitalize on this new market: Oracle and Meta. For the former, we see this as a massive blow. It&amp;#8217;s yet another piece of evidence that they could&amp;#8217;ve done a much better job at monetizing all of their gigawatts of compute. A look at the valuation trajectory of Oracle vs SpaceX illustrates the massive divergence. For both, Gigawatts are an increasing portion of their valuation, and a large driver of that evolution within the last year.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JEaL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab482cff-30fe-4058-bb0d-20853d67f43d_2206x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="811" src="https://substackcdn.com/image/fetch/$s_!JEaL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab482cff-30fe-4058-bb0d-20853d67f43d_2206x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, SEC, CNBC/Bloomberg/Reuters&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Enter Meta. Given their laser-focus on building Superintelligence, they probably didn&amp;#8217;t put enough thought into the Cloud option. SpaceX and Elon paved the way for them. At $50B/Gigawatt of annual revenue, it becomes an easy call. Just allocating 200MW of compute to an external customer drives $10B/yr of revenue, at sky-high margin. And the ability to cancel that contract within 90 days makes it even easier &amp;#8211; if they want to give MSL more compute, they can, in short notice.&lt;/p&gt;&lt;p&gt;That&amp;#8217;s also a perfect match for Meta&amp;#8217;s datacenter construction strategy. A year ago, we were the first to track their new &amp;#8220;tent&amp;#8221; ultra-fast datacenter design. Since then, Meta tents have been popping up all over the US! By bringing datacenters online fast, even if &amp;#8220;lower quality&amp;#8221;, it&amp;#8217;ll be easier for Meta to monetize compute in a SpaceX fashion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g7oN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa13793d8-3d5d-479e-8606-ea9d08e65472_2000x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1019" src="https://substackcdn.com/image/fetch/$s_!g7oN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa13793d8-3d5d-479e-8606-ea9d08e65472_2000x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As such, we expect Meta to announce such a deal soon. It&amp;#8217;s a great way to get the flywheel started. Anthropic is our prime suspect, but others could step in as well, such as OpenAI or Google.&lt;/p&gt;&lt;h1&gt;Will Meta build the new Bedrock?&lt;/h1&gt;&lt;p&gt;Another great option for Meta is to strike a deep partnership with frontier labs to sell their models with Meta&amp;#8217;s own compute. As said earlier, we believe they are in final talks with Anthropic to get private access to their LLMs, just like Amazon has through Bedrock (&lt;a href="https://newsletter.semianalysis.com/p/anthropic-growth-and-bedrock-mix"&gt;agreement explained in detail here&lt;/a&gt;). This means that for Meta, another way to monetize their compute will be to sell Claude. We see three main paths:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Part of it could be for internal usage only. Meta needs Claude tokens, and Anthropic can&amp;#8217;t keep up with demand. There are also security &amp;amp; privacy layers. In the future, we could see other very large enterprises striking such deals, e.g. a JPMorgan probably won&amp;#8217;t go all-in on Claude if they don&amp;#8217;t have the security and privacy guarantees that private instances enables (in their own datacenters).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Meta could sell Claude as a service in the same way Bedrock does. They have capacity and own the full stack, from CPU to GPU to networking, with high security. However, as a new entrant, it&amp;#8217;ll be tough to create all the enterprise relationships that AWS has. But Meta has the option to leverage their customer base of advertisers and better integrate frontier agents and LLMs into their suite, creating a new large-scale distribution path.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Meta could go even more vertical and start building applications. As one of the world&amp;#8217;s largest advertising platforms, they have a path to building a Sales &amp;amp; Marketing powerhouse. Integrating frontier models and agents would increase their odds of building a world class solution.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;There is, of course, also the opportunity to distribute models to free social media users, and to the broader Meta ecosystem including things like connected glasses. It appears more likely that they will prioritize use of their own models, but it&amp;#8217;s good to keep the optionality, and they likely have a great path to monetization. The huge distribution potential and network effect means that the likes of OpenAI and Anthropic are likely seeing this as highly strategic, and ready to make concessions to get a piece of the pie.&lt;/p&gt;&lt;h1&gt;Scaling Ads Recommendation systems: how much can Meta accelerate?&lt;/h1&gt;&lt;p&gt;For Meta, the key AI story is how RecSys is contributing to revenue acceleration at massive scale. At the end of 2022 and early 2023, the market widely saw the company as entering a stage of maturity and low growth amongst an investment cycle. Today, it&amp;#8217;s crystal clear that Meta has dramatically re-accelerated revenue growth, in large part due to GPU investments. They have been a key trigger, both on training and inference: RecSys models for ads have been getting bigger and more expensive to run, but much smarter, driving better yields for advertisers as seen in the ability for advertisers to pay higher prices while still seeing strong ROAS. At the same time the RecSys models for content have led to more time on platform across the Family of Apps, improving the monetizable surface area and leading to strong ad imprssions growth.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q_j8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c13423d-c5cc-47d7-86b5-f5046464b54e_1247x664.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="664" src="https://substackcdn.com/image/fetch/$s_!q_j8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c13423d-c5cc-47d7-86b5-f5046464b54e_1247x664.png" width="1247" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The key question on everyone&amp;#8217;s mind is now &amp;#8211; is this sustainable? How much can Meta accelerate core revenue growth? While Meta is playing catching up on the frontier lab side, the non-Meta SuperIntelligence AI chip fleet is producing outstanding ROI. We cover this split compute split between RecSys AI, Meta SuperIntelligence, and other Meta LLM products in our Tokenomics Model. &lt;/p&gt;&lt;p&gt;Behind paywall, we discuss the outlook for RecSys scaling, and then for Meta Superintelligence Labs.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"/>
    <summary type="html">&lt;p&gt;With Bloomberg headlines suggesting Meta could become a Neocloud, the market&amp;#8217;s reaction was immediate: aggressive sell-off of Neoclouds like Coreweave &amp;amp; Nebius, and debates of &amp;#8220;overcapacity&amp;#8221; coming back. Let&amp;#8217;s set the record straight &amp;#8211; we believe that &lt;strong&gt;both takes are erroneous&lt;/strong&gt; and that Meta&amp;#8217;s datacenter &amp;amp; compute procurement will &lt;em&gt;&lt;strong&gt;accelerate&lt;/strong&gt;&lt;/em&gt;, not slow down. Capex in 2027 will be shockingly high. In just the first six months of the year, &lt;strong&gt;Meta has contracted over 5GW of capacity across Cloud &amp;amp; Colo&lt;/strong&gt;, and that doesn&amp;#8217;t even include all their accelerating self-build activity. Everything is computer and everything is a neocloud.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Oc8Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3518a9-ee28-403f-9df5-6ab7c03ac2e9_1227x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!Oc8Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3518a9-ee28-403f-9df5-6ab7c03ac2e9_1227x668.png" width="1227" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Meta&amp;#8217;s capacity under construction just keeps accelerating. We show below Meta&amp;#8217;s two largest campuses &amp;#8211; these two pictures represent 2.5GW of capacity under construction! By the way, if you believed the laughable headlines that &amp;#8220;half of US datacenters and delayed and only 5GW are under construction&amp;#8221;, we show you here that just two datacenters are half of this. Read our piece &amp;#8220;&lt;a href="https://newsletter.semianalysis.com/p/stop-saying-half-of-2026-us-datacenter"&gt;Stop Saying Half of US Datacenters Are Delayed&lt;/a&gt;&amp;#8221; for more on why these headlines are completely off.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!7uxv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec4417c-7506-447b-92a9-e81f9137c155_1872x1456.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1132" src="https://substackcdn.com/image/fetch/$s_!7uxv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ec4417c-7506-447b-92a9-e81f9137c155_1872x1456.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: S&lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;emiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Of course, this naturally raises the questions of what Meta will do with this compute, and whether they&amp;#8217;re going to flood the market with all of this supply if they turn into a Neocloud. Broadly speaking we see four major high-value use-cases, which are all differentied and very different relative to what traditional Neoclouds do:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Frontier AI Models: Meta has NOT given up on training frontier models. The bulk of incremental capacity still goes to Meta Superintelligence Labs, and we think the team is currently excited about their progress. A follow-up report will dive into MSL, their unique data strategy, and discuss their chances of catching up with Anthropic and OpenAI. Of course, our &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt; subscribers already know our takes and have access to all of this real-time.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;RecSys: We believe Meta thinks they can scale up Ads recommendation systems by &amp;gt;10x in complexity to accelerate revenue growth. That requires both inference &amp;amp; training compute for their RecSys models. They can also do more generative targeted ads.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;(&lt;em&gt;&lt;strong&gt;SemiAnalysis Exclusive&lt;/strong&gt;&lt;/em&gt;) We believe that &lt;strong&gt;Meta is in final talks with Anthropic to get access to private instances of Claude&lt;/strong&gt;. This would be akin to Bedrock, Foundry, Vertex from other hyperscalers (&lt;a href="https://newsletter.semianalysis.com/p/anthropic-growth-and-bedrock-mix"&gt;read our deep dive here&lt;/a&gt;). There are multiple use-cases for Meta, ranging from internal usage, to building the premier Sales &amp;amp; Marketing SaaS powered by Frontier AI Agents. We expect Meta to launch a token-as-a-service endpoint and increasingly move up the stack, leveraging its network and distribution. Initially it will be their own models externally and Anthropic internaly, but over time we believe they will serve Anthropic and OpenAI models externally&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;We expect Meta to strike a few &amp;#8220;SpaceX-type&amp;#8221; deals. Elon is a sales genius, and he created a &lt;strong&gt;brand new market segment: large-scale on-demand compute at a huge pricing premium&lt;/strong&gt;. We think Meta wants in, but selectively. After all, just a couple hundred MWs can already drive &amp;gt;$10B of yearly revenue! We expect a ten billion dollar Anthropic deal to kick off the flywheel.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;This high optionality, with four high-value-add options, makes it easy for Meta to keep aggressively contracting compute. Meta Superintelligence remains the core engine, but if it doesn&amp;#8217;t work out, there are many high-margin alternatives to sell compute. It is essentially a CFO&amp;#8217;s dream and makes it very easy to go all-in on compute &amp;#8211; we bet Susan did a 180&amp;#176; flip when she saw the pricing of SpaceX compute deals! Meta won&amp;#8217;t be a normal bare-metal IaaS vendor with ~30% gross margins &amp;#8211; all its options are high value, and enable to easily afford paying a margin to other Neoclouds in order to accelerate their fleet buildout - even if MSL doesn&amp;#8217;t work out.&lt;/p&gt;&lt;p&gt;Our &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt; breaks down quarter by quarter their capacity additions across selfbuild, datacenter leasing, and cloud renting. After nearly 10GW of deals signed since early 2024, the bulk of their capacity additions are now through 3&lt;sup&gt;rd&lt;/sup&gt; parties. We expect this to continue and believe that Meta will be a huge source of RPO growth for the likes of Coreweave, Nebius and others.&lt;/p&gt;&lt;p&gt;Our model also breaks down, quarter by quarter, Meta&amp;#8217;s capacity into MSL, other AI, and non-AI. While MSL&amp;#8217;s huge growth is understandable (they need to keep up with Anthropic &amp;amp; OpenAI!), the surge of Other AI in 2026 suggests plenty of optionality to monetize compute across RecSys, &amp;#8220;SpaceX equivalent&amp;#8221;, and Bedrock-type token as a service. If RecSys scales a bit less than expected, they have other options. Of course, if MSL fails, Cloud capacity will skyrocket.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!TJED!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cecc46f-29d5-47fa-aa53-da039e3ff5e1_1229x668.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!TJED!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cecc46f-29d5-47fa-aa53-da039e3ff5e1_1229x668.png" width="1229" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;Tokenomics Model&lt;/a&gt;, &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Let&amp;#8217;s now dig into these four options. We start with the SpaceX-like deal, and the Bedrock-type ambition. Then, behind paywall, we discuss the outlook for MSL and for RecSys.&lt;/p&gt;&lt;h1&gt;SpaceX dreams &amp;#8211; Elon&amp;#8217;s genius deals&lt;/h1&gt;&lt;p&gt;Elon Musk shocked the AI infrastructure world when he announced the first Anthropic deal. He double-shocked the world when he came up with the Google deal. The reason is simple: the revenue per MW of these deals are respectively triple and quadruple what peers are charging, as shown below. The profit per MW gap is, of course, even larger given the cost structure is roughly the same.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!P9ds!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5cf278-7508-4a2b-9ec9-54bea038868e_2430x1296.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="777" src="https://substackcdn.com/image/fetch/$s_!P9ds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5cf278-7508-4a2b-9ec9-54bea038868e_2430x1296.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;SpaceX&amp;#8217;s pricing on the Google deal is even higher than what we observe on the on-demand or short-term rental market. Elon essentially invented a new market segment. Our &lt;a href="https://semianalysis.com/ai-cloud-tco-model/"&gt;AI Cloud TCO model team&lt;/a&gt; tracks hundreds of GPU cloud deals every year, including all contract terms like SLA, pricing, contract length etc. That&amp;#8217;s why we have, by far, the world&amp;#8217;s best information on GPU pricing by contract length &amp;#8211; &lt;a href="https://semianalysis.com/gpu-pricing-index/"&gt;see a preview in our free dashboard here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;We have never ever seen a deal that large, and that short: the deal is three years, but with option to cancel from both parties within 90 days &amp;#8211; so it&amp;#8217;s effectively a 3-month deal with automatic renewal.&lt;/p&gt;&lt;p&gt;The reason this has never happened is because very few companies can do it. The financing burden excludes all the Neoclouds from participating in that market &amp;#8211; for large clusters, they need to secure an offtaker over multiple years. The top 3 hyperscalers could&amp;#8217;ve done it&amp;#8230; but they all see higher-value long-term options, such as Microsoft getting OpenAI&amp;#8217;s IP in exchange for equity investments &amp;amp; compute, Amazon focused on increasing the adoption of Bedrock and Trainium, Google similarly with TPUs and Vertex (now Gemini Enterprise Platform).&lt;/p&gt;&lt;p&gt;This effectively leaves only two companies that can truly capitalize on this new market: Oracle and Meta. For the former, we see this as a massive blow. It&amp;#8217;s yet another piece of evidence that they could&amp;#8217;ve done a much better job at monetizing all of their gigawatts of compute. A look at the valuation trajectory of Oracle vs SpaceX illustrates the massive divergence. For both, Gigawatts are an increasing portion of their valuation, and a large driver of that evolution within the last year.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!JEaL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab482cff-30fe-4058-bb0d-20853d67f43d_2206x1228.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="811" src="https://substackcdn.com/image/fetch/$s_!JEaL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab482cff-30fe-4058-bb0d-20853d67f43d_2206x1228.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: SemiAnalysis, SEC, CNBC/Bloomberg/Reuters&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Enter Meta. Given their laser-focus on building Superintelligence, they probably didn&amp;#8217;t put enough thought into the Cloud option. SpaceX and Elon paved the way for them. At $50B/Gigawatt of annual revenue, it becomes an easy call. Just allocating 200MW of compute to an external customer drives $10B/yr of revenue, at sky-high margin. And the ability to cancel that contract within 90 days makes it even easier &amp;#8211; if they want to give MSL more compute, they can, in short notice.&lt;/p&gt;&lt;p&gt;That&amp;#8217;s also a perfect match for Meta&amp;#8217;s datacenter construction strategy. A year ago, we were the first to track their new &amp;#8220;tent&amp;#8221; ultra-fast datacenter design. Since then, Meta tents have been popping up all over the US! By bringing datacenters online fast, even if &amp;#8220;lower quality&amp;#8221;, it&amp;#8217;ll be easier for Meta to monetize compute in a SpaceX fashion.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!g7oN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa13793d8-3d5d-479e-8606-ea9d08e65472_2000x1400.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1019" src="https://substackcdn.com/image/fetch/$s_!g7oN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa13793d8-3d5d-479e-8606-ea9d08e65472_2000x1400.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/datacenter-industry-model/"&gt;SemiAnalysis Datacenter Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;As such, we expect Meta to announce such a deal soon. It&amp;#8217;s a great way to get the flywheel started. Anthropic is our prime suspect, but others could step in as well, such as OpenAI or Google.&lt;/p&gt;&lt;h1&gt;Will Meta build the new Bedrock?&lt;/h1&gt;&lt;p&gt;Another great option for Meta is to strike a deep partnership with frontier labs to sell their models with Meta&amp;#8217;s own compute. As said earlier, we believe they are in final talks with Anthropic to get private access to their LLMs, just like Amazon has through Bedrock (&lt;a href="https://newsletter.semianalysis.com/p/anthropic-growth-and-bedrock-mix"&gt;agreement explained in detail here&lt;/a&gt;). This means that for Meta, another way to monetize their compute will be to sell Claude. We see three main paths:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Part of it could be for internal usage only. Meta needs Claude tokens, and Anthropic can&amp;#8217;t keep up with demand. There are also security &amp;amp; privacy layers. In the future, we could see other very large enterprises striking such deals, e.g. a JPMorgan probably won&amp;#8217;t go all-in on Claude if they don&amp;#8217;t have the security and privacy guarantees that private instances enables (in their own datacenters).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Meta could sell Claude as a service in the same way Bedrock does. They have capacity and own the full stack, from CPU to GPU to networking, with high security. However, as a new entrant, it&amp;#8217;ll be tough to create all the enterprise relationships that AWS has. But Meta has the option to leverage their customer base of advertisers and better integrate frontier agents and LLMs into their suite, creating a new large-scale distribution path.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Meta could go even more vertical and start building applications. As one of the world&amp;#8217;s largest advertising platforms, they have a path to building a Sales &amp;amp; Marketing powerhouse. Integrating frontier models and agents would increase their odds of building a world class solution.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;There is, of course, also the opportunity to distribute models to free social media users, and to the broader Meta ecosystem including things like connected glasses. It appears more likely that they will prioritize use of their own models, but it&amp;#8217;s good to keep the optionality, and they likely have a great path to monetization. The huge distribution potential and network effect means that the likes of OpenAI and Anthropic are likely seeing this as highly strategic, and ready to make concessions to get a piece of the pie.&lt;/p&gt;&lt;h1&gt;Scaling Ads Recommendation systems: how much can Meta accelerate?&lt;/h1&gt;&lt;p&gt;For Meta, the key AI story is how RecSys is contributing to revenue acceleration at massive scale. At the end of 2022 and early 2023, the market widely saw the company as entering a stage of maturity and low growth amongst an investment cycle. Today, it&amp;#8217;s crystal clear that Meta has dramatically re-accelerated revenue growth, in large part due to GPU investments. They have been a key trigger, both on training and inference: RecSys models for ads have been getting bigger and more expensive to run, but much smarter, driving better yields for advertisers as seen in the ability for advertisers to pay higher prices while still seeing strong ROAS. At the same time the RecSys models for content have led to more time on platform across the Family of Apps, improving the monetizable surface area and leading to strong ad imprssions growth.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!q_j8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c13423d-c5cc-47d7-86b5-f5046464b54e_1247x664.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="664" src="https://substackcdn.com/image/fetch/$s_!q_j8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c13423d-c5cc-47d7-86b5-f5046464b54e_1247x664.png" width="1247" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Source: &lt;a href="https://semianalysis.com/tokenomics-model/"&gt;SemiAnalysis Tokenomics Model&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;The key question on everyone&amp;#8217;s mind is now &amp;#8211; is this sustainable? How much can Meta accelerate core revenue growth? While Meta is playing catching up on the frontier lab side, the non-Meta SuperIntelligence AI chip fleet is producing outstanding ROI. We cover this split compute split between RecSys AI, Meta SuperIntelligence, and other Meta LLM products in our Tokenomics Model. &lt;/p&gt;&lt;p&gt;Behind paywall, we discuss the outlook for RecSys scaling, and then for Meta Superintelligence Labs.&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/meta-compute-everyone-wants-to-be"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-02T14:18:08+00:00</published>
  </entry>
  <entry>
    <id>https://newsletter.semianalysis.com/p/ectc2026</id>
    <title>EMIB-T Roadmap, Custom HBM, HBM4 Packaging Challenges, Microfluidic Cooling, Photonic Interconnects, and More</title>
    <updated>2026-07-02T09:25:38+00:00</updated>
    <author>
      <name>Afzal Ahmad</name>
    </author>
    <content type="html">&lt;p&gt;As transistor density scaling has slowed, advanced packaging has become the primary scaling vector. However, AI accelerators have grown so large and require such fast interconnects that the package itself is now hitting limits. Circular interposers constrain package size and wafer utilization, HBM4E doubles the I/O count while increasing speed, and multi-kilowatt packages are overwhelming conventional cooling architectures.&lt;/p&gt;&lt;p&gt;ECTC is the industry&amp;#8217;s premier conference for all things packaging. This year&amp;#8217;s disclosures were closely aligned with upcoming commercial products. Intel provided an overview of EMIB-T integration, package scaling and future roadmaps. Marvell showed how custom HBM can move interface logic off the accelerator while shortening package routing. TSMC and Microsoft pushed coolant directly into silicon, while Marvell and Lightmatter brought optical interconnects onto the package.&lt;/p&gt;&lt;p&gt;This roundup covers ECTC 2026 technologies most likely to shape AI accelerator packages over the next several years.&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Intel EMIB-T&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Intel was the largest corporate presenter at ECTC. The key disclosure was EMIB-T. This is the next generation of EMIB with through-silicon vias (TSVs). After the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/174558490/intel-emib-t"&gt;&lt;span&gt;initial announcement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Intel has filled in more of the architecture and roadmap, including tighter bump pitch, larger packages and on-bridge capabilities. Their disclosures show why EMIB-T is expected to be used in Google&amp;#8217;s TPU v9, and why it is the most credible alternative to TSMC&amp;#8217;s CoWoS platform for large-package AI accelerators.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;EMIB-T scaling test vehicle with 2&amp;#215; reticle silicon content. Top-down SEM images show 110, 55 and 36 &amp;#181;m mixed bump pitches. Source: Intel, &amp;#8220;Scaling the EMIB-T Advanced Packaging Technology to Address the Future HPC/AI Demand,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel has validated EMIB-T at a 36/35 &amp;#181;m bump pitch on a package with 2&amp;#215; reticle-sized silicon. This is a reduction over the 45 &amp;#181;m pitch used in Granite Rapids, and a 65% increase in bump density. Granite Rapids-AP is a large package, measuring 70 mm &amp;#215; 105 mm, or slightly less than 9 reticles of area. Validation for 36/35 &amp;#181;m bump pitches is now expanding to 4.5&amp;#215; reticle silicon packages, with certification targeted by the end of 2026.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The next pitch step is also underway, with Intel testing 25 &amp;#181;m bump pitch on a vehicle with two 1-reticle silicon dies connected through a single 3 mm &amp;#215; 18 mm EMIB-T bridge.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Further scaling gets harder. Below 25 &amp;#181;m, the solder volume in each bump becomes very small. Shorts, opens, and assembly-driven yield loss become much more likely. EMIB-T can keep scaling, but the limiter shifts from bridge routing density to bump formation, placement accuracy, and assembly yield.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wX3w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299aff21-4041-42e2-ae83-3c05eb18f8b2_1003x889.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="889" src="https://substackcdn.com/image/fetch/$s_!wX3w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299aff21-4041-42e2-ae83-3c05eb18f8b2_1003x889.jpeg" width="1003" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Intel&amp;#8217;s 240 mm &amp;#215; 240 mm quarter-panel EMIB-T test vehicle. Source: Intel, &amp;#8220;Scaling the EMIB-T Advanced Packaging Technology to Address the Future HPC/AI Demand,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel also showed how large EMIB-T packages can become. Full panel-sized packages are possible, but Intel framed quarter-panel packages as the practical target. It showed a 240 mm &amp;#215; 240 mm test vehicle, equivalent to roughly 67 reticles of area. However, we observed that the sample at the booth exhibited severe warpage. At that size, the bridge is only one part of the problem. Substrate handling, warpage, overlay, and panel-level patterning become first-order constraints. Intel is also evaluating advanced lithography approaches to keep overlay tight enough for these large substrates at quarter-panel and even full-panel scale.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BGJZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9576ca-1e39-4224-a393-75db5798a624_1081x486.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="486" src="https://substackcdn.com/image/fetch/$s_!BGJZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9576ca-1e39-4224-a393-75db5798a624_1081x486.jpeg" width="1081" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;EMIB-T stack-up with routing, power mesh, TSVs, and MIM layers. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While bump pitch and package size are important, the bridges matter just as much. EMIB-T is much more complex than the EMIB used in current products. It adds TSVs, more metal layers, a power mesh, and MIM capacitor layers so the bridge can carry both high-density signals and vertical power delivery. Intel showed a cross-section with 10 metal layers, including 4 routing layers, and MIM capacitors between M1 and M2. Intel focused on its improvements for HBM4E.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!a3Cz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0572fc1a-629c-4747-bd10-4bfb8b71a8b2_912x563.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="563" src="https://substackcdn.com/image/fetch/$s_!a3Cz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0572fc1a-629c-4747-bd10-4bfb8b71a8b2_912x563.jpeg" width="912" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Package DC voltage drop using conventional EMIB vs EMIB-T. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The &amp;#8220;T&amp;#8221; in EMIB-T is for TSV. Their job is power delivery. In conventional EMIB, power is delivered vertically through the substrate in non-bridge regions, but power delivery near the bridges must spread laterally through the package and die-side routing. With TSVs in the bridge, power can be delivered directly through the bridge, reducing the current path distance significantly. Intel claims that DC voltage drop can be reduced by 68-80% with these TSVs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;HBM4E is difficult because the interconnect must scale both signal density and power delivery at the same time. HBM4 doubles the pin count versus HBM3, and the PHY needs additional power rails such as VDDQ and VDDQL. These rails take routing area away from signals, raising signal density in the remaining space.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To combat this, Intel did not route every HBM channel the same way. It placed the longest signal paths on cleaner routing layers. On M9, only ~28% of the longest channel length runs through the tightest routing region, while on lower layers such as M3, that number rises to ~84%, but those channels are shorter. This keeps crosstalk and insertion loss from being dominated by the worst routes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3d2h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433907f7-ee5e-4cc8-9ab6-2db4f980c201_898x615.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="615" src="https://substackcdn.com/image/fetch/$s_!3d2h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433907f7-ee5e-4cc8-9ab6-2db4f980c201_898x615.jpeg" width="898" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;EMIB-T package PDN AC impedance for HBM4E with and without bridge MIM capacitors. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Power delivery is also moving into the bridge. EMIB-M introduced metal-insulator-metal (MIM) capacitors between M1 and M2, and EMIB-T builds on that approach. Intel disclosed a capacitance density of 500 nF/mm&amp;#178;, roughly comparable to Intel 18A MIMs. Intel claims these on-bridge capacitors improve power delivery network (PDN) AC impedance by more than 82% versus an EMIB-T package without bridge MIM capacitors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jOcF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ef0ff4-b4d0-48fb-80cb-30ba03f2b7d1_1051x470.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="470" src="https://substackcdn.com/image/fetch/$s_!jOcF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ef0ff4-b4d0-48fb-80cb-30ba03f2b7d1_1051x470.jpeg" width="1051" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Signaling performance of HBM4E EMIB-T channel at 12 Gb/s without and with DFE. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel also simulated EMIB-T with HBM4E. At 12 Gb/s, Intel showed ~67% UI eye width without receiver equalization. With a one-tap decision feedback equalizer (DFE), that improves to ~72.5%. A DFE is a receiver-side circuit that reduces interference from prior bits after the signal passes through the package channel.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel also simulated higher speeds of 12.8 Gb/s, 14 Gb/s and 16 Gb/s. The UI eye width remained above 60% at all tested speeds, with modest pad capacitance reduction.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel&amp;#8217;s EMIB roadmap goes beyond passive bridges with only routing and capacitors. Future versions include higher-density on-bridge MIM capacitors, larger high-aspect-ratio bridge dies, sub-25 &amp;#181;m bump pitch, active bridges, and embedded voltage regulators inside EMIB dies. Intel has also disclosed substrate-core embedded deep-trench capacitor (DTC) concepts and &amp;gt;2500 nF/mm&amp;#178; eMIM-T capacitors embedded below the base die, although we have not seen either in shipping EMIB products.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;EMIB-T is still behind TSMC&amp;#8217;s CoWoS platform on several vectors. TSMC has already deployed DTC/eDTC integration and is further along on integrated voltage regulators and &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/193556591/tsmc-active-lsi-paper-82"&gt;&lt;span&gt;active local silicon interconnect (LSI&lt;/span&gt;&lt;/a&gt;)&lt;span&gt;. EMIB-T narrows the gap, but Intel is still catching up to an ecosystem that has been executing in volume for years.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Marvell Custom HBM&lt;/span&gt;&lt;/h2&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At Marvell&amp;#8217;s 2024 Industry Analyst Day, Marvell announced custom HBM. At the time, it was a vague claim with few technical details.&lt;/span&gt; &lt;span&gt;HBM had been built around JEDEC compatibility: standard DRAM stacks from the memory vendors, standard HBM PHYs on the accelerator, and a fixed wide interface between them. At Hot Chips 2025, Marvell showed the floorplan of the custom base die. At ECTC, it finally provided the package-level details for custom HBM4E.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The JEDEC specification fixes the interface between the HBM stack and host. That is good for interoperability: any memory vendor&amp;#8217;s HBM can be paired with any compliant host. However, it is bad for power, performance and area. The host ASIC must implement the standard HBM PHY and route a very wide, parallel interface with standardized pad placement and breakout rules. As packages get larger and HBM speeds rise, that fixed boundary makes it harder to optimize shoreline, routing density, power delivery and signal integrity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Qcul!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f766f4c-81af-44b6-9c6d-23161835443b_1179x662.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="662" src="https://substackcdn.com/image/fetch/$s_!Qcul!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f766f4c-81af-44b6-9c6d-23161835443b_1179x662.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Standard HBM vs Custom HBM base die and host floorplan. Source: Marvell, &amp;#8220;Marvell custom HBM routing and signal integrity analysis,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Custom HBM keeps the DRAM core dies unchanged. Instead, a custom base die, with an optimized die-to-die interface, is fabricated on an advanced logic process. The custom base die can integrate the HBM controller, management and monitoring capabilities, custom logic, and expansion interfaces.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3823!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdecd8e76-212e-4d62-a8f2-524de1823bc3_1179x662.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="662" src="https://substackcdn.com/image/fetch/$s_!3823!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdecd8e76-212e-4d62-a8f2-524de1823bc3_1179x662.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;JEDEC HBM4E vs Marvell Custom HBM. Source: Marvell, &amp;#8220;Marvell custom HBM routing and signal integrity analysis,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell claims this reduces the host ASIC footprint dedicated to HBM PHYs and associated logic by ~60%, directly freeing up area for more compute, cache or I/O. The custom interface moves much of the memory-side interface into the HBM base die.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s example uses 1024 channels at 32 Gb/s, reaching 4.1 TB/s, equivalent to a 2048-bit JEDEC HBM4(E) interface at 16 Gb/s.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The package also gets easier to route, with the custom interface shortening the interposer channel length from 6.5 mm to 1.5 mm, allowing Marvell to keep the same 9 routing layers and 2/2 &amp;#181;m line/space (L/S) while increasing bandwidth.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s example uses an organic redistribution layer (RDL) interposer instead of silicon, reducing packaging costs.&lt;/span&gt; &lt;span&gt;Organic RDL is limited to much coarser L/S than the silicon interposers in CoWoS-S or the silicon bridges in CoWoS-L and EMIB-T, which makes layout harder. Marvell relies on customized shielding and routing patterns in different sections to maximize bandwidth density while controlling crosstalk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eBy-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fecc82d-aabe-4e46-9ff0-13cd758f41e4_1756x2246.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1862" src="https://substackcdn.com/image/fetch/$s_!eBy-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fecc82d-aabe-4e46-9ff0-13cd758f41e4_1756x2246.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Nvidia Rubin GPU wafer. Source: TSMC, Computex 2026. Photo: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/191561008/feynman"&gt;&lt;span&gt;GTC, Nvidia announced that Feynman would use custom HBM&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Nvidia&amp;#8217;s reasons are likely similar to Marvell: higher bandwidth, lower power, and less accelerator die area dedicated to HBM. We estimate that ~16% of Rubin GPU die area is dedicated to HBM-related logic and PHYs. Custom HBM allows Nvidia to offload much of that burden onto the HBM base die.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Custom HBM also enables expansion interfaces beyond the standard HBM link. Instead of forcing all memory traffic through the limited accelerator die shoreline, the base die can act as a secondary memory controller and fan out to additional memory. That memory could be higher-capacity, lower-bandwidth LPDDR, or even a second layer of HBM. This gives the accelerator a path to add capacity without consuming the valuable die shoreline needed for external I/O. This is relevant to AMD&amp;#8217;s upcoming MI450 and future MI500 GPUs, which will support LPDDR for increased memory capacity.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;Samsung HBM Interposer&lt;/h2&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung also presented its solution for HBM4E on interposers. HBM4E pushes data rates to 12 Gb/s and above, and doubles the number of I/O pins, increasing routing complexity. HBM4E could require 2&amp;#215; the interposer layers versus HBM3E and 5&amp;#215; as much as HBM2. Due to the increased I/O count and higher data rates, power consumption is also expected to increase by 86% versus HBM3E, and 5.6 times versus HBM2.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AltS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71bf59d1-7dd5-4b60-ae66-2bc3bcf31437_779x401.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="401" src="https://substackcdn.com/image/fetch/$s_!AltS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71bf59d1-7dd5-4b60-ae66-2bc3bcf31437_779x401.png" width="779" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;8-layer silicon interposer stack-up for HBM4E with two-signal / one-ground routing. Source: Samsung, &amp;#8220;Advanced SI/PI Interposer Design Solution Enabling High-Performance HBM4e at up to 12Gbps,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung proposed an 8-layer silicon interposer which it says reduces the layer count by 20% versus the estimated requirement. The interposer stack uses a repeated two-signal / one-ground staggered arrangement to shield high-speed signals, with 75% of the layers being allocated for signal routing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another key aspect of the interposer is the ultra-high-density capacitors (UHCs). Samsung does not spell out the exact capacitor structure, but they are likely similar to Intel EMIB-T MIM capacitors or TSMC CoWoS DTCs. The UHCs can only be placed on the M1 layer, which is also heavily used for signal routing. Thus, the available area is limited.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If routing is unbalanced, the capacitors get pushed to one side of the interface, creating uneven PDN behavior between the logic and HBM sides. Samsung&amp;#8217;s layout redistributes the routing across M1 and the other layers so that UHCs can be placed more evenly across the entire interface. This reduces PDN impedance and voltage noise while keeping routing density manageable.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Samsung HBM Hybrid Bonding Thermals&lt;/span&gt;&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!z_E5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43135bed-a06d-402c-a455-4b1cb75505de_1179x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!z_E5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43135bed-a06d-402c-a455-4b1cb75505de_1179x675.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;2.5D package thermal resistance contribution. Source: Samsung, &amp;#8220;System-Level Thermal Validation of 2.5D Packages in GPU Servers: Impact of TCB vs HCB HBM Platforms,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung also discussed HBM thermals, particularly with hybrid bonding. HBM stacks are getting faster and taller, while the logic die underneath is also consuming more power. With 16-hi HBM, the thermal resistance is still acceptable, but with future generations moving to 20-hi and 24-hi HBM, new approaches are needed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pzk2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713b5b31-3764-44ba-aa58-73e6aea153d7_1179x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!pzk2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713b5b31-3764-44ba-aa58-73e6aea153d7_1179x675.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Samsung HBM thermal resistance with TCB and HCB under air and liquid cooling. Source: Samsung, &amp;#8220;System-Level Thermal Validation of 2.5D Packages in GPU Servers: Impact of TCB vs HCB HBM Platforms,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung compared thermal compression bonding (TCB) and hybrid copper bonding (HCB) for HBM on 2.5D GPU packages with 2 GPU dies and 8 HBM stacks, similar to Nvidia Blackwell. The internal HBM thermal resistance drops by 12.2% with air cooling and 12.9% with liquid cooling. Total HBM thermal resistance drops by 3.5% with air cooling and 7.7% with liquid cooling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The improvement is uneven as HCB only addresses part of the thermal network. Samsung separates the path into internal resistance, system-level resistance, and GPU-to-HBM crosstalk. The internal resistance and crosstalk drop by ~12.5% and ~9.8% respectively, but the system-level resistance, including thermal interface materials and cooling, increases by ~2.3%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ol4f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece2b817-e007-400b-a7bf-50537019e4c5_1179x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!ol4f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece2b817-e007-400b-a7bf-50537019e4c5_1179x675.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;HBM thermal resistance as base die power increases. Source: Samsung, &amp;#8220;System-Level Thermal Validation of 2.5D Packages in GPU Servers: Impact of TCB vs HCB HBM Platforms,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As more power moves into the HBM base die, such as in memory-bound workloads, the thermal bottleneck shifts. This is especially relevant for custom HBM, where the memory controller and more logic move into the base die. GPU-to-HBM crosstalk becomes a smaller share of the total thermal resistance, falling from 13% at 1&amp;#215; base-die power to 5% at 3&amp;#215; base-die power.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;According to Samsung, moving to HCB could allow for higher inlet temperatures or higher package power. In its estimate, moving to HCB allows inlet temperatures to rise by 1-2 &amp;#176;C at constant package power, or package power to increase by ~4% at constant temperature. Samsung also estimates cooling power would fall by ~7%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SXW1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a2d5af-8638-4bb4-bfc3-ed5f4e989810_668x432.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="432" src="https://substackcdn.com/image/fetch/$s_!SXW1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a2d5af-8638-4bb4-bfc3-ed5f4e989810_668x432.png" width="668" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Stack-level thermal resistance with TCB and HCB with varying pad density (P.D.) in HCB. Source: Samsung, &amp;#8220;System-Level Thermal Characterization of Hybrid Cu Bonded HBM on 2.5D Advanced Packaging,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung also isolated the impact of HCB at the stack level. The improvement is much larger here: Baseline HCB reduces stack thermal resistance by ~19% versus TCB. Increasing the HCB pad count raises the reduction to 22.3% at 2&amp;#215; pad density and 29.1% at 4&amp;#215; pad density.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Microfluidic Cooling&lt;/span&gt;&lt;/h2&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TSMC showed direct-to-silicon cooling on a large GPU-like test vehicle on CoWoS-R. CoWoS-R differs from CoWoS-S by using an organic rather than a silicon interposer. CoWoS-R was chosen as it provides better warpage tolerance and process compatibility. The test vehicle uses a 3.3&amp;#215; reticle interposer with 4 SoC dies and 8 HBM stacks. Each SoC die consists of 4 SoC heater groups, which together cover roughly half the interposer area.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!D_vu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f9eee0-4e2d-4087-b4f1-8fdc167283fe_512x417.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="417" src="https://substackcdn.com/image/fetch/$s_!D_vu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f9eee0-4e2d-4087-b4f1-8fdc167283fe_512x417.jpeg" width="512" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Silicon micropillar formation on the backside of the SoC dies for heat dissipation. Source: TSMC, &amp;#8220;Process Development and Thermal Characterization of Micropillar Direct-to-Silicon Liquid Cooling Solution on CoWoS-R Platform,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TSMC compared three approaches: a conventional lidded cold plate package, a lidless cold plate package, and its micropillar direct-to-silicon design. The lidded and lidless cases still use traditional cold plates and thermal interface material (TIM). For the last variant, micropillars were formed directly onto the backside of the SoC dies.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ntj7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd14cf27-7fb2-405e-ae5b-48a15f83a6fe_1041x668.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!ntj7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd14cf27-7fb2-405e-ae5b-48a15f83a6fe_1041x668.jpeg" width="1041" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Thermal characterization of test vehicle with and without lid, and with micropillars. Source: TSMC, &amp;#8220;Process Development and Thermal Characterization of Micropillar Direct-to-Silicon Liquid Cooling Solution on CoWoS-R Platform,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With conventional cooling at 1-2 liters per minute (LPM), a lidded package dissipated 1.9-2.3 kW while the lidless package dissipated 2.5-3.0 kW, using relatively warm 40&lt;/span&gt; &lt;span&gt;&amp;#176;C DI water. Both solutions saturate beyond 4 LPM because TIM becomes the bottleneck.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The micropillar test vehicle matched the lidless cold plate result at 2 LPM, then pulled ahead at higher flow rates, dissipating 4 kW at 4 LPM and 5.3 kW at 8 LPM. Across the full test vehicle, TSMC reported uniform power dissipation above 5 kW. The micropillars brought the liquid coolant into much closer proximity to the heat source, facilitating this improvement.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, micropillars are not without downsides. &lt;/span&gt;TSMC had to form the micropillars after chip-on-wafer (CoW) processing without damaging the CoWoS-R structure and develop new sealant materials to keep the coolant contained despite package warpage and thermal expansion mismatch. The test vehicle passed moisture sensitivity level 4 (MSL4) with no helium leakage or sealant delamination.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Unfortunately, this was one of only 3 papers by TSMC at ECTC as compared with Intel&amp;#8217;s 12 and Samsung&amp;#8217;s 11.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!K0Rl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb790416-6dc1-4389-aae9-9d9b773e8a1b_699x200.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="200" src="https://substackcdn.com/image/fetch/$s_!K0Rl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb790416-6dc1-4389-aae9-9d9b773e8a1b_699x200.jpeg" width="699" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Microsoft&amp;#8217;s direct-to-silicon microfluidic cooling assembly for Nvidia GH200. Source: Microsoft, &amp;#8220;Direct to Silicon Microfluidic Cooling for Datacenters,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Microsoft&amp;#8217;s approach differs from TSMC&amp;#8217;s in the cooling structure. While TSMC used silicon micropillars, Microsoft used straight microchannels etched into the GPU silicon. Instead of using a thermal test vehicle, Microsoft tested on an actual Nvidia GH200 GPU. This likely allowed Microsoft to capture real thermal distribution and hotspots more accurately. Microsoft tested a variety of workloads on the GPU such as HPCG and HPL, each with different compute and memory stress characteristics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Az1C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d770f1-14c6-4c56-94f7-1212b5c2688b_2203x1349.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="892" src="https://substackcdn.com/image/fetch/$s_!Az1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d770f1-14c6-4c56-94f7-1212b5c2688b_2203x1349.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Microsoft GH200 microfluidic cooling results across GPU workloads. Source: Microsoft, &amp;#8220;Direct to Silicon Microfluidic Cooling for Datacenters,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Across these workloads, Microsoft reports 51-60% lower junction-to-inlet thermal resistance for the GPU at a 1 LPM flow rate. The HBM improved less, at only 27-37%, because it was still cooled through a cold plate and TIM. Overall, this results in a 50% reduction in thermal resistance for the package.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Microsoft also showed some preliminary reliability data. While thermal performance is important, datacenter deployments also require high reliability and low downtime. Over a period of 6 months, Microsoft recorded only 9 potential clogging events across ~4370 observations.&lt;/span&gt; &lt;span&gt;The rate declined over time, suggesting early instability after installation, followed by a more stable operating period. Even after 6 months, there was no measurable silicon erosion in the microchannels. At the node level, the GH200 successfully completed 3 weeks of repeated benchmarking followed by a 1-week continuous run at a stable package power. Microsoft is still testing cluster-level mean time between failures (MTBF) and availability.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Marvell Optical Interconnects&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Another prevalent theme at ECTC was optical interconnects and co-packaged optics. Marvell had several papers in this area, primarily on its Optical Multi-Chip Interconnect Bridge (OMIB) and Photonic Fabric, both of which it acquired through its purchase of Celestial AI earlier this year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While photonic interposers have been discussed for a few years, Marvell showed off a more localized version at ECTC. Fabricating a multi-reticle photonic interposer will likely prove challenging for yields, especially due to reticle stitching. Marvell also noted that a photonic interposer may lack features available in conventional silicon interposers such as high-density capacitors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RZsR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf199b53-e56e-4e81-ab1c-40ac08283250_909x275.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="275" src="https://substackcdn.com/image/fetch/$s_!RZsR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf199b53-e56e-4e81-ab1c-40ac08283250_909x275.png" width="909" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;OMIB package concept with EIC stacked on PIC and an electrical bridge embedded in an organic interposer. Source: Marvell, &amp;#8220;Optical Multi-Chip Interconnect Bridge (OMIB) Interposer Demonstration to Enable High-density Photonic Interconnects for High-Performance Computing Applications,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s approach has a photonic integrated circuit (PIC) embedded in the organic RDL interposer only where it is needed. In other regions where optical interconnects are not required, an electrical bridge can be used instead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As the PIC is embedded in the RDL, its grating couplers would normally be obstructed after overmolding. Marvell places a silicon/glass optical block over the grating region before molding to maintain an optical path to the top, where the fiber array unit (FAU) can be attached.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s OMIB test vehicle has one primary XPU die and six EIC dies on top. Embedded in the interposer are six PICs (big blue rectangles), six electrical bridges (thin blue rectangles) and 12 DTC dies (small blue squares). The roughly 2&amp;#215;-reticle RDL interposer uses four layers at 2/2 &amp;#181;m L/S.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!r1jx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ec27f4f-9295-4933-894e-013ee577c76a_631x650.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="650" src="https://substackcdn.com/image/fetch/$s_!r1jx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ec27f4f-9295-4933-894e-013ee577c76a_631x650.png" width="631" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Concept of OMIB with XPU-XPU interconnect and external FAU. Source: Marvell, &amp;#8220;Optical Multi-Chip Interconnect Bridge (OMIB) Interposer Demonstration to Enable High-density Photonic Interconnects for High-Performance Computing Applications,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell also showed off a conceptual multi-die XPU with optical chip-to-chip interconnects to reduce latency and hop count. Marvell claims that OMIB removes the shoreline limitations, since the same bridge can route both on-package die-to-die links and external optical interconnects. Marvell cites a bandwidth density of 1.8 Tbps/mm&amp;#178; with this approach.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aeNu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831e1806-e179-4581-a0a0-9c63923e8343_699x613.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="613" src="https://substackcdn.com/image/fetch/$s_!aeNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831e1806-e179-4581-a0a0-9c63923e8343_699x613.jpeg" width="699" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Process flow of 2.5D OMIB integration. Source: Marvell, &amp;#8220;Optical Multi-Chip Interconnect Bridge (OMIB) Interposer Demonstration to Enable High-density Photonic Interconnects for High-Performance Computing Applications,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The process flow shown by Marvell is chip-last, similar to TSMC&amp;#8217;s CoWoS-L. Marvell builds an organic RDL interposer with embedded bridges, OMIB PICs, DTCs, and other components, with C4 bumps connecting it to the package substrate. Bridge TSVs and tall copper pillars connect to the RDL, and the ASIC dies and EICs are attached last.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0eyl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1184e6e9-21c3-45e3-8447-213a4589e392_1250x980.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="980" src="https://substackcdn.com/image/fetch/$s_!0eyl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1184e6e9-21c3-45e3-8447-213a4589e392_1250x980.png" width="1250" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Package concepts with optical engine on substrate, OMIB and photonic interposer. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Interconnect for a Scale-up Network Solution in Accelerated Computing,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the near term, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178153689/what-is-cpo-about-and-why-is-everyone-so-excited"&gt;&lt;span&gt;vertically stacked optical engines like TSMC&amp;#8217;s COUPE&lt;/span&gt;&lt;/a&gt;&lt;span&gt; are more achievable than OMIB-style connections or a full photonic interposer. Marvell connects the EIC and PIC using microbumps at 50 &amp;#181;m pitch, then mounts the resulting engine to either the package substrate or an interposer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The substrate configuration can use a UCIe-S-like parallel bus at a coarse 130 &amp;#181;m C4 pitch, while the interposer configuration can use a UCIe-A interface at a tighter ~40-45 &amp;#181;m pitch. Marvell favors the substrate approach due to its simplicity and better thermal isolation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ekF8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d42f8f6-fa47-4a02-9457-d42423bc299e_590x448.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="448" src="https://substackcdn.com/image/fetch/$s_!ekF8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d42f8f6-fa47-4a02-9457-d42423bc299e_590x448.jpeg" width="590" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Photonic Fabric optical link test chip EIC with four TX-RX pairs. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Interconnect for a Scale-up Network Solution in Accelerated Computing,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell tested an optical engine using a 5 nm (likely TSMC N5) EIC, with four 56 Gb/s TX-RX pairs for 224 Gb/s in each direction. The design uses &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178153689/electro-absorption-modulators-eam"&gt;&lt;span&gt;electro-absorption modulators (EAMs)&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of the micro-ring modulators (MRMs) preferred by other companies, citing better thermal stability and a wider operating wavelength range. While these advantages are real, we believe that EAMs will prove difficult to manufacture at scale.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!87DB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d02464-a100-4e88-8a13-71d25c9f559c_853x446.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="446" src="https://substackcdn.com/image/fetch/$s_!87DB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d02464-a100-4e88-8a13-71d25c9f559c_853x446.png" width="853" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;PIC steady-state temperature gradient under full XPU power on substrate, silicon interposer and silicon bridge. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Chiplets for Co-Packaged Optics in AI Data Centers,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell also compared the thermal characteristics of an optical engine connected via UCIe-S on substrate and UCIe-A both on a silicon interposer and over a silicon bridge. Under full XPU load, the PIC temperature rose by less than 5&lt;/span&gt; &lt;span&gt;&amp;#176;C on the substrate, versus ~25 &amp;#176;C on the interposer and ~20 &amp;#176;C with the bridge. The organic substrate&amp;#8217;s low thermal conductivity and relatively large millimeter-scale air gap isolate the PIC. In both UCIe-A configurations, the fine-pitch silicon close to the XPU provides a low-resistance thermal path. There is also a much smaller air gap, at only ~100 &amp;#181;m, which contributes to the heating of the PIC.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fTe-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df60c85-3774-4405-aecf-40a7b728d777_716x406.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="406" src="https://substackcdn.com/image/fetch/$s_!fTe-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df60c85-3774-4405-aecf-40a7b728d777_716x406.png" width="716" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;PIC transient temperature rise on substrate, silicon interposer and silicon bridge. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Chiplets for Co-Packaged Optics in AI Data Centers,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The thermal transients occur within ~30 ms of an XPU power-state change. The PIC heats at ~10 &amp;#176;C/s on the organic substrate, versus ~100 &amp;#176;C/s with the bridge and ~120 &amp;#176;C/s on the interposer. Marvell argues that the EAM bias voltage can be adjusted electronically fast enough to track these changes, while ring modulators require heater-and-feedback loops, which are constrained by slower time constants.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Lightmatter Passage M1000&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Lightmatter has previously detailed the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178153689/lightmatter"&gt;&lt;span&gt;Passage M1000&amp;#8217;s architecture and optical interconnects&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and has outlined its manufacturing approach. At ECTC, it provided a much deeper look at the assembly process, fiber attachment, and packaging results for integrating the multi-reticle photonic interposer with ASIC chiplets.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t9kS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a99a955-ba9e-485a-8762-ac813c0e6d2a_652x750.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="750" src="https://substackcdn.com/image/fetch/$s_!t9kS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a99a955-ba9e-485a-8762-ac813c0e6d2a_652x750.jpeg" width="652" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Passage M1000 schematic. Source: Lightmatter, &amp;#8220;Advancing Interconnect Performance and Reliability with Innovations in 3D Photonic Integration Packaging and Fiber Coupling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The test vehicle uses chip-on-wafer assembly to attach 15 ASIC chiplets to a four-tile M1000 interposer. We estimate the interposer measures ~2100 mm&amp;#178;, about half of the 4000 mm&amp;#178; eight-tile configuration shown at Hot Chips 2025. The M1000 is highly configurable to different sizes and tile counts depending on the needs of the product.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each of the four tiles has 32 optical waveguides at 127 &amp;#181;m pitch. Electrical signals and power travel from the substrate to the ASIC chips through the C4 bumps at ~176 &amp;#181;m pitch, two backside RDL layers, and 126 &amp;#181;m deep TSVs with a 10 &amp;#181;m width before reaching the ASIC chiplets through microbumps. The ~2100 mm&amp;#178; interposer occupies less than one-third of the 7200 mm&amp;#178; organic substrate. This ratio is closer to the logic area to package size ratio than the package-spanning interposer area of an equivalent silicon or organic RDL solution. It is unclear whether this is a consequence of the optical architecture or a design choice specific to this test vehicle.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-G4F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef0cfb9-f088-4778-ae04-6f15db1f2c63_955x481.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="481" src="https://substackcdn.com/image/fetch/$s_!-G4F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef0cfb9-f088-4778-ae04-6f15db1f2c63_955x481.jpeg" width="955" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Passage M1000 package warpage during temperature ramp-up and cool-down. Source: Lightmatter, &amp;#8220;Advancing Interconnect Performance and Reliability with Innovations in 3D Photonic Integration Packaging and Fiber Coupling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attaching a silicon interposer of this size to an organic substrate creates severe warpage. The module reached ~59 &amp;#181;m of warpage at the 260 &amp;#176;C reflow temperature, and ~56 &amp;#181;m after cooling back down to room temperature. With a 118 &amp;#181;m-thick interposer and C4 bumps at ~176 &amp;#181;m pitch, this is enough to compromise joint formation. Lightmatter used a magnetic fixture to hold the substrate flat during attachment and reported &amp;gt;95% electrical assembly yield, with healthy microbump and C4 joints across the package.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qqhb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f59b30-dbe5-4d4b-843b-e055e9fda221_748x477.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="477" src="https://substackcdn.com/image/fetch/$s_!qqhb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f59b30-dbe5-4d4b-843b-e055e9fda221_748x477.jpeg" width="748" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Thermal map of the test chip at 170 W per quadrant. Source: Lightmatter, &amp;#8220;Advancing Interconnect Performance and Reliability with Innovations in 3D Photonic Integration Packaging and Fiber Coupling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Lightmatter used a thermal test chip with four independently powered quadrants, each dissipating 170 W. This resulted in a power density of 1.47 W/mm&amp;#178; across the 369 mm&amp;#178; active area. At this power, the photonic interposer reached approximately 100 &amp;#176;C using a 25 &amp;#176;C coolant flowing at 1.8 LPM/kW. This validates cooling 680 W from a concentrated test-chip area in a package designed for more than 900 W across nearly three reticles of ASIC silicon.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Other Highlights&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Hybrid Bonding&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hybrid copper bonding still delivers the finest pitch and highest I/O density for HPC applications. The open problem is keeping the interface extremely flat and clean while reducing the bonding temperature. Two material approaches stood out this year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first uses organic dielectrics, whose mechanical compliance increases tolerance to particles and surface roughness while reducing bonding stress. Mitsui Chemicals and ASE demonstrated pressure-less Cu/polymer bonding at 200 &amp;#176;C and 10 &amp;#181;m pitch. TOK and NYCU demonstrated a 10-second bonding process at 150 &amp;#176;C. Samples bonded at 200 &amp;#176;C maintained stable resistance through reliability testing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YdlA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0076e249-2fbb-4b5e-8d06-4aa0e562968a_2453x1008.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!YdlA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0076e249-2fbb-4b5e-8d06-4aa0e562968a_2453x1008.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Void-free C-SAM bonding maps for fine-grain Cu annealed at 175 &amp;#176;C and 200 &amp;#176;C. Source: Intel, &amp;#8220;Enabling Ultra Low Temperature Hybrid Bonding for D2W Scaling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second approach uses fine-grain copper. Its higher grain-boundary density accelerates copper diffusion at lower temperatures, and subsequent grain growth increases conductivity. Intel combined fine-grain copper with a low-temperature dielectric stack, achieving uniform wafer bonding after 175 &amp;#176;C and 200 &amp;#176;C anneals. Electrical yield was around 60% in two of three samples, although Intel described these results as a lower bound due to test vehicle and probing limitations. The experiments used wafer-to-wafer (W2W) test vehicles rather than the die-to-wafer (D2W) process targeted by the technology.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The most aggressive pitch came from Applied Materials and EV Group, which demonstrated 450 nm pitch wafer-to-wafer bonding at 98% yield across a chain of 20 million links. Failure analysis associated open links with carbon-rich benzotriazole (BTA) residue at the copper interface. A PVD TaN/Ta barrier stack significantly improved yield. CEA-Leti separately achieved greater than 97% yield after a 100 &amp;#176;C anneal without plasma activation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Together, these results show that reducing pitch and bonding temperature requires the copper, dielectric, CMP, surface preparation, and annealing to be co-optimized to achieve hybrid bonding with low warpage and no cracking. We expect continued refinement by material suppliers and equipment vendors to improve post-bond yield from 2027 onward.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;Interposer Alternatives&lt;/h3&gt;&lt;p&gt;As package sizes outgrow the practical limits of circular silicon interposers, more vendors are proposing interposer-less integration schemes beyond Intel&amp;#8217;s EMIB-T.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!iLGS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ebd3c49-889d-4af1-89ea-019f60cc8dfe_658x149.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="149" src="https://substackcdn.com/image/fetch/$s_!iLGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ebd3c49-889d-4af1-89ea-019f60cc8dfe_658x149.png" width="658" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Schematic cross-section of FO-EB with embedded memory chiplet. Source: Intel and SPIL, &amp;#8220;3D Integration of an SRAM chiplet in Fan-Out Embedded Bridge Platform Achieving Low Energy Read/Write,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Intel and SPIL placed an SRAM chiplet in the embedded-bridge layer of a fan-out embedded bridge (FO-EB) package, connecting it vertically to the logic die through 25 &amp;#181;m pitch microbumps. The test chip reached more than 265 GB/s/mm&lt;span&gt;&amp;#178; at 0.24 pJ/b.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Panel-scale organic interposers provide another route around the size limits of silicon. Resonac demonstrated the individual process modules for a dry-film embedded-bridge interposer on a 320 mm &amp;#215; 320 mm panel, including 5 &amp;#181;m microvias and 2/2 &amp;#181;m L/S. ASE fabricated an RDL on a 600 mm &amp;#215; 600 mm panel, then divided it into four 300 mm &amp;#215; 300 mm panels for assembly with existing equipment. Its test vehicle used three RDL layers at 5/8 &amp;#181;m L/S.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XQB4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3fed56-388d-4d8a-8aa2-53245beb7fa8_1456x1238.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1238" src="https://substackcdn.com/image/fetch/$s_!XQB4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3fed56-388d-4d8a-8aa2-53245beb7fa8_1456x1238.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Direct Bridge Multi-die with a 30 &amp;#181;m pitch silicon bridge. Source: IBM, &amp;#8220;Direct Bridge Multi-die (DBrM) Package: A Novel Silicon Bridge Chiplet Packaging Technology Using Die-Edge Gluing Technique for Chip Reconstitution,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;IBM took a more localized approach with Direct Bridge Multi-die (DBrM). Chiplets are first joined along their edges, creating a mechanically rigid subassembly around a 30 &amp;#181;m pitch silicon bridge. The subassembly withstood more than 30 N in bending tests, versus 0.2 N for IBM&amp;#8217;s previous underfill-only structure. This is a positive result for reducing warpage.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PEVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f35e4a-0ad4-4e2c-92b7-9928d73a018a_1584x993.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="913" src="https://substackcdn.com/image/fetch/$s_!PEVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f35e4a-0ad4-4e2c-92b7-9928d73a018a_1584x993.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Chiplets connected through a silicon bridge without an interposer. Source: Unimicron, &amp;#8220;Silicon Bridges for Chiplets Heterogeneous Integration with Microbumps,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unimicron modeled an even simpler structure requiring neither an interposer nor embedded bridges. Two chiplets connect through a thin silicon bridge mounted beneath them while attaching directly to the substrate. Unimicron&amp;#8217;s simulations show that underfill between the chiplets and bridge is necessary to control microbump strain.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While TSMC&amp;#8217;s CoWoS-R and CoWoS-L remain limited by the circular wafer on which their RDLs are fabricated, constraining package size and wafer utilization, these alternatives shift integration to panel-level or reconstituted formats or eliminate the interposer entirely. We expect similar architectures to begin appearing in ASICs over the next several years.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Thermal Interface Materials&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In advanced thermal solutions, TSMC and its partners continue to dominate the show. TSMC&amp;#8217;s direct-to-silicon cooling removes TIM1 entirely, but most near-term systems will still need better materials between the silicon and heat spreader. TSMC&amp;#8217;s OSAT partner, SPIL, tested gallium-based liquid-metal (LM) composites, a silicone-based HS-TIM and a carbon fiber HCF-TIM, in a 55 mm &amp;#215; 55 mm FO-EB package. Their measured conductivities were 5.7 W/m&amp;#183;K and 10 W/m&amp;#183;K respectively, and both produced lower thermal resistance than a commercial silicone TIM at 4 W/m&amp;#183;K.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The two TIMs exhibited drastically different reliability outcomes, with HCF-TIM maintaining 95% coverage after 1000 hours at 150 &amp;#176;C while HS-TIM fell to only 75% as its silicone matrix hardened and partially delaminated. Both LM-based TIMs reduced thermal resistance relative to conventional S-TIM, with HCF-TIM delivering the best performance and reliability.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Purdue, the University of Aveiro, and UCLA took a different approach, embedding Cu/Sn microbumps in nanocrystalline diamond. The resulting interconnect layer reached an effective in-plane thermal conductivity of 500 to 600 W/m&amp;#183;K, around twenty times that of conventional microbumps with underfill. This is not a TIM1 replacement, but a way to spread heat laterally through the interconnect layer of a 3D stack. The process remains early, with the paper only using a single-sided test structure rather than an assembled 3D stack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the other hand, we saw little discussion on SiC as TIM1 or part of thermal solutions, implying a relatively long way till maturity.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Glass Substrates&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Glass&amp;#8217;s aurora dimmed somewhat this year, with fewer innovative papers presented at ECTC. However, the unsolved problem is still SeWaRe, the lateral crack that begins at a diced glass edge under RDL stress. Georgia Tech characterized the failure experimentally. Corning used finite element analysis (FEA), peridynamics, and analytical fracture mechanics to model its propagation, showing that stiff copper layers drove cracks towards the glass midplane, while compliant polymer layers changed the crack path. Corning also found that low-CTE polymers combined with appropriate glass selection could reduce the failure risk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1bC9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419bb2c2-36c9-4873-873a-5428bbbd3ae1_838x575.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="575" src="https://substackcdn.com/image/fetch/$s_!1bC9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419bb2c2-36c9-4873-873a-5428bbbd3ae1_838x575.png" width="838" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Comparison of the 74 &amp;#215; 74 mm organic- and glass-core test vehicles. Source: STATS ChipPAC, &amp;#8220;Assembly and Reliability Characterization of Glass-Cored Substrate Package for AI/HPC Applications,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;STATS ChipPAC investigated the assembly and reliability of large glass-core packages. Its 74 mm &amp;#215; 74 mm glass-core packages failed every test segment without edge coating, while the edge-coated packages completed assembly and reliability testing without abnormalities. The edge coating also reduced warpage by 33.5% relative to the uncoated glass-core package. Build-up pull-back and edge coating increasingly look like requirements for reliable glass-core substrate assembly.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On a positive note, Intel demonstrated an industry-first 510 mm &amp;#215; 515 mm, 24-layer glass-core panel with fully copper-filled through-glass vias (TGVs), two embedded EMIB bridges, and optical waveguides co-formed between the TGVs. The large prototype was displayed at Intel&amp;#8217;s booth. It was processed on existing organic-substrate lines, while singulated units showed no SeWaRe after thermal shock testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As OSAT adopters, Amkor and STATS ChipPAC measured 30-40% lower substrate-level warpage with a thinner glass core than their organic references, although assembly defects and TGV filling problems show that the process remains immature.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Glass is making real progress, but this year&amp;#8217;s data still support manufacturing development rather than high-volume adoption.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;RDL Scaling&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Finally, RDL L/S continues to shrink even as package sizes grow. The primary driver is UCIe 3.0, which supports speeds of up to 64 GT/s for future ASIC-to-ASIC and ASIC-to-HBM links. These high-speed die-to-die interconnects tighten signal integrity requirements as organic interposers grow larger and denser.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The roadmap has progressed from 10/10 &amp;#181;m line/space around 2015 to 2/2 &amp;#181;m today, with 1/1 &amp;#181;m emerging as the next target. Reaching the submicron era will require major changes to both RDL routing architectures and manufacturing processes. The process is shifting from semi-additive plating towards damascene for sub-2 &amp;#181;m copper, where CMP planarization and low-shrinkage dielectrics become the key gating steps.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Resonac used polymer damascene and panel CMP to form 2/2 &amp;#181;m wiring on a 320 mm &amp;#215; 320 mm glass panel, including a four-layer via-and-trench structure. imec and Fujifilm pushed damascene to 1/1 &amp;#181;m on 300 mm wafers. Ushio resolved 1.5/1.5 &amp;#181;m L/S over an 18-reticle field without stitching, with 16 exposures covering a full 510 mm &amp;#215; 515 mm panel. Sumitomo Bakelite and Georgia Tech showed a fully imidized liquid dielectric with only 4% cure shrinkage at a relatively low temperature of 200 &amp;#176;C and a fine 2/2 &amp;#181;m L/S.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!y3jQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28208d53-ff49-4dbc-b650-235d118c7894_1536x1024.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!y3jQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28208d53-ff49-4dbc-b650-235d118c7894_1536x1024.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Design flow and STCO for UCIe-A on 8-layer CoWoS-R RDL. Source: GUC, &amp;#8220;Design of UCIe-A x64 Chiplets Integration for 16&amp;#8211;36 GT/s Using Organic Interposer,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As the most advanced RDL manufacturer, TSMC also collaborated with GUC to present their work on 8-layer RDL scaling, which is believed to be the near-term limit of the CoWoS-R platform. GUC demonstrated an STCO-based design and validation flow for integrating a 64-bit UCIe-A interface fabricated on TSMC N3 and integrated on an 8-layer CoWoS-R RDL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Its STCO framework uses ground-signal-ground interleaved transmission lines to control crosstalk and skew, while simulations show that C4-side IPDs provide localized decoupling and reduce voltage fluctuation at the chiplet microbumps.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!K5hL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb26a7f83-521f-482c-8d26-1786be1a497c_1416x1111.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1111" src="https://substackcdn.com/image/fetch/$s_!K5hL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb26a7f83-521f-482c-8d26-1786be1a497c_1416x1111.png" width="1416" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Measured UCIe-A eye diagrams at 16 and 32 GT/s. Source: GUC, &amp;#8220;Design of UCIe-A x64 Chiplets Integration for 16&amp;#8211;36 GT/s Using Organic Interposer,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The design targets 16-36 GT/s with a 64-bit, 10-column UCIe-A interface at 45 &amp;#181;m bump pitch. Signal traces were routed at 2/2 &amp;#181;m across six layers, with the seventh reserved for power delivery. The test chip achieved a measured on-die eye width of 0.77 UI at 32 GT/s, while simulations showed an eye width of 0.74 UI at 36 GT/s. The results show that organic interposers can meet the signal and power integrity requirements for heterogeneous chiplet systems.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Stacked Memory&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!pMpH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ff3793-40e7-4ec6-88df-cf0d8c9b1fe4_652x181.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="181" src="https://substackcdn.com/image/fetch/$s_!pMpH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ff3793-40e7-4ec6-88df-cf0d8c9b1fe4_652x181.jpeg" width="652" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Conventional wire-bond stack versus Vertical Cu post Stack. Source: Samsung, &amp;#8220;Multi Stacked FOWLP utilizing Extreme Aspect Ratio Cu Post for Mobile on-Device AI Memory Solution,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung showed an approach to DRAM stacking that avoids TSVs entirely. Vertical Cu post Stack (VCS) connects four stacked memory dies through &amp;lt;56 &amp;#181;m-pitch, &amp;lt;30 &amp;#181;m-wide high-aspect-ratio copper posts embedded in molding compound, rather than etching vias through silicon, while also replacing the package substrate with an RDL. Shortening the interconnect cut power consumption by 41% versus a conventional wire-bonded stack, from 0.646 W to 0.384 W at iso-speed. Samsung also reported better signaling, with maximum data rate rising from 8.6 Gb/s to 11.8 Gb/s with only 8% higher power consumption.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!G2al!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa65f8822-861b-4d0c-969c-250b121bdca3_770x62.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="62" src="https://substackcdn.com/image/fetch/$s_!G2al!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa65f8822-861b-4d0c-969c-250b121bdca3_770x62.jpeg" width="770" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Cross-section of the four-high VCS DRAM stack connected by extreme-aspect-ratio copper posts. Source: Samsung, &amp;#8220;Multi Stacked FOWLP utilizing Extreme Aspect Ratio Cu Post for Mobile on-Device AI Memory Solution,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The form factor also improves substantially, with package height and footprint each reduced by 40% while bandwidth increases 2.6&amp;#215; and I/O count 6&amp;#215;. Although Samsung&amp;#8217;s focus is on mobile platforms like smartphones, this approach is also promising for higher-power workloads. We believe VCS and similar approaches could help future AI accelerators reach higher bandwidth at lower power and a smaller footprint, while also enabling higher-density memory modules like SOCAMMs for server CPUs.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/ectc2026"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</content>
    <link href="https://newsletter.semianalysis.com/p/ectc2026"/>
    <summary type="html">&lt;p&gt;As transistor density scaling has slowed, advanced packaging has become the primary scaling vector. However, AI accelerators have grown so large and require such fast interconnects that the package itself is now hitting limits. Circular interposers constrain package size and wafer utilization, HBM4E doubles the I/O count while increasing speed, and multi-kilowatt packages are overwhelming conventional cooling architectures.&lt;/p&gt;&lt;p&gt;ECTC is the industry&amp;#8217;s premier conference for all things packaging. This year&amp;#8217;s disclosures were closely aligned with upcoming commercial products. Intel provided an overview of EMIB-T integration, package scaling and future roadmaps. Marvell showed how custom HBM can move interface logic off the accelerator while shortening package routing. TSMC and Microsoft pushed coolant directly into silicon, while Marvell and Lightmatter brought optical interconnects onto the package.&lt;/p&gt;&lt;p&gt;This roundup covers ECTC 2026 technologies most likely to shape AI accelerator packages over the next several years.&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Intel EMIB-T&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Intel was the largest corporate presenter at ECTC. The key disclosure was EMIB-T. This is the next generation of EMIB with through-silicon vias (TSVs). After the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/174558490/intel-emib-t"&gt;&lt;span&gt;initial announcement&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, Intel has filled in more of the architecture and roadmap, including tighter bump pitch, larger packages and on-bridge capabilities. Their disclosures show why EMIB-T is expected to be used in Google&amp;#8217;s TPU v9, and why it is the most credible alternative to TSMC&amp;#8217;s CoWoS platform for large-package AI accelerators.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;EMIB-T scaling test vehicle with 2&amp;#215; reticle silicon content. Top-down SEM images show 110, 55 and 36 &amp;#181;m mixed bump pitches. Source: Intel, &amp;#8220;Scaling the EMIB-T Advanced Packaging Technology to Address the Future HPC/AI Demand,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel has validated EMIB-T at a 36/35 &amp;#181;m bump pitch on a package with 2&amp;#215; reticle-sized silicon. This is a reduction over the 45 &amp;#181;m pitch used in Granite Rapids, and a 65% increase in bump density. Granite Rapids-AP is a large package, measuring 70 mm &amp;#215; 105 mm, or slightly less than 9 reticles of area. Validation for 36/35 &amp;#181;m bump pitches is now expanding to 4.5&amp;#215; reticle silicon packages, with certification targeted by the end of 2026.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The next pitch step is also underway, with Intel testing 25 &amp;#181;m bump pitch on a vehicle with two 1-reticle silicon dies connected through a single 3 mm &amp;#215; 18 mm EMIB-T bridge.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Further scaling gets harder. Below 25 &amp;#181;m, the solder volume in each bump becomes very small. Shorts, opens, and assembly-driven yield loss become much more likely. EMIB-T can keep scaling, but the limiter shifts from bridge routing density to bump formation, placement accuracy, and assembly yield.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!wX3w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299aff21-4041-42e2-ae83-3c05eb18f8b2_1003x889.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="889" src="https://substackcdn.com/image/fetch/$s_!wX3w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299aff21-4041-42e2-ae83-3c05eb18f8b2_1003x889.jpeg" width="1003" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Intel&amp;#8217;s 240 mm &amp;#215; 240 mm quarter-panel EMIB-T test vehicle. Source: Intel, &amp;#8220;Scaling the EMIB-T Advanced Packaging Technology to Address the Future HPC/AI Demand,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel also showed how large EMIB-T packages can become. Full panel-sized packages are possible, but Intel framed quarter-panel packages as the practical target. It showed a 240 mm &amp;#215; 240 mm test vehicle, equivalent to roughly 67 reticles of area. However, we observed that the sample at the booth exhibited severe warpage. At that size, the bridge is only one part of the problem. Substrate handling, warpage, overlay, and panel-level patterning become first-order constraints. Intel is also evaluating advanced lithography approaches to keep overlay tight enough for these large substrates at quarter-panel and even full-panel scale.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!BGJZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9576ca-1e39-4224-a393-75db5798a624_1081x486.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="486" src="https://substackcdn.com/image/fetch/$s_!BGJZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9576ca-1e39-4224-a393-75db5798a624_1081x486.jpeg" width="1081" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;EMIB-T stack-up with routing, power mesh, TSVs, and MIM layers. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;While bump pitch and package size are important, the bridges matter just as much. EMIB-T is much more complex than the EMIB used in current products. It adds TSVs, more metal layers, a power mesh, and MIM capacitor layers so the bridge can carry both high-density signals and vertical power delivery. Intel showed a cross-section with 10 metal layers, including 4 routing layers, and MIM capacitors between M1 and M2. Intel focused on its improvements for HBM4E.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!a3Cz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0572fc1a-629c-4747-bd10-4bfb8b71a8b2_912x563.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="563" src="https://substackcdn.com/image/fetch/$s_!a3Cz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0572fc1a-629c-4747-bd10-4bfb8b71a8b2_912x563.jpeg" width="912" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Package DC voltage drop using conventional EMIB vs EMIB-T. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The &amp;#8220;T&amp;#8221; in EMIB-T is for TSV. Their job is power delivery. In conventional EMIB, power is delivered vertically through the substrate in non-bridge regions, but power delivery near the bridges must spread laterally through the package and die-side routing. With TSVs in the bridge, power can be delivered directly through the bridge, reducing the current path distance significantly. Intel claims that DC voltage drop can be reduced by 68-80% with these TSVs.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;HBM4E is difficult because the interconnect must scale both signal density and power delivery at the same time. HBM4 doubles the pin count versus HBM3, and the PHY needs additional power rails such as VDDQ and VDDQL. These rails take routing area away from signals, raising signal density in the remaining space.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To combat this, Intel did not route every HBM channel the same way. It placed the longest signal paths on cleaner routing layers. On M9, only ~28% of the longest channel length runs through the tightest routing region, while on lower layers such as M3, that number rises to ~84%, but those channels are shorter. This keeps crosstalk and insertion loss from being dominated by the worst routes.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3d2h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433907f7-ee5e-4cc8-9ab6-2db4f980c201_898x615.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="615" src="https://substackcdn.com/image/fetch/$s_!3d2h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433907f7-ee5e-4cc8-9ab6-2db4f980c201_898x615.jpeg" width="898" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;EMIB-T package PDN AC impedance for HBM4E with and without bridge MIM capacitors. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Power delivery is also moving into the bridge. EMIB-M introduced metal-insulator-metal (MIM) capacitors between M1 and M2, and EMIB-T builds on that approach. Intel disclosed a capacitance density of 500 nF/mm&amp;#178;, roughly comparable to Intel 18A MIMs. Intel claims these on-bridge capacitors improve power delivery network (PDN) AC impedance by more than 82% versus an EMIB-T package without bridge MIM capacitors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!jOcF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ef0ff4-b4d0-48fb-80cb-30ba03f2b7d1_1051x470.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="470" src="https://substackcdn.com/image/fetch/$s_!jOcF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28ef0ff4-b4d0-48fb-80cb-30ba03f2b7d1_1051x470.jpeg" width="1051" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Signaling performance of HBM4E EMIB-T channel at 12 Gb/s without and with DFE. Source: Intel, &amp;#8220;Enabling 12+Gb/s HBM4E with EMIB-T Advanced Packaging Technology,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Intel also simulated EMIB-T with HBM4E. At 12 Gb/s, Intel showed ~67% UI eye width without receiver equalization. With a one-tap decision feedback equalizer (DFE), that improves to ~72.5%. A DFE is a receiver-side circuit that reduces interference from prior bits after the signal passes through the package channel.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel also simulated higher speeds of 12.8 Gb/s, 14 Gb/s and 16 Gb/s. The UI eye width remained above 60% at all tested speeds, with modest pad capacitance reduction.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Intel&amp;#8217;s EMIB roadmap goes beyond passive bridges with only routing and capacitors. Future versions include higher-density on-bridge MIM capacitors, larger high-aspect-ratio bridge dies, sub-25 &amp;#181;m bump pitch, active bridges, and embedded voltage regulators inside EMIB dies. Intel has also disclosed substrate-core embedded deep-trench capacitor (DTC) concepts and &amp;gt;2500 nF/mm&amp;#178; eMIM-T capacitors embedded below the base die, although we have not seen either in shipping EMIB products.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;EMIB-T is still behind TSMC&amp;#8217;s CoWoS platform on several vectors. TSMC has already deployed DTC/eDTC integration and is further along on integrated voltage regulators and &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/193556591/tsmc-active-lsi-paper-82"&gt;&lt;span&gt;active local silicon interconnect (LSI&lt;/span&gt;&lt;/a&gt;)&lt;span&gt;. EMIB-T narrows the gap, but Intel is still catching up to an ecosystem that has been executing in volume for years.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Marvell Custom HBM&lt;/span&gt;&lt;/h2&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At Marvell&amp;#8217;s 2024 Industry Analyst Day, Marvell announced custom HBM. At the time, it was a vague claim with few technical details.&lt;/span&gt; &lt;span&gt;HBM had been built around JEDEC compatibility: standard DRAM stacks from the memory vendors, standard HBM PHYs on the accelerator, and a fixed wide interface between them. At Hot Chips 2025, Marvell showed the floorplan of the custom base die. At ECTC, it finally provided the package-level details for custom HBM4E.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The JEDEC specification fixes the interface between the HBM stack and host. That is good for interoperability: any memory vendor&amp;#8217;s HBM can be paired with any compliant host. However, it is bad for power, performance and area. The host ASIC must implement the standard HBM PHY and route a very wide, parallel interface with standardized pad placement and breakout rules. As packages get larger and HBM speeds rise, that fixed boundary makes it harder to optimize shoreline, routing density, power delivery and signal integrity.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Qcul!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f766f4c-81af-44b6-9c6d-23161835443b_1179x662.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="662" src="https://substackcdn.com/image/fetch/$s_!Qcul!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f766f4c-81af-44b6-9c6d-23161835443b_1179x662.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Standard HBM vs Custom HBM base die and host floorplan. Source: Marvell, &amp;#8220;Marvell custom HBM routing and signal integrity analysis,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Custom HBM keeps the DRAM core dies unchanged. Instead, a custom base die, with an optimized die-to-die interface, is fabricated on an advanced logic process. The custom base die can integrate the HBM controller, management and monitoring capabilities, custom logic, and expansion interfaces.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!3823!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdecd8e76-212e-4d62-a8f2-524de1823bc3_1179x662.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="662" src="https://substackcdn.com/image/fetch/$s_!3823!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdecd8e76-212e-4d62-a8f2-524de1823bc3_1179x662.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;JEDEC HBM4E vs Marvell Custom HBM. Source: Marvell, &amp;#8220;Marvell custom HBM routing and signal integrity analysis,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell claims this reduces the host ASIC footprint dedicated to HBM PHYs and associated logic by ~60%, directly freeing up area for more compute, cache or I/O. The custom interface moves much of the memory-side interface into the HBM base die.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s example uses 1024 channels at 32 Gb/s, reaching 4.1 TB/s, equivalent to a 2048-bit JEDEC HBM4(E) interface at 16 Gb/s.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The package also gets easier to route, with the custom interface shortening the interposer channel length from 6.5 mm to 1.5 mm, allowing Marvell to keep the same 9 routing layers and 2/2 &amp;#181;m line/space (L/S) while increasing bandwidth.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s example uses an organic redistribution layer (RDL) interposer instead of silicon, reducing packaging costs.&lt;/span&gt; &lt;span&gt;Organic RDL is limited to much coarser L/S than the silicon interposers in CoWoS-S or the silicon bridges in CoWoS-L and EMIB-T, which makes layout harder. Marvell relies on customized shielding and routing patterns in different sections to maximize bandwidth density while controlling crosstalk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!eBy-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fecc82d-aabe-4e46-9ff0-13cd758f41e4_1756x2246.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1862" src="https://substackcdn.com/image/fetch/$s_!eBy-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fecc82d-aabe-4e46-9ff0-13cd758f41e4_1756x2246.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Nvidia Rubin GPU wafer. Source: TSMC, Computex 2026. Photo: SemiAnalysis&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;At &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/191561008/feynman"&gt;&lt;span&gt;GTC, Nvidia announced that Feynman would use custom HBM&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Nvidia&amp;#8217;s reasons are likely similar to Marvell: higher bandwidth, lower power, and less accelerator die area dedicated to HBM. We estimate that ~16% of Rubin GPU die area is dedicated to HBM-related logic and PHYs. Custom HBM allows Nvidia to offload much of that burden onto the HBM base die.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Custom HBM also enables expansion interfaces beyond the standard HBM link. Instead of forcing all memory traffic through the limited accelerator die shoreline, the base die can act as a secondary memory controller and fan out to additional memory. That memory could be higher-capacity, lower-bandwidth LPDDR, or even a second layer of HBM. This gives the accelerator a path to add capacity without consuming the valuable die shoreline needed for external I/O. This is relevant to AMD&amp;#8217;s upcoming MI450 and future MI500 GPUs, which will support LPDDR for increased memory capacity.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;Samsung HBM Interposer&lt;/h2&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung also presented its solution for HBM4E on interposers. HBM4E pushes data rates to 12 Gb/s and above, and doubles the number of I/O pins, increasing routing complexity. HBM4E could require 2&amp;#215; the interposer layers versus HBM3E and 5&amp;#215; as much as HBM2. Due to the increased I/O count and higher data rates, power consumption is also expected to increase by 86% versus HBM3E, and 5.6 times versus HBM2.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!AltS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71bf59d1-7dd5-4b60-ae66-2bc3bcf31437_779x401.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="401" src="https://substackcdn.com/image/fetch/$s_!AltS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71bf59d1-7dd5-4b60-ae66-2bc3bcf31437_779x401.png" width="779" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;8-layer silicon interposer stack-up for HBM4E with two-signal / one-ground routing. Source: Samsung, &amp;#8220;Advanced SI/PI Interposer Design Solution Enabling High-Performance HBM4e at up to 12Gbps,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung proposed an 8-layer silicon interposer which it says reduces the layer count by 20% versus the estimated requirement. The interposer stack uses a repeated two-signal / one-ground staggered arrangement to shield high-speed signals, with 75% of the layers being allocated for signal routing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Another key aspect of the interposer is the ultra-high-density capacitors (UHCs). Samsung does not spell out the exact capacitor structure, but they are likely similar to Intel EMIB-T MIM capacitors or TSMC CoWoS DTCs. The UHCs can only be placed on the M1 layer, which is also heavily used for signal routing. Thus, the available area is limited.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;If routing is unbalanced, the capacitors get pushed to one side of the interface, creating uneven PDN behavior between the logic and HBM sides. Samsung&amp;#8217;s layout redistributes the routing across M1 and the other layers so that UHCs can be placed more evenly across the entire interface. This reduces PDN impedance and voltage noise while keeping routing density manageable.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Samsung HBM Hybrid Bonding Thermals&lt;/span&gt;&lt;/h2&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!z_E5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43135bed-a06d-402c-a455-4b1cb75505de_1179x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!z_E5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43135bed-a06d-402c-a455-4b1cb75505de_1179x675.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;2.5D package thermal resistance contribution. Source: Samsung, &amp;#8220;System-Level Thermal Validation of 2.5D Packages in GPU Servers: Impact of TCB vs HCB HBM Platforms,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung also discussed HBM thermals, particularly with hybrid bonding. HBM stacks are getting faster and taller, while the logic die underneath is also consuming more power. With 16-hi HBM, the thermal resistance is still acceptable, but with future generations moving to 20-hi and 24-hi HBM, new approaches are needed.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!pzk2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713b5b31-3764-44ba-aa58-73e6aea153d7_1179x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!pzk2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713b5b31-3764-44ba-aa58-73e6aea153d7_1179x675.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Samsung HBM thermal resistance with TCB and HCB under air and liquid cooling. Source: Samsung, &amp;#8220;System-Level Thermal Validation of 2.5D Packages in GPU Servers: Impact of TCB vs HCB HBM Platforms,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung compared thermal compression bonding (TCB) and hybrid copper bonding (HCB) for HBM on 2.5D GPU packages with 2 GPU dies and 8 HBM stacks, similar to Nvidia Blackwell. The internal HBM thermal resistance drops by 12.2% with air cooling and 12.9% with liquid cooling. Total HBM thermal resistance drops by 3.5% with air cooling and 7.7% with liquid cooling.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The improvement is uneven as HCB only addresses part of the thermal network. Samsung separates the path into internal resistance, system-level resistance, and GPU-to-HBM crosstalk. The internal resistance and crosstalk drop by ~12.5% and ~9.8% respectively, but the system-level resistance, including thermal interface materials and cooling, increases by ~2.3%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ol4f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece2b817-e007-400b-a7bf-50537019e4c5_1179x675.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="675" src="https://substackcdn.com/image/fetch/$s_!ol4f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fece2b817-e007-400b-a7bf-50537019e4c5_1179x675.png" width="1179" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;HBM thermal resistance as base die power increases. Source: Samsung, &amp;#8220;System-Level Thermal Validation of 2.5D Packages in GPU Servers: Impact of TCB vs HCB HBM Platforms,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As more power moves into the HBM base die, such as in memory-bound workloads, the thermal bottleneck shifts. This is especially relevant for custom HBM, where the memory controller and more logic move into the base die. GPU-to-HBM crosstalk becomes a smaller share of the total thermal resistance, falling from 13% at 1&amp;#215; base-die power to 5% at 3&amp;#215; base-die power.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;According to Samsung, moving to HCB could allow for higher inlet temperatures or higher package power. In its estimate, moving to HCB allows inlet temperatures to rise by 1-2 &amp;#176;C at constant package power, or package power to increase by ~4% at constant temperature. Samsung also estimates cooling power would fall by ~7%.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!SXW1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a2d5af-8638-4bb4-bfc3-ed5f4e989810_668x432.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="432" src="https://substackcdn.com/image/fetch/$s_!SXW1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a2d5af-8638-4bb4-bfc3-ed5f4e989810_668x432.png" width="668" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Stack-level thermal resistance with TCB and HCB with varying pad density (P.D.) in HCB. Source: Samsung, &amp;#8220;System-Level Thermal Characterization of Hybrid Cu Bonded HBM on 2.5D Advanced Packaging,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung also isolated the impact of HCB at the stack level. The improvement is much larger here: Baseline HCB reduces stack thermal resistance by ~19% versus TCB. Increasing the HCB pad count raises the reduction to 22.3% at 2&amp;#215; pad density and 29.1% at 4&amp;#215; pad density.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Microfluidic Cooling&lt;/span&gt;&lt;/h2&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TSMC showed direct-to-silicon cooling on a large GPU-like test vehicle on CoWoS-R. CoWoS-R differs from CoWoS-S by using an organic rather than a silicon interposer. CoWoS-R was chosen as it provides better warpage tolerance and process compatibility. The test vehicle uses a 3.3&amp;#215; reticle interposer with 4 SoC dies and 8 HBM stacks. Each SoC die consists of 4 SoC heater groups, which together cover roughly half the interposer area.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!D_vu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f9eee0-4e2d-4087-b4f1-8fdc167283fe_512x417.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="417" src="https://substackcdn.com/image/fetch/$s_!D_vu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f9eee0-4e2d-4087-b4f1-8fdc167283fe_512x417.jpeg" width="512" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Silicon micropillar formation on the backside of the SoC dies for heat dissipation. Source: TSMC, &amp;#8220;Process Development and Thermal Characterization of Micropillar Direct-to-Silicon Liquid Cooling Solution on CoWoS-R Platform,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;TSMC compared three approaches: a conventional lidded cold plate package, a lidless cold plate package, and its micropillar direct-to-silicon design. The lidded and lidless cases still use traditional cold plates and thermal interface material (TIM). For the last variant, micropillars were formed directly onto the backside of the SoC dies.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ntj7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd14cf27-7fb2-405e-ae5b-48a15f83a6fe_1041x668.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="668" src="https://substackcdn.com/image/fetch/$s_!ntj7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd14cf27-7fb2-405e-ae5b-48a15f83a6fe_1041x668.jpeg" width="1041" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Thermal characterization of test vehicle with and without lid, and with micropillars. Source: TSMC, &amp;#8220;Process Development and Thermal Characterization of Micropillar Direct-to-Silicon Liquid Cooling Solution on CoWoS-R Platform,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;With conventional cooling at 1-2 liters per minute (LPM), a lidded package dissipated 1.9-2.3 kW while the lidless package dissipated 2.5-3.0 kW, using relatively warm 40&lt;/span&gt; &lt;span&gt;&amp;#176;C DI water. Both solutions saturate beyond 4 LPM because TIM becomes the bottleneck.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The micropillar test vehicle matched the lidless cold plate result at 2 LPM, then pulled ahead at higher flow rates, dissipating 4 kW at 4 LPM and 5.3 kW at 8 LPM. Across the full test vehicle, TSMC reported uniform power dissipation above 5 kW. The micropillars brought the liquid coolant into much closer proximity to the heat source, facilitating this improvement.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;However, micropillars are not without downsides. &lt;/span&gt;TSMC had to form the micropillars after chip-on-wafer (CoW) processing without damaging the CoWoS-R structure and develop new sealant materials to keep the coolant contained despite package warpage and thermal expansion mismatch. The test vehicle passed moisture sensitivity level 4 (MSL4) with no helium leakage or sealant delamination.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Unfortunately, this was one of only 3 papers by TSMC at ECTC as compared with Intel&amp;#8217;s 12 and Samsung&amp;#8217;s 11.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!K0Rl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb790416-6dc1-4389-aae9-9d9b773e8a1b_699x200.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="200" src="https://substackcdn.com/image/fetch/$s_!K0Rl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb790416-6dc1-4389-aae9-9d9b773e8a1b_699x200.jpeg" width="699" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Microsoft&amp;#8217;s direct-to-silicon microfluidic cooling assembly for Nvidia GH200. Source: Microsoft, &amp;#8220;Direct to Silicon Microfluidic Cooling for Datacenters,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Microsoft&amp;#8217;s approach differs from TSMC&amp;#8217;s in the cooling structure. While TSMC used silicon micropillars, Microsoft used straight microchannels etched into the GPU silicon. Instead of using a thermal test vehicle, Microsoft tested on an actual Nvidia GH200 GPU. This likely allowed Microsoft to capture real thermal distribution and hotspots more accurately. Microsoft tested a variety of workloads on the GPU such as HPCG and HPL, each with different compute and memory stress characteristics.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!Az1C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d770f1-14c6-4c56-94f7-1212b5c2688b_2203x1349.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="892" src="https://substackcdn.com/image/fetch/$s_!Az1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d770f1-14c6-4c56-94f7-1212b5c2688b_2203x1349.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Microsoft GH200 microfluidic cooling results across GPU workloads. Source: Microsoft, &amp;#8220;Direct to Silicon Microfluidic Cooling for Datacenters,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Across these workloads, Microsoft reports 51-60% lower junction-to-inlet thermal resistance for the GPU at a 1 LPM flow rate. The HBM improved less, at only 27-37%, because it was still cooled through a cold plate and TIM. Overall, this results in a 50% reduction in thermal resistance for the package.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Microsoft also showed some preliminary reliability data. While thermal performance is important, datacenter deployments also require high reliability and low downtime. Over a period of 6 months, Microsoft recorded only 9 potential clogging events across ~4370 observations.&lt;/span&gt; &lt;span&gt;The rate declined over time, suggesting early instability after installation, followed by a more stable operating period. Even after 6 months, there was no measurable silicon erosion in the microchannels. At the node level, the GH200 successfully completed 3 weeks of repeated benchmarking followed by a 1-week continuous run at a stable package power. Microsoft is still testing cluster-level mean time between failures (MTBF) and availability.&lt;/span&gt;&lt;/p&gt;&lt;div class="subscription-widget-wrap-editor"&gt;&lt;div class="subscription-widget show-subscribe"&gt;&lt;div class="preamble"&gt;&lt;p class="cta-caption"&gt;SemiAnalysis is a reader-supported publication. To receive new posts and support our work, consider becoming a free or paid subscriber.&lt;/p&gt;&lt;/div&gt;&lt;form class="subscription-widget-subscribe"&gt;&lt;input class="email-input" name="email" tabindex="-1" type="email" /&gt;&lt;input class="button primary" type="submit" value="Subscribe" /&gt;&lt;div class="fake-input-wrapper"&gt;&lt;div class="fake-input"&gt;&lt;/div&gt;&lt;div class="fake-button"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;Marvell Optical Interconnects&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Another prevalent theme at ECTC was optical interconnects and co-packaged optics. Marvell had several papers in this area, primarily on its Optical Multi-Chip Interconnect Bridge (OMIB) and Photonic Fabric, both of which it acquired through its purchase of Celestial AI earlier this year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While photonic interposers have been discussed for a few years, Marvell showed off a more localized version at ECTC. Fabricating a multi-reticle photonic interposer will likely prove challenging for yields, especially due to reticle stitching. Marvell also noted that a photonic interposer may lack features available in conventional silicon interposers such as high-density capacitors.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!RZsR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf199b53-e56e-4e81-ab1c-40ac08283250_909x275.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="275" src="https://substackcdn.com/image/fetch/$s_!RZsR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf199b53-e56e-4e81-ab1c-40ac08283250_909x275.png" width="909" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;OMIB package concept with EIC stacked on PIC and an electrical bridge embedded in an organic interposer. Source: Marvell, &amp;#8220;Optical Multi-Chip Interconnect Bridge (OMIB) Interposer Demonstration to Enable High-density Photonic Interconnects for High-Performance Computing Applications,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s approach has a photonic integrated circuit (PIC) embedded in the organic RDL interposer only where it is needed. In other regions where optical interconnects are not required, an electrical bridge can be used instead.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As the PIC is embedded in the RDL, its grating couplers would normally be obstructed after overmolding. Marvell places a silicon/glass optical block over the grating region before molding to maintain an optical path to the top, where the fiber array unit (FAU) can be attached.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell&amp;#8217;s OMIB test vehicle has one primary XPU die and six EIC dies on top. Embedded in the interposer are six PICs (big blue rectangles), six electrical bridges (thin blue rectangles) and 12 DTC dies (small blue squares). The roughly 2&amp;#215;-reticle RDL interposer uses four layers at 2/2 &amp;#181;m L/S.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!r1jx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ec27f4f-9295-4933-894e-013ee577c76a_631x650.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="650" src="https://substackcdn.com/image/fetch/$s_!r1jx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ec27f4f-9295-4933-894e-013ee577c76a_631x650.png" width="631" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Concept of OMIB with XPU-XPU interconnect and external FAU. Source: Marvell, &amp;#8220;Optical Multi-Chip Interconnect Bridge (OMIB) Interposer Demonstration to Enable High-density Photonic Interconnects for High-Performance Computing Applications,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell also showed off a conceptual multi-die XPU with optical chip-to-chip interconnects to reduce latency and hop count. Marvell claims that OMIB removes the shoreline limitations, since the same bridge can route both on-package die-to-die links and external optical interconnects. Marvell cites a bandwidth density of 1.8 Tbps/mm&amp;#178; with this approach.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!aeNu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831e1806-e179-4581-a0a0-9c63923e8343_699x613.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="613" src="https://substackcdn.com/image/fetch/$s_!aeNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831e1806-e179-4581-a0a0-9c63923e8343_699x613.jpeg" width="699" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Process flow of 2.5D OMIB integration. Source: Marvell, &amp;#8220;Optical Multi-Chip Interconnect Bridge (OMIB) Interposer Demonstration to Enable High-density Photonic Interconnects for High-Performance Computing Applications,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The process flow shown by Marvell is chip-last, similar to TSMC&amp;#8217;s CoWoS-L. Marvell builds an organic RDL interposer with embedded bridges, OMIB PICs, DTCs, and other components, with C4 bumps connecting it to the package substrate. Bridge TSVs and tall copper pillars connect to the RDL, and the ASIC dies and EICs are attached last.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!0eyl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1184e6e9-21c3-45e3-8447-213a4589e392_1250x980.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="980" src="https://substackcdn.com/image/fetch/$s_!0eyl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1184e6e9-21c3-45e3-8447-213a4589e392_1250x980.png" width="1250" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Package concepts with optical engine on substrate, OMIB and photonic interposer. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Interconnect for a Scale-up Network Solution in Accelerated Computing,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;In the near term, &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178153689/what-is-cpo-about-and-why-is-everyone-so-excited"&gt;&lt;span&gt;vertically stacked optical engines like TSMC&amp;#8217;s COUPE&lt;/span&gt;&lt;/a&gt;&lt;span&gt; are more achievable than OMIB-style connections or a full photonic interposer. Marvell connects the EIC and PIC using microbumps at 50 &amp;#181;m pitch, then mounts the resulting engine to either the package substrate or an interposer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The substrate configuration can use a UCIe-S-like parallel bus at a coarse 130 &amp;#181;m C4 pitch, while the interposer configuration can use a UCIe-A interface at a tighter ~40-45 &amp;#181;m pitch. Marvell favors the substrate approach due to its simplicity and better thermal isolation.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!ekF8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d42f8f6-fa47-4a02-9457-d42423bc299e_590x448.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="448" src="https://substackcdn.com/image/fetch/$s_!ekF8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d42f8f6-fa47-4a02-9457-d42423bc299e_590x448.jpeg" width="590" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Photonic Fabric optical link test chip EIC with four TX-RX pairs. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Interconnect for a Scale-up Network Solution in Accelerated Computing,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell tested an optical engine using a 5 nm (likely TSMC N5) EIC, with four 56 Gb/s TX-RX pairs for 224 Gb/s in each direction. The design uses &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178153689/electro-absorption-modulators-eam"&gt;&lt;span&gt;electro-absorption modulators (EAMs)&lt;/span&gt;&lt;/a&gt;&lt;span&gt; instead of the micro-ring modulators (MRMs) preferred by other companies, citing better thermal stability and a wider operating wavelength range. While these advantages are real, we believe that EAMs will prove difficult to manufacture at scale.&lt;/span&gt;&lt;/p&gt;&lt;div class="digest-post-embed"&gt;&lt;/div&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!87DB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d02464-a100-4e88-8a13-71d25c9f559c_853x446.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="446" src="https://substackcdn.com/image/fetch/$s_!87DB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28d02464-a100-4e88-8a13-71d25c9f559c_853x446.png" width="853" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;PIC steady-state temperature gradient under full XPU power on substrate, silicon interposer and silicon bridge. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Chiplets for Co-Packaged Optics in AI Data Centers,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Marvell also compared the thermal characteristics of an optical engine connected via UCIe-S on substrate and UCIe-A both on a silicon interposer and over a silicon bridge. Under full XPU load, the PIC temperature rose by less than 5&lt;/span&gt; &lt;span&gt;&amp;#176;C on the substrate, versus ~25 &amp;#176;C on the interposer and ~20 &amp;#176;C with the bridge. The organic substrate&amp;#8217;s low thermal conductivity and relatively large millimeter-scale air gap isolate the PIC. In both UCIe-A configurations, the fine-pitch silicon close to the XPU provides a low-resistance thermal path. There is also a much smaller air gap, at only ~100 &amp;#181;m, which contributes to the heating of the PIC.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!fTe-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df60c85-3774-4405-aecf-40a7b728d777_716x406.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="406" src="https://substackcdn.com/image/fetch/$s_!fTe-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df60c85-3774-4405-aecf-40a7b728d777_716x406.png" width="716" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;PIC transient temperature rise on substrate, silicon interposer and silicon bridge. Source: Marvell, &amp;#8220;Photonic Fabric&amp;#8482; Chiplets for Co-Packaged Optics in AI Data Centers,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The thermal transients occur within ~30 ms of an XPU power-state change. The PIC heats at ~10 &amp;#176;C/s on the organic substrate, versus ~100 &amp;#176;C/s with the bridge and ~120 &amp;#176;C/s on the interposer. Marvell argues that the EAM bias voltage can be adjusted electronically fast enough to track these changes, while ring modulators require heater-and-feedback loops, which are constrained by slower time constants.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Lightmatter Passage M1000&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Lightmatter has previously detailed the &lt;/span&gt;&lt;a href="https://newsletter.semianalysis.com/i/178153689/lightmatter"&gt;&lt;span&gt;Passage M1000&amp;#8217;s architecture and optical interconnects&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and has outlined its manufacturing approach. At ECTC, it provided a much deeper look at the assembly process, fiber attachment, and packaging results for integrating the multi-reticle photonic interposer with ASIC chiplets.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!t9kS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a99a955-ba9e-485a-8762-ac813c0e6d2a_652x750.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="750" src="https://substackcdn.com/image/fetch/$s_!t9kS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a99a955-ba9e-485a-8762-ac813c0e6d2a_652x750.jpeg" width="652" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Passage M1000 schematic. Source: Lightmatter, &amp;#8220;Advancing Interconnect Performance and Reliability with Innovations in 3D Photonic Integration Packaging and Fiber Coupling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The test vehicle uses chip-on-wafer assembly to attach 15 ASIC chiplets to a four-tile M1000 interposer. We estimate the interposer measures ~2100 mm&amp;#178;, about half of the 4000 mm&amp;#178; eight-tile configuration shown at Hot Chips 2025. The M1000 is highly configurable to different sizes and tile counts depending on the needs of the product.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Each of the four tiles has 32 optical waveguides at 127 &amp;#181;m pitch. Electrical signals and power travel from the substrate to the ASIC chips through the C4 bumps at ~176 &amp;#181;m pitch, two backside RDL layers, and 126 &amp;#181;m deep TSVs with a 10 &amp;#181;m width before reaching the ASIC chiplets through microbumps. The ~2100 mm&amp;#178; interposer occupies less than one-third of the 7200 mm&amp;#178; organic substrate. This ratio is closer to the logic area to package size ratio than the package-spanning interposer area of an equivalent silicon or organic RDL solution. It is unclear whether this is a consequence of the optical architecture or a design choice specific to this test vehicle.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!-G4F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef0cfb9-f088-4778-ae04-6f15db1f2c63_955x481.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="481" src="https://substackcdn.com/image/fetch/$s_!-G4F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef0cfb9-f088-4778-ae04-6f15db1f2c63_955x481.jpeg" width="955" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Passage M1000 package warpage during temperature ramp-up and cool-down. Source: Lightmatter, &amp;#8220;Advancing Interconnect Performance and Reliability with Innovations in 3D Photonic Integration Packaging and Fiber Coupling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Attaching a silicon interposer of this size to an organic substrate creates severe warpage. The module reached ~59 &amp;#181;m of warpage at the 260 &amp;#176;C reflow temperature, and ~56 &amp;#181;m after cooling back down to room temperature. With a 118 &amp;#181;m-thick interposer and C4 bumps at ~176 &amp;#181;m pitch, this is enough to compromise joint formation. Lightmatter used a magnetic fixture to hold the substrate flat during attachment and reported &amp;gt;95% electrical assembly yield, with healthy microbump and C4 joints across the package.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!qqhb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f59b30-dbe5-4d4b-843b-e055e9fda221_748x477.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="477" src="https://substackcdn.com/image/fetch/$s_!qqhb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2f59b30-dbe5-4d4b-843b-e055e9fda221_748x477.jpeg" width="748" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Thermal map of the test chip at 170 W per quadrant. Source: Lightmatter, &amp;#8220;Advancing Interconnect Performance and Reliability with Innovations in 3D Photonic Integration Packaging and Fiber Coupling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Lightmatter used a thermal test chip with four independently powered quadrants, each dissipating 170 W. This resulted in a power density of 1.47 W/mm&amp;#178; across the 369 mm&amp;#178; active area. At this power, the photonic interposer reached approximately 100 &amp;#176;C using a 25 &amp;#176;C coolant flowing at 1.8 LPM/kW. This validates cooling 680 W from a concentrated test-chip area in a package designed for more than 900 W across nearly three reticles of ASIC silicon.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Other Highlights&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span&gt;Hybrid Bonding&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Hybrid copper bonding still delivers the finest pitch and highest I/O density for HPC applications. The open problem is keeping the interface extremely flat and clean while reducing the bonding temperature. Two material approaches stood out this year.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The first uses organic dielectrics, whose mechanical compliance increases tolerance to particles and surface roughness while reducing bonding stress. Mitsui Chemicals and ASE demonstrated pressure-less Cu/polymer bonding at 200 &amp;#176;C and 10 &amp;#181;m pitch. TOK and NYCU demonstrated a 10-second bonding process at 150 &amp;#176;C. Samples bonded at 200 &amp;#176;C maintained stable resistance through reliability testing.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!YdlA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0076e249-2fbb-4b5e-8d06-4aa0e562968a_2453x1008.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="598" src="https://substackcdn.com/image/fetch/$s_!YdlA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0076e249-2fbb-4b5e-8d06-4aa0e562968a_2453x1008.jpeg" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Void-free C-SAM bonding maps for fine-grain Cu annealed at 175 &amp;#176;C and 200 &amp;#176;C. Source: Intel, &amp;#8220;Enabling Ultra Low Temperature Hybrid Bonding for D2W Scaling,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The second approach uses fine-grain copper. Its higher grain-boundary density accelerates copper diffusion at lower temperatures, and subsequent grain growth increases conductivity. Intel combined fine-grain copper with a low-temperature dielectric stack, achieving uniform wafer bonding after 175 &amp;#176;C and 200 &amp;#176;C anneals. Electrical yield was around 60% in two of three samples, although Intel described these results as a lower bound due to test vehicle and probing limitations. The experiments used wafer-to-wafer (W2W) test vehicles rather than the die-to-wafer (D2W) process targeted by the technology.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The most aggressive pitch came from Applied Materials and EV Group, which demonstrated 450 nm pitch wafer-to-wafer bonding at 98% yield across a chain of 20 million links. Failure analysis associated open links with carbon-rich benzotriazole (BTA) residue at the copper interface. A PVD TaN/Ta barrier stack significantly improved yield. CEA-Leti separately achieved greater than 97% yield after a 100 &amp;#176;C anneal without plasma activation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Together, these results show that reducing pitch and bonding temperature requires the copper, dielectric, CMP, surface preparation, and annealing to be co-optimized to achieve hybrid bonding with low warpage and no cracking. We expect continued refinement by material suppliers and equipment vendors to improve post-bond yield from 2027 onward.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;Interposer Alternatives&lt;/h3&gt;&lt;p&gt;As package sizes outgrow the practical limits of circular silicon interposers, more vendors are proposing interposer-less integration schemes beyond Intel&amp;#8217;s EMIB-T.&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!iLGS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ebd3c49-889d-4af1-89ea-019f60cc8dfe_658x149.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="149" src="https://substackcdn.com/image/fetch/$s_!iLGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ebd3c49-889d-4af1-89ea-019f60cc8dfe_658x149.png" width="658" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Schematic cross-section of FO-EB with embedded memory chiplet. Source: Intel and SPIL, &amp;#8220;3D Integration of an SRAM chiplet in Fan-Out Embedded Bridge Platform Achieving Low Energy Read/Write,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Intel and SPIL placed an SRAM chiplet in the embedded-bridge layer of a fan-out embedded bridge (FO-EB) package, connecting it vertically to the logic die through 25 &amp;#181;m pitch microbumps. The test chip reached more than 265 GB/s/mm&lt;span&gt;&amp;#178; at 0.24 pJ/b.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Panel-scale organic interposers provide another route around the size limits of silicon. Resonac demonstrated the individual process modules for a dry-film embedded-bridge interposer on a 320 mm &amp;#215; 320 mm panel, including 5 &amp;#181;m microvias and 2/2 &amp;#181;m L/S. ASE fabricated an RDL on a 600 mm &amp;#215; 600 mm panel, then divided it into four 300 mm &amp;#215; 300 mm panels for assembly with existing equipment. Its test vehicle used three RDL layers at 5/8 &amp;#181;m L/S.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!XQB4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3fed56-388d-4d8a-8aa2-53245beb7fa8_1456x1238.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1238" src="https://substackcdn.com/image/fetch/$s_!XQB4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3fed56-388d-4d8a-8aa2-53245beb7fa8_1456x1238.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Direct Bridge Multi-die with a 30 &amp;#181;m pitch silicon bridge. Source: IBM, &amp;#8220;Direct Bridge Multi-die (DBrM) Package: A Novel Silicon Bridge Chiplet Packaging Technology Using Die-Edge Gluing Technique for Chip Reconstitution,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;IBM took a more localized approach with Direct Bridge Multi-die (DBrM). Chiplets are first joined along their edges, creating a mechanically rigid subassembly around a 30 &amp;#181;m pitch silicon bridge. The subassembly withstood more than 30 N in bending tests, versus 0.2 N for IBM&amp;#8217;s previous underfill-only structure. This is a positive result for reducing warpage.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!PEVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f35e4a-0ad4-4e2c-92b7-9928d73a018a_1584x993.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="913" src="https://substackcdn.com/image/fetch/$s_!PEVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f35e4a-0ad4-4e2c-92b7-9928d73a018a_1584x993.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Chiplets connected through a silicon bridge without an interposer. Source: Unimicron, &amp;#8220;Silicon Bridges for Chiplets Heterogeneous Integration with Microbumps,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Unimicron modeled an even simpler structure requiring neither an interposer nor embedded bridges. Two chiplets connect through a thin silicon bridge mounted beneath them while attaching directly to the substrate. Unimicron&amp;#8217;s simulations show that underfill between the chiplets and bridge is necessary to control microbump strain.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;While TSMC&amp;#8217;s CoWoS-R and CoWoS-L remain limited by the circular wafer on which their RDLs are fabricated, constraining package size and wafer utilization, these alternatives shift integration to panel-level or reconstituted formats or eliminate the interposer entirely. We expect similar architectures to begin appearing in ASICs over the next several years.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Thermal Interface Materials&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In advanced thermal solutions, TSMC and its partners continue to dominate the show. TSMC&amp;#8217;s direct-to-silicon cooling removes TIM1 entirely, but most near-term systems will still need better materials between the silicon and heat spreader. TSMC&amp;#8217;s OSAT partner, SPIL, tested gallium-based liquid-metal (LM) composites, a silicone-based HS-TIM and a carbon fiber HCF-TIM, in a 55 mm &amp;#215; 55 mm FO-EB package. Their measured conductivities were 5.7 W/m&amp;#183;K and 10 W/m&amp;#183;K respectively, and both produced lower thermal resistance than a commercial silicone TIM at 4 W/m&amp;#183;K.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The two TIMs exhibited drastically different reliability outcomes, with HCF-TIM maintaining 95% coverage after 1000 hours at 150 &amp;#176;C while HS-TIM fell to only 75% as its silicone matrix hardened and partially delaminated. Both LM-based TIMs reduced thermal resistance relative to conventional S-TIM, with HCF-TIM delivering the best performance and reliability.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Purdue, the University of Aveiro, and UCLA took a different approach, embedding Cu/Sn microbumps in nanocrystalline diamond. The resulting interconnect layer reached an effective in-plane thermal conductivity of 500 to 600 W/m&amp;#183;K, around twenty times that of conventional microbumps with underfill. This is not a TIM1 replacement, but a way to spread heat laterally through the interconnect layer of a 3D stack. The process remains early, with the paper only using a single-sided test structure rather than an assembled 3D stack.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;On the other hand, we saw little discussion on SiC as TIM1 or part of thermal solutions, implying a relatively long way till maturity.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Glass Substrates&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Glass&amp;#8217;s aurora dimmed somewhat this year, with fewer innovative papers presented at ECTC. However, the unsolved problem is still SeWaRe, the lateral crack that begins at a diced glass edge under RDL stress. Georgia Tech characterized the failure experimentally. Corning used finite element analysis (FEA), peridynamics, and analytical fracture mechanics to model its propagation, showing that stiff copper layers drove cracks towards the glass midplane, while compliant polymer layers changed the crack path. Corning also found that low-CTE polymers combined with appropriate glass selection could reduce the failure risk.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!1bC9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419bb2c2-36c9-4873-873a-5428bbbd3ae1_838x575.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="575" src="https://substackcdn.com/image/fetch/$s_!1bC9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419bb2c2-36c9-4873-873a-5428bbbd3ae1_838x575.png" width="838" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Comparison of the 74 &amp;#215; 74 mm organic- and glass-core test vehicles. Source: STATS ChipPAC, &amp;#8220;Assembly and Reliability Characterization of Glass-Cored Substrate Package for AI/HPC Applications,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;STATS ChipPAC investigated the assembly and reliability of large glass-core packages. Its 74 mm &amp;#215; 74 mm glass-core packages failed every test segment without edge coating, while the edge-coated packages completed assembly and reliability testing without abnormalities. The edge coating also reduced warpage by 33.5% relative to the uncoated glass-core package. Build-up pull-back and edge coating increasingly look like requirements for reliable glass-core substrate assembly.&lt;/span&gt;&lt;/p&gt;&lt;div class="image-gallery-embed"&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;On a positive note, Intel demonstrated an industry-first 510 mm &amp;#215; 515 mm, 24-layer glass-core panel with fully copper-filled through-glass vias (TGVs), two embedded EMIB bridges, and optical waveguides co-formed between the TGVs. The large prototype was displayed at Intel&amp;#8217;s booth. It was processed on existing organic-substrate lines, while singulated units showed no SeWaRe after thermal shock testing.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;As OSAT adopters, Amkor and STATS ChipPAC measured 30-40% lower substrate-level warpage with a thinner glass core than their organic references, although assembly defects and TGV filling problems show that the process remains immature.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Glass is making real progress, but this year&amp;#8217;s data still support manufacturing development rather than high-volume adoption.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;RDL Scaling&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Finally, RDL L/S continues to shrink even as package sizes grow. The primary driver is UCIe 3.0, which supports speeds of up to 64 GT/s for future ASIC-to-ASIC and ASIC-to-HBM links. These high-speed die-to-die interconnects tighten signal integrity requirements as organic interposers grow larger and denser.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The roadmap has progressed from 10/10 &amp;#181;m line/space around 2015 to 2/2 &amp;#181;m today, with 1/1 &amp;#181;m emerging as the next target. Reaching the submicron era will require major changes to both RDL routing architectures and manufacturing processes. The process is shifting from semi-additive plating towards damascene for sub-2 &amp;#181;m copper, where CMP planarization and low-shrinkage dielectrics become the key gating steps.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Resonac used polymer damascene and panel CMP to form 2/2 &amp;#181;m wiring on a 320 mm &amp;#215; 320 mm glass panel, including a four-layer via-and-trench structure. imec and Fujifilm pushed damascene to 1/1 &amp;#181;m on 300 mm wafers. Ushio resolved 1.5/1.5 &amp;#181;m L/S over an 18-reticle field without stitching, with 16 exposures covering a full 510 mm &amp;#215; 515 mm panel. Sumitomo Bakelite and Georgia Tech showed a fully imidized liquid dielectric with only 4% cure shrinkage at a relatively low temperature of 200 &amp;#176;C and a fine 2/2 &amp;#181;m L/S.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!y3jQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28208d53-ff49-4dbc-b650-235d118c7894_1536x1024.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="971" src="https://substackcdn.com/image/fetch/$s_!y3jQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28208d53-ff49-4dbc-b650-235d118c7894_1536x1024.png" width="1456" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Design flow and STCO for UCIe-A on 8-layer CoWoS-R RDL. Source: GUC, &amp;#8220;Design of UCIe-A x64 Chiplets Integration for 16&amp;#8211;36 GT/s Using Organic Interposer,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;As the most advanced RDL manufacturer, TSMC also collaborated with GUC to present their work on 8-layer RDL scaling, which is believed to be the near-term limit of the CoWoS-R platform. GUC demonstrated an STCO-based design and validation flow for integrating a 64-bit UCIe-A interface fabricated on TSMC N3 and integrated on an 8-layer CoWoS-R RDL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Its STCO framework uses ground-signal-ground interleaved transmission lines to control crosstalk and skew, while simulations show that C4-side IPDs provide localized decoupling and reduce voltage fluctuation at the chiplet microbumps.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2 is-viewable-img" href="https://substackcdn.com/image/fetch/$s_!K5hL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb26a7f83-521f-482c-8d26-1786be1a497c_1416x1111.png" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="1111" src="https://substackcdn.com/image/fetch/$s_!K5hL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb26a7f83-521f-482c-8d26-1786be1a497c_1416x1111.png" width="1416" /&gt;&lt;div class="image-link-expand"&gt;&lt;div class="pencraft pc-display-flex pc-gap-8 pc-reset"&gt;&lt;button class="pencraft pc-reset pencraft icon-container restack-image" tabindex="0" type="button"&gt;&lt;svg fill="none" height="20" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class="pencraft pc-reset pencraft icon-container view-image" tabindex="0" type="button"&gt;&lt;svg class="lucide lucide-maximize2 lucide-maximize-2" fill="none" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"&gt;&lt;polyline points="15 3 21 3 21 9"&gt;&lt;/polyline&gt;&lt;polyline points="9 21 3 21 3 15"&gt;&lt;/polyline&gt;&lt;line x1="21" x2="14" y1="3" y2="10"&gt;&lt;/line&gt;&lt;line x1="3" x2="10" y1="21" y2="14"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Measured UCIe-A eye diagrams at 16 and 32 GT/s. Source: GUC, &amp;#8220;Design of UCIe-A x64 Chiplets Integration for 16&amp;#8211;36 GT/s Using Organic Interposer,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The design targets 16-36 GT/s with a 64-bit, 10-column UCIe-A interface at 45 &amp;#181;m bump pitch. Signal traces were routed at 2/2 &amp;#181;m across six layers, with the seventh reserved for power delivery. The test chip achieved a measured on-die eye width of 0.77 UI at 32 GT/s, while simulations showed an eye width of 0.74 UI at 36 GT/s. The results show that organic interposers can meet the signal and power integrity requirements for heterogeneous chiplet systems.&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Stacked Memory&lt;/span&gt;&lt;/h3&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!pMpH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ff3793-40e7-4ec6-88df-cf0d8c9b1fe4_652x181.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="181" src="https://substackcdn.com/image/fetch/$s_!pMpH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ff3793-40e7-4ec6-88df-cf0d8c9b1fe4_652x181.jpeg" width="652" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;Conventional wire-bond stack versus Vertical Cu post Stack. Source: Samsung, &amp;#8220;Multi Stacked FOWLP utilizing Extreme Aspect Ratio Cu Post for Mobile on-Device AI Memory Solution,&amp;#8221; ECTC 2026&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Samsung showed an approach to DRAM stacking that avoids TSVs entirely. Vertical Cu post Stack (VCS) connects four stacked memory dies through &amp;lt;56 &amp;#181;m-pitch, &amp;lt;30 &amp;#181;m-wide high-aspect-ratio copper posts embedded in molding compound, rather than etching vias through silicon, while also replacing the package substrate with an RDL. Shortening the interconnect cut power consumption by 41% versus a conventional wire-bonded stack, from 0.646 W to 0.384 W at iso-speed. Samsung also reported better signaling, with maximum data rate rising from 8.6 Gb/s to 11.8 Gb/s with only 8% higher power consumption.&lt;/span&gt;&lt;/p&gt;&lt;div class="captioned-image-container"&gt;&lt;figure&gt;&lt;a class="image-link image2" href="https://substackcdn.com/image/fetch/$s_!G2al!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa65f8822-861b-4d0c-969c-250b121bdca3_770x62.jpeg" target="_blank"&gt;&lt;div class="image2-inset"&gt;&lt;source type="image/webp" /&gt;&lt;img alt="" class="sizing-normal" height="62" src="https://substackcdn.com/image/fetch/$s_!G2al!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa65f8822-861b-4d0c-969c-250b121bdca3_770x62.jpeg" width="770" /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;&lt;span&gt;Cross-section of the four-high VCS DRAM stack connected by extreme-aspect-ratio copper posts. Source: Samsung, &amp;#8220;Multi Stacked FOWLP utilizing Extreme Aspect Ratio Cu Post for Mobile on-Device AI Memory Solution,&amp;#8221; ECTC 2026&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;The form factor also improves substantially, with package height and footprint each reduced by 40% while bandwidth increases 2.6&amp;#215; and I/O count 6&amp;#215;. Although Samsung&amp;#8217;s focus is on mobile platforms like smartphones, this approach is also promising for higher-power workloads. We believe VCS and similar approaches could help future AI accelerators reach higher bandwidth at lower power and a smaller footprint, while also enabling higher-density memory modules like SOCAMMs for server CPUs.&lt;/span&gt;&lt;/p&gt;
      &lt;p&gt;
          &lt;a href="https://newsletter.semianalysis.com/p/ectc2026"&gt;
              Read more
          &lt;/a&gt;
      &lt;/p&gt;</summary>
    <published>2026-07-02T09:25:38+00:00</published>
  </entry>
</feed>
